🔵 عنوان مقاله
It's Not Your Tests, It's Your Testability
🟢 خلاصه مقاله:
**
بیثباتی تستها همیشه تقصیر تستها نیست؛ اغلب ریشه در سیستم کمتستپذیر دارد. وقتی زمان، همروندی، تصادفیبودن یا وابستگیهای بیرونی کنترلنشده باشند، تستها ناپایدار میشوند. راهحل، ارتقای تستپذیری است: قابلکنترل و قابلمشاهده کردن سیستم، تزریق زمان و بذر تصادفی، جداسازی مرزهای شبکه با قراردادها و فیکها، و هرمتیککردن محیط تست. Gil Zilberfeld توصیه میکند برای جلب حمایت، هزینه فلیکینس را با داده نشان دهید و از بردهای کوچک (مثل افزودن seam، تزریق وابستگی برای زمان/I-O، و تستهای قراردادی) شروع کنید. با گنجاندن تستپذیری در تصمیمهای معماری و معیارهای پذیرش، تیم از آتشنشانی تستهای flaky به ساخت نرمافزار ذاتاً تستپذیر و قابلاتکا منتقل میشود.
#Testability #FlakyTests #SoftwareTesting #QualityEngineering #DevOps #ContinuousIntegration #TestDesign #Observability
🟣لینک مقاله:
https://cur.at/3RbJDxt?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
It's Not Your Tests, It's Your Testability
🟢 خلاصه مقاله:
**
بیثباتی تستها همیشه تقصیر تستها نیست؛ اغلب ریشه در سیستم کمتستپذیر دارد. وقتی زمان، همروندی، تصادفیبودن یا وابستگیهای بیرونی کنترلنشده باشند، تستها ناپایدار میشوند. راهحل، ارتقای تستپذیری است: قابلکنترل و قابلمشاهده کردن سیستم، تزریق زمان و بذر تصادفی، جداسازی مرزهای شبکه با قراردادها و فیکها، و هرمتیککردن محیط تست. Gil Zilberfeld توصیه میکند برای جلب حمایت، هزینه فلیکینس را با داده نشان دهید و از بردهای کوچک (مثل افزودن seam، تزریق وابستگی برای زمان/I-O، و تستهای قراردادی) شروع کنید. با گنجاندن تستپذیری در تصمیمهای معماری و معیارهای پذیرش، تیم از آتشنشانی تستهای flaky به ساخت نرمافزار ذاتاً تستپذیر و قابلاتکا منتقل میشود.
#Testability #FlakyTests #SoftwareTesting #QualityEngineering #DevOps #ContinuousIntegration #TestDesign #Observability
🟣لینک مقاله:
https://cur.at/3RbJDxt?m=web
➖➖➖➖➖➖➖➖
👑 @software_Labdon
TestinGil | By Gil Zilberfeld
It’s Not Your Tests, It’s Your Testability | TestinGil
Let's talk about that test. The one that's always flaky. The one that takes twenty minutes to run and fails for a different reason every time. Your first instinct is to blame the test. Maybe the locator is wrong, maybe the wait time isn't long enough. But…