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