کتاب نگارش خودکار و اصولی آزمونهای واحد (Unit Tests) در توسعهٔ نرمافزار با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره نگارش خودکار و اصولی آزمونهای واحد (Unit Tests) در توسعهٔ نرمافزار
موضوع کلی: مهندسی نرمافزار و توسعهٔ پایدار
موضوع میانی: تضمین کیفیت نرمافزار
📋 سرفصلهای دوره
- 1. مقدمهای بر اصول مهندسی نرمافزار پایدار
- 2. اهمیت تضمین کیفیت در چرخهٔ عمر نرمافزار
- 3. مبانی آزمونهای واحد (Unit Tests)
- 4. اهداف کلیدی آزمونهای واحد
- 5. تفاوت آزمونهای واحد با سایر سطوح آزمون
- 6. انتخاب ابزار مناسب برای آزمونهای واحد
- 7. معرفی فریمورکهای رایج آزمون واحد در زبان پایتون
- 8. نصب و پیکربندی pytest
- 9. مفاهیم پایه در pytest: تستها، ماژولها و کلاسها
- 10. نوشتن اولین تست واحد با pytest
- 11. اصول نامگذاری استاندارد برای تستها
- 12. استفاده از assertion ها برای اعتبارسنجی نتایج
- 13. مدیریت دادههای تست: fixtures
- 14. مقدمهای بر fixtures در pytest
- 15. انواع fixtures: function, class, module, session
- 16. نوشتن fixtures سفارشی
- 17. استفاده از پارامترسازی در fixtures
- 18. مدیریت وابستگیها در تستها
- 19. نکات پیشرفته در استفاده از fixtures
- 20. تست کلاسها و متدهای آنها
- 21. تست توابع و ماژولها
- 22. تست استثناها (Exceptions)
- 23. استفاده از pytest.raises
- 24. تست مقادیر بازگشتی توابع
- 25. تست شرطی و مدیریت پوشش کد
- 26. مقدمهای بر پوشش کد (Code Coverage)
- 27. ابزارهای محاسبهٔ پوشش کد
- 28. کار با pytest-cov
- 29. تفسیر گزارشهای پوشش کد
- 30. افزایش پوشش کد بدون افت کیفیت
- 31. اصول طراحی تستهای واحد مؤثر
- 32. اصل FIRST برای طراحی تستها
- 33. تستهای اتمی و مستقل
- 34. تستهای قابل تکرار و پایدار
- 35. تستهای سریع و کارآمد
- 36. تستهای خودکار و قابل اجرا
- 37. اصول طراحی نرمافزار برای قابلیت تست
- 38. اصل SOLID و ارتباط آن با تستپذیری
- 39. طراحی توابع و کلاسهای با وابستگی کم
- 40. استفاده از تزریق وابستگی (Dependency Injection)
- 41. مقدمهای بر Mocking و Patching
- 42. چرا به Mocking نیاز داریم؟
- 43. تفاوت Mocking و Stubbing
- 44. استفاده از unittest.mock در پایتون
- 45. روشهای Mocking: patch, MagicMock
- 46. Mocking کلاسها و متدها
- 47. Mocking توابع ماژولها
- 48. Mocking فراخوانیهای خارجی
- 49. مدیریت زمان در تستها
- 50. تست توابع وابسته به زمان
- 51. استفاده از time.sleep در تستها
- 52. Mocking ماژول time
- 53. تست عملیات I/O
- 54. تست خواندن و نوشتن فایلها
- 55. Mocking عملیات فایل
- 56. تست ارتباط با پایگاه داده
- 57. مقدمهای بر تست پایگاه داده
- 58. استفاده از fixtures برای پایگاه داده
- 59. Mocking ارتباط با پایگاه داده
- 60. تست API های وب
- 61. مقدمهای بر تست API
- 62. استفاده از requests و pytest
- 63. Mocking فراخوانیهای API
- 64. تست برنامههای کاربردی با رابط کاربری گرافیکی (GUI)
- 65. ملاحظات تست GUI
- 66. استفاده از ابزارهای تست GUI
- 67. تست برنامههای خط فرمان (CLI)
- 68. تست ورودیها و خروجیهای CLI
- 69. استفاده از pytest-plugin-console
- 70. مدیریت مجموعه تستها
- 71. گروهبندی تستها با mark ها
- 72. استفاده از pytest.mark.skip و pytest.mark.xfail
- 73. مدیریت تستهای طولانی و کند
- 74. اجرای موازی تستها
- 75. تنظیمات pytest: pytest.ini
- 76. سفارشیسازی رفتار pytest
- 77. پلاگینهای مفید برای pytest
- 78. pytest-xdist برای اجرای توزیعشده
- 79. pytest-html برای گزارشدهی HTML
- 80. pytest-mock برای Mocking سادهتر
- 81. مقدمهای بر تستهای ادغام (Integration Tests)
- 82. تفاوت تست واحد و تست ادغام
- 83. نوشتن تستهای ادغام ساده
- 84. استفاده از fixtures برای تست ادغام
- 85. تست سناریوهای پیچیدهتر
- 86. مدیریت محیطهای تست
- 87. استفاده از Docker برای محیطهای تست
- 88. تست در محیطهای CI/CD
- 89. مقدمهای بر Pipeline های CI/CD
- 90. تنظیم pytest در Jenkins, GitLab CI, GitHub Actions
- 91. نکات مهم در اتوماسیون تست
- 92. اصول نوشتن تستهای پایدار در CI
- 93. مدیریت خطاها در تستها
- 94. گزارشدهی خطاها و رفع اشکال
- 95. تکنیکهای دیباگ کردن تستها
- 96. مقدمهای بر TDD (Test-Driven Development)
- 97. چرخهٔ قرمز-سبز-بازسازی
- 98. مزایای TDD
- 99. کاربرد TDD در توسعهٔ نرمافزار
- 100. مقدمهای بر BDD (Behavior-Driven Development)
تگها:
Unit Test
آزمون نرم افزار
تست نویسی
تست واحد
تضمین کیفیت نرم افزار
توسعه نرم افزار
کدنویسی اصولی
مهندسی نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.