اپلیکیشن اندرویدی فلشکارت آموزشی نگارش خودکار و اصولی آزمونهای واحد (Unit Tests) در توسعهٔ نرمافزار
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره نگارش خودکار و اصولی آزمونهای واحد (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)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.