Software Engineer Labdon
609 subscribers
43 photos
4 videos
2 files
762 links
👑 Software Labdon

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
"Why didn't testing find this issue?" Because you desire something that doesn't exist!

🟢 خلاصه مقاله:
وقتی خطایی به تولید می‌رسد، پرسش تکراری این است: «چرا تست‌ها این مشکل را پیدا نکردند؟» Maaike Brinkhof می‌گوید ریشه‌ی این پرسش اشتباه است، چون چنین قطعیتی از تست انتظار داریم که اصلاً وجود ندارد. تست فقط می‌تواند اعتماد را افزایش دهد و ریسک‌ها را آشکار کند؛ هرگز نمی‌تواند نبودِ باگ را ثابت کند.

به‌جای سرزنش «تست»، بحث را به مسئولیت جمعی و یادگیری سیستمی تغییر دهیم: «چطور فرایند، فرض‌ها و طراحی ما اجازه‌ی فرار این باگ را داده‌اند؟» عوامل رایج شامل ابهام در نیازها، تفاوت محیط‌ها با تولید، داده‌ی ناکافی، مشاهده‌پذیری ضعیف، یا مصالحه‌های زمان‌بندی است. مجموعه تست‌ها فقط نمونه‌ای از واقعیت‌اند، نه تمام آن.

راه‌حل، مدیریت ریسک و بهبود چرخه‌های بازخورد است: تقویت logging و telemetry، استفاده از feature flag و انتشار تدریجی، بهبود تست‌های قرارداد و سفرهای حیاتی کاربر، و سرمایه‌گذاری روی تست اکتشافی برای کشف ناشناخته‌ها. با postmortem بدون سرزنش بپرسیم: ریسک را درست فهمیدیم؟ نظارت ما برای کشف سریع و محدودکردن دامنه مشکل کافی بود؟ داده و محیط مناسب داشتیم؟ آیا pairing، بازبینی یا risk storming می‌توانست زودتر هشدار بدهد؟

جمع‌بندی: تست تضمین نیست؛ ابزاری برای آشکارسازی و مدیریت ریسک است. به‌جای انتظار قطعیت، روی کشف سریع‌تر، عرضه‌های ایمن‌تر و تصمیم‌های هوشمندانه درباره محل سرمایه‌گذاری تمرکز کنیم.

#SoftwareTesting #QualityEngineering #BlamelessPostmortem #RiskBasedTesting #Testability #Observability #DevOps #Agile

🟣لینک مقاله:
https://cur.at/7DobXrn?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