Software Engineer Labdon
600 subscribers
43 photos
4 videos
2 files
753 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
🔵 عنوان مقاله
Mastering Pytest: The Complete Guide to Modern Python Testing

🟢 خلاصه مقاله:
این مقاله با عنوان Mastering Pytest: The Complete Guide to Modern Python Testing مروری جامع و عملی بر Pytest برای توسعه‌دهندگان Python ارائه می‌دهد. نویسنده، Sharath Chandran، از راه‌اندازی و ساختار پروژه تا امکانات کلیدی مانند fixtures، parametrization، markers و assertهای خوانا را پوشش می‌دهد و سپس به مباحث پیشرفته‌ای مثل افزونه‌های pytest-cov و pytest-xdist، استفاده از Hypothesis برای property-based testing، mocking با unittest.mock یا pytest-mock، تست‌های async و ابزارهایی مانند tmp_path و monkeypatch می‌پردازد. همچنین ادغام تست‌ها با CI/CD (مانند GitHub Actions و GitLab CI و Jenkins)، تولید گزارش‌ها و اعمال آستانه‌های coverage و نکات بهترین‌روش‌ها برای ساخت تست‌های سریع، پایدار و قابل‌نگهداری توضیح داده می‌شود. نتیجه اینکه چه برای شروع با Pytest و چه برای ارتقای مهارت‌ها، این راهنما الگوها و نکات کاربردی لازم برای مدرن‌سازی فرآیند تست در Python را فراهم می‌کند.

#Pytest #Python #Testing #TestAutomation #SoftwareTesting #TDD #CICD

🟣لینک مقاله:
https://cur.at/5l6Ats4?m=web


👑 @software_Labdon
🔵 عنوان مقاله
API Testing vs Browser Automation

🟢 خلاصه مقاله:
دغدغه انتخاب بین API Testing و Browser Automation در وب‌اپ‌ها با یک رویکرد ترکیبی حل می‌شود: بیشترین پوشش را با تست‌های سریع و پایدار API بگیرید و تعداد کمی سناریوی UI انتها‌به‌انتها را برای مسیرهای واقعاً حیاتی نگه دارید. API Testing برای قوانین کسب‌وکار، اعتبارسنجی داده، احراز هویت/مجوزها و Contract Tests سریع و قابل اتکاست؛ در مقابل، UI فقط برای چیزی که صرفاً UI می‌تواند ثابت کند ارزش دارد: تجربه کاربر، رندر، مسیرها و رفتار واقعی مرورگر. برای کاهش شکنندگی، داده‌سازی/پاک‌سازی را از طریق API انجام دهید، سرویس‌های ثالث را Stub/Mock کنید، بین سرویس‌ها Contract Tests داشته باشید و لایه UI را کوچک اما پرارزش حفظ کنید. معیار تصمیم‌گیری ساده است: اگر پرسش درباره درست‌بودن منطق است، API؛ اگر درباره تکمیل‌شدن سفر واقعی کاربر است، UI. با رصد زمان اجرا و نرخ فِلِیک در CI، مجموعه تست را پیوسته بهینه کنید تا هم بازخورد سریع بماند و هم اطمینان عملی بالا برود.

#APITesting #BrowserAutomation #TestAutomation #EndToEndTesting #TestingPyramid #QA #CICD #SoftwareTesting

🟣لینک مقاله:
https://cur.at/Efk7ahy?m=web


👑 @software_Labdon
👍1
🔵 عنوان مقاله
How We Utilize AI Agents in Our Testing and Quality Processes

🟢 خلاصه مقاله:
این مقاله با روایت Utku Kılınçcı چهار کاربرد عملی از به‌کارگیری AI agents در تست و تضمین کیفیت را توضیح می‌دهد: ۱) تبدیل نیازمندی‌ها به تست‌های قابل اجرا و به‌روزرسانی مداوم سبد تست با تغییرات مشخصات، ۲) نقش همکار اکتشافی برای کشف سناریوهای مرزی، ثبت شواهد و بازتولید مشکل، ۳) تحلیل و اولویت‌بندی باگ‌ها از طریق خلاصه‌سازی لاگ‌ها، خوشه‌بندی خطاها و ارائه سرنخ‌های ریشه‌یابی، و ۴) بهبود پایداری رگرسیون و درگاه‌های کیفی CI با شناسایی تست‌های flaky، پیشنهاد خوددرمانی و بهینه‌سازی پایپ‌لاین. در همه موارد، نظارت انسانی، رعایت حریم داده و سنجش نتایج (پوشش، MTTR، روند flakiness و زمان چرخه) ضروری است. نتیجه: پذیرش تدریجی AI agents روی مسائل واقعی، سرعت، پایداری و پوشش تست را به‌طور ملموس افزایش می‌دهد بی‌آنکه مالکیت کیفیت را تضعیف کند.

#SoftwareTesting #AIagents #QualityAssurance #TestAutomation #BugTriage #ContinuousIntegration #SoftwareQuality #DevOps

🟣لینک مقاله:
https://cur.at/qRpZzn9?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Writing custom Cypress plug-ins that solve common software testing problems

🟢 خلاصه مقاله:
اکوسیستم افزونه‌های Cypress به تیم‌ها اجازه می‌دهد فراتر از امکانات پیش‌فرض، چالش‌های واقعی تست را حل کنند؛ از کاهش ناپایداری تست‌ها و مدیریت محیط و داده تا یکپارچه‌سازی گزارش‌ها و سرویس‌های بیرونی. Kanika Vatsyayan توضیح می‌دهد چگونه با شناسایی یک مسئله تکراری، طراحی یک API ساده، ساخت پکیج npm، ثبت tasks در Node hook، افزودن تنظیمات و مثال‌های عملی، و همچنین تست و TypeScript typings، یک افزونه قابل اتکا بسازید. او بر نسخه‌بندی شفاف، سازگاری با نسخه‌های مختلف Cypress، کارایی، امنیت داده‌ها، مستندسازی و انتشار در npm تاکید می‌کند تا افزونه‌ها قابل نگهداری و قابل استفاده توسط جامعه باشند. نتیجه این است که با چند الگوی ساده و نمونه‌های واقعی، هر کسی می‌تواند راه‌حل‌های خود را به‌صورت افزونه منتشر کرده و به اکوسیستم تست کمک کند.

#Cypress
#SoftwareTesting
#QA
#JavaScript
#Plugins
#Automation
#OpenSource
#EndToEndTesting

🟣لینک مقاله:
https://cur.at/pj9uiDZ?m=web


👑 @software_Labdon