کتاب ساختاردهی کلاسها برای تست آسان: راهنمای عملی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
249,950 تومان
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساختاردهی کلاسها برای تست آسان: راهنمای عملی
موضوع کلی: طراحی و توسعه نرمافزار
موضوع میانی: معماری نرمافزار و تستپذیری
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری نرمافزار و تستپذیری
- 2. اصول طراحی کلاسهای قابل تست
- 3. مفهوم وابستگی و کنترل معکوس (IoC)
- 4. الگوی تزریق وابستگی (Dependency Injection)
- 5. انواع تزریق وابستگی: سازنده، تنظیمکننده، و رابط
- 6. استفاده از رابطها (Interfaces) برای کاهش وابستگی
- 7. اصل تک مسئولیتی (Single Responsibility Principle)
- 8. اصل باز/بسته (Open/Closed Principle)
- 9. اصل جایگزینی لیسکوف (Liskov Substitution Principle)
- 10. اصل تفکیک رابط (Interface Segregation Principle)
- 11. اصل وارونگی وابستگی (Dependency Inversion Principle)
- 12. تست واحد (Unit Testing) و اهمیت آن
- 13. چارچوبهای تست واحد در زبانهای مختلف برنامهنویسی
- 14. نوشتن تستهای مؤثر و قابل اعتماد
- 15. Mocking و Stubbing: جایگزینی وابستگیها در تست
- 16. تستمحور طراحی (Test-Driven Development - TDD)
- 17. چرخه TDD: قرمز، سبز، بازسازی
- 18. مزایای استفاده از TDD
- 19. معایب و چالشهای استفاده از TDD
- 20. الگوهای طراحی برای تستپذیری
- 21. الگوی Factory برای ایجاد اشیاء
- 22. الگوی Abstract Factory برای ایجاد خانوادههای اشیاء
- 23. الگوی Strategy برای تغییر رفتار الگوریتمها
- 24. الگوی Template Method برای تعریف اسکلت الگوریتم
- 25. الگوی Observer برای اطلاعرسانی تغییرات به اشیاء وابسته
- 26. الگوی Decorator برای افزودن مسئولیتهای جدید به اشیاء
- 27. الگوی Adapter برای سازگارسازی رابطهای ناسازگار
- 28. الگوی Facade برای سادهسازی رابطهای پیچیده
- 29. الگوی Proxy برای کنترل دسترسی به اشیاء
- 30. تست یکپارچگی (Integration Testing)
- 31. تست سیستم (System Testing)
- 32. تست پذیرش (Acceptance Testing)
- 33. تست خودکار (Automated Testing)
- 34. Continuous Integration (CI) و Continuous Delivery (CD)
- 35. ابزارهای CI/CD
- 36. اهمیت پوشش کد (Code Coverage)
- 37. اندازهگیری و تحلیل پوشش کد
- 38. بهبود پوشش کد با نوشتن تستهای بیشتر
- 39. اصول نامگذاری مناسب برای کلاسها و متدها
- 40. مستندسازی کد برای افزایش خوانایی و تستپذیری
- 41. بازبینی کد (Code Review) و اهمیت آن
- 42. استفاده از ابزارهای تحلیل کد استاتیک
- 43. مدیریت وابستگیها (Dependency Management)
- 44. نسخهبندی کد (Version Control) با Git
- 45. الگوهای طراحی برای مدیریت خطاها
- 46. استفاده از Exception Handling برای مدیریت خطاها
- 47. نوشتن تست برای مدیریت خطاها
- 48. بهینهسازی کد برای بهبود عملکرد
- 49. شناسایی گلوگاههای عملکرد
- 50. استفاده از ابزارهای پروفایلینگ
- 51. تست بار (Load Testing) و تست استرس (Stress Testing)
- 52. امنیت در معماری نرمافزار
- 53. جلوگیری از آسیبپذیریهای رایج
- 54. تست امنیتی (Security Testing)
- 55. معماری میکروسرویسها و تستپذیری
- 56. تست میکروسرویسها
- 57. استفاده از Containerization (Docker) برای تست
- 58. تست APIها (Application Programming Interfaces)
- 59. تست رابط کاربری (UI Testing)
- 60. تست موبایل (Mobile Testing)
- 61. تست وب (Web Testing)
- 62. تست پایگاه داده (Database Testing)
- 63. تست عملکرد (Performance Testing)
- 64. تست قابلیت استفاده (Usability Testing)
- 65. تست امنیتی وب (Web Security Testing)
- 66. تست نفوذ (Penetration Testing)
- 67. استفاده از ابزارهای تست خودکار وب
- 68. تست A/B (A/B Testing)
- 69. تست چند متغیره (Multivariate Testing)
- 70. تست رگرسیون (Regression Testing)
- 71. تست اکتشافی (Exploratory Testing)
- 72. تست دودهای (Smoke Testing)
- 73. تست sanity
- 74. تست Beta
- 75. برنامهریزی تست
- 76. مستندسازی نتایج تست
- 77. گزارشگیری از نتایج تست
- 78. مدیریت باگها (Bug Management)
- 79. اصول طراحی برای مقیاسپذیری
- 80. استفاده از الگوهای Cache
- 81. استفاده از Message Queues
- 82. تست توزیعشده (Distributed Testing)
- 83. تست سیستمهای بلادرنگ (Real-time Systems Testing)
- 84. تست سیستمهای تعبیهشده (Embedded Systems Testing)
- 85. تست سیستمهای یادگیری ماشین (Machine Learning Systems Testing)
- 86. تست هوش مصنوعی (Artificial Intelligence Testing)
- 87. تست سیستمهای بزرگ و پیچیده
- 88. چالشهای تست نرمافزارهای بزرگ
- 89. استفاده از روشهای Agile و Scrum در تست
- 90. تست در محیطهای DevOps
- 91. تست در محیطهای Cloud
- 92. تست سرورلس (Serverless Testing)
- 93. تست بلاکچین (Blockchain Testing)
- 94. تست قراردادهای هوشمند (Smart Contract Testing)
- 95. تست امنیت قراردادهای هوشمند
- 96. تست سیستمهای توزیعشده بلاکچین
- 97. تست سیستمهای مبتنی بر هوش مصنوعی و بلاکچین
تگها:
Building Testable Classes
اصول طراحی
تست پذیری نرم افزار
تست واحد
توسعه نرم افزار
ساختار کد
طراحی معماری
کد نویسی تمیز
کلاس های قابل تست
معماری نرم افزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.