کتاب تکنیکهای Test Integration برای پوشش سناریوهای چند کامپوننتی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره آموزشی تکنیکهای Test Integration برای پوشش سناریوهای چند کامپوننتی دوره جامع تکنیکهای Test Integration: ساخت اپلیکیشنهای فرانتاند ضدگلوله آیا از باگهای غیرمنتظره در زمان تعامل کامپوننتها خس...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تکنیکهای Test Integration برای پوشش سناریوهای چند کامپوننتی
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر تست نرمافزار و اهمیت آن
- 2. چرا تست فرانتاند ضروری است؟
- 3. انواع تستها در توسعه فرانتاند: مروری جامع
- 4. درک هرم یا جام تست: جایگاه تست یکپارچهسازی
- 5. تعریف تست یکپارچهسازی (Integration Test) در فرانتاند
- 6. تفاوت تست یکپارچهسازی با تست واحد و تست E2E
- 7. چالشهای رایج در تست یکپارچهسازی فرانتاند
- 8. معرفی اجزا و سناریوهای چند کامپوننتی
- 9. انتخاب و نصب Test Runner: Jest و Vitest
- 10. آشنایی با Testing Library (React Testing Library/Vue Test Utils)
- 11. پیکربندی اولیه پروژه برای تست (babel, ts-jest, vite-plugin-test)
- 12. نوشتن اولین تست: Hello World کامپوننت
- 13. ساختاردهی فایلهای تست و پوشهبندی
- 14. اجرای تستها و درک خروجی Test Runner
- 15. ابزارهای Debugging تستها در فرانتاند
- 16. فلسفه Testing Library: تست رفتار کاربر
- 17. انتخاب عناصر DOM: Query Methods (getBy, queryBy, findBy)
- 18. اولویتبندی Queryها: Best Practices
- 19. شبیهسازی تعاملات کاربر: fireEvent و user-event
- 20. کار با ورودیهای کاربر: text, checkbox, radio, select
- 21. اعتبارسنجی وضعیت UI: Assertions (expect)
- 22. معرفی Matcherهای پرکاربرد در Jest
- 23. تست قابلیتهای نمایش/عدم نمایش عناصر
- 24. مدیریت زمانبندی و تست عملیات Asynchronous
- 25. استفاده از waitFor و findBy برای انتظار تغییرات UI
- 26. درک مفهوم کامپوننتهای والد و فرزند
- 27. تست یک کامپوننت والد با Mock کردن فرزند
- 28. تست یک کامپوننت فرزند با Props از والد
- 29. شبیهسازی Emit کردن رویدادها از فرزند به والد
- 30. تست ارسال و دریافت داده از طریق Props
- 31. بررسی تغییرات DOM در اثر تعاملات کامپوننت
- 32. تست کامپوننتهایی با چندین نمونه از یک فرزند
- 33. تست کامپوننتهای HOC (Higher-Order Components)
- 34. تست Render Prop Patterns
- 35. استفاده از `render` با Wrapperهای سفارشی
- 36. تست تعامل بین کامپوننتهای همسطح (Siblings)
- 37. سناریوهای تعاملی پیچیده: چندین کامپوننت در یک فرم
- 38. تست گردش کار کاربر در یک مجموعه از کامپوننتها
- 39. شبیهسازی یکپارچگی کامپوننتها بدون Backend واقعی
- 40. تست سناریوهای Modal و Dialogs (باز و بسته شدن، تعاملات داخلی)
- 41. تست کامپوننتهای Dropdown و Autocomplete
- 42. تست Tabbed Interfaces و نمایش محتوای مرتبط
- 43. تست کامپوننتهای Pagination و فیلترگذاری
- 44. تست Drag and Drop (با استفاده از کتابخانههای کمکی یا شبیهسازی)
- 45. تست کامپوننتهای Tree View و Nested Structures
- 46. تست کامپوننتهای متصل به Context API
- 47. فراهم کردن Context Provider در تستها
- 48. Mock کردن مقادیر Context برای تستهای ایزوله
- 49. تست تغییرات وضعیت از طریق Context
- 50. تست کامپوننتهای متصل به Redux/Zustand/Pinia
- 51. راهاندازی Store در تستهای یکپارچهسازی
- 52. شبیهسازی دیسپچ کردن Actionها و انتخاب State
- 53. تست کامپوننتهای وابسته به Router (React Router, Vue Router)
- 54. فراهم کردن Router Context در تستها
- 55. شبیهسازی ناوبری بین صفحات/مسیرها
- 56. تست Linkها و Redirectها
- 57. تست پارامترهای URL و Query Stringها
- 58. مدیریت تاریخچه مرورگر در تستها
- 59. معرفی عملیات ناهمگام در فرانتاند (Promises, async/await)
- 60. تست کامپوننتهایی که داده از API واکشی میکنند
- 61. الگوهای تست برای حالتهای Loading، Success و Error
- 62. استفاده از `act` برای اطمینان از بهروزرسانیهای React (در صورت نیاز)
- 63. تست Debounce و Throttle در تعاملات کاربر
- 64. تست عملیات WebSocket (مقدماتی، Mocking)
- 65. تست Cache و Invalidating Queryها (React Query, SWR)
- 66. اهمیت Mocking در تستهای یکپارچهسازی
- 67. ابزارهای Mocking HTTP Request: MSW (Mock Service Worker)
- 68. راهاندازی MSW برای تستهای مرورگر و Node
- 69. تعریف Request Handlerها برای سناریوهای مختلف
- 70. شبیهسازی پاسخهای Error، Loading و Empty State
- 71. Mock کردن توابع و ماژولهای جاوااسکریپت (jest.mock)
- 72. Mock کردن Timerها و Date (jest.useFakeTimers)
- 73. Mock کردن مرورگر APIها (localStorage, sessionStorage)
- 74. Mock کردن کتابخانههای UI خارجی (مثال: Chart.js)
- 75. استراتژیهای Mocking داده برای سناریوهای پیچیده
- 76. تست فرمهای چند مرحلهای (Multi-step Forms)
- 77. تست اعتبارسنجیهای پیچیده فرم
- 78. تست دسترسپذیری (Accessibility) در تستهای یکپارچهسازی (jest-axe)
- 79. تست بینالمللیسازی (i18n) در کامپوننتها
- 80. تست تمها و حالت تاریک/روشن (Theme/Dark Mode)
- 81. تست انیمیشنها و Transitionها در کامپوننتها
- 82. تست یکپارچهسازی با کتابخانههای شخص ثالث UI
- 83. تست کامپوننتهای مربوط به آپلود فایل
- 84. تست سناریوهای مربوط به Geolocation و Notification API
- 85. تست Print Layouts و CSS Media Queries
- 86. تست نمایش پیامهای خطا به کاربر
- 87. تست رفتار برنامه در مواجهه با APIهای ناموفق
- 88. تست سناریوهای Empty State و No Data
- 89. تست مجوزها و دسترسیهای کاربر (Authentication/Authorization)
- 90. تست سناریوهای Timeouts و Network Issues
- 91. بهبود عملکرد تستها: موازیسازی و تفکیک تستها
- 92. اندازهگیری پوشش کد (Code Coverage) و اهمیت آن
- 93. گزارشدهی تستها در CI/CD (Continuous Integration/Continuous Deployment)
- 94. رفع Flaky Tests (تستهای ناپایدار)
- 95. استراتژیهای تست رگرسیون (Regression Testing)
- 96. تستهای Snapshot برای تشخیص تغییرات ناخواسته UI
- 97. ادغام تستهای یکپارچهسازی در Pipeline توسعه
- 98. Test-Driven Development (TDD) در تستهای کامپوننتی
- 99. بازفاکتورینگ تستها و نگهداری مجموعه تست
- 100. آینده تست فرانتاند و Test Integration: خلاصهبندی و گامهای بعدی
تگها:
API testing
Component Testing
E2E testing
frontend testing
Programming
Software Development
software testing
test automation
Test Integration
اتوماسیون تست
برنامه نویسی
تست API
تست End-to-End
تست UI
تست فرانت اند
تست نرم افزار
تست یکپارچگی
توسعه نرم افزار
سناریوهای چند کامپوننتی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.