دوره تکنیکهای Test Isolation for Independent and Repeatable Tests همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تکنیکهای Test Isolation for Independent and Repeatable Tests
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر تست نرمافزار
- 2. چرا تستنویسی برای فرانتاند اهمیت دارد؟
- 3. هرم تست: Unit, Integration, End-to-End
- 4. مفهوم Test Isolation: چرا تستها باید مستقل باشند؟
- 5. مشکلات تستهای وابسته (Dependent Tests): شکنندگی و کندی
- 6. مزایای تستهای مستقل: تکرارپذیری و قابلیت اطمینان
- 7. آشنایی با محیطهای تست فرانتاند: Jest, Vitest, Cypress
- 8. معرفی Test Doubles: Mocks, Stubs, Spies, Fakes
- 9. تفاوت بین Mock, Stub و Spy
- 10. مقدمهای بر کتابخانه React Testing Library
- 11. فلسفه Testing Library: تست رفتار کاربر، نه جزئیات پیادهسازی
- 12. بخش دوم: جداسازی وابستگیهای شبکه (Network Dependencies)**
- 13. چرا باید درخواستهای شبکه را در تستها ایزوله کنیم؟
- 14. معرفی Mock Service Worker (MSW) برای جداسازی کامل API
- 15. راهاندازی MSW در محیط تست
- 16. نوشتن اولین تست با Mock کردن یک درخواست GET
- 17. Mock کردن درخواستهای POST, PUT, DELETE
- 18. شبیهسازی سناریوهای خطا: کدهای 4xx و 5xx
- 19. مدیریت وضعیتهای Loading در کامپوننتها با Mocking
- 20. تست کامپوننتهایی که چندین درخواست API ارسال میکنند
- 21. جداسازی تستهای WebSocket
- 22. استفاده از Cypress Intercept برای Mock کردن API در تستهای E2E
- 23. بخش سوم: جداسازی وابستگیهای ماژول و توابع (Module & Function Dependencies)**
- 24. مفهوم Mock کردن ماژولها در Jest/Vitest
- 25. استفاده از `jest.mock` برای جایگزینی یک ماژول
- 26. استفاده از `jest.spyOn` برای نظارت بر فراخوانی توابع
- 27. تفاوت بین Mock کردن کامل و Spy کردن
- 28. جایگزینی پیادهسازی یک تابع (Stubbing)
- 29. Mock کردن Exportهای Default و Named
- 30. چالشهای Mock کردن ماژولهای ES Modules
- 31. Mock کردن کتابخانههای थर्ड-Party (مانند date-fns, lodash)
- 32. چرا و چگونه کتابخانههای Analytics را Mock کنیم؟
- 33. جداسازی کامپوننتها از کتابخانههای UI خارجی
- 34. بخش چهارم: جداسازی وابستگیهای محیطی و سراسری (Global & Environmental Dependencies)**
- 35. چالشهای تست کدی که به `window` یا `document` وابسته است
- 36. Mock کردن `localStorage` و `sessionStorage`
- 37. کنترل زمان در تستها: `setTimeout` و `setInterval`
- 38. استفاده از Fake Timers در Jest/Vitest
- 39. Mock کردن `Date` برای تستهای وابسته به زمان
- 40. جداسازی تستها از متغیرهای محیطی (Environment Variables)
- 41. Mock کردن APIهای مرورگر مانند Geolocation یا Fetch
- 42. تست کدهای وابسته به ابعاد صفحه (Screen Size)
- 43. مدیریت `matchMedia` در تستهای کامپوننتهای Responsive
- 44. بخش پنجم: جداسازی وضعیت و داده (State & Data Isolation)**
- 45. اهمیت ایزوله بودن State بین تستها
- 46. الگوی Arrange-Act-Assert (AAA) برای ساختاردهی تستها
- 47. استفاده از `beforeEach` و `afterEach` برای پاکسازی وضعیت
- 48. تست کامپوننتها با Propsهای مختلف
- 49. Mock کردن Context Provider در React
- 50. چگونه هوکهای سفارشی (Custom Hooks) را به صورت ایزوله تست کنیم؟
- 51. تست کامپوننتهای وابسته به React Router
- 52. Mock کردن کتابخانههای مدیریت وضعیت (State Management) مانند Redux یا Zustand
- 53. تست ایزوله Selectors و Actions در Redux
- 54. ایجاد دادههای Mock با استفاده از Factory Pattern
- 55. بخش ششم: پیادهسازی عملی با React Testing Library**
- 56. راهاندازی پروژه نمونه با Create React App و Testing Library
- 57. نوشتن اولین تست برای یک کامپوننت ساده
- 58. آشنایی با کوئریهای `getBy`, `findBy`, `queryBy`
- 59. انتخاب بهترین کوئری برای تستهای مقاوم
- 60. شبیهسازی تعاملات کاربر با `user-event`
- 61. تست یک فرم ساده: ورود متن و کلیک دکمه
- 62. تست اعتبارسنجی (Validation) فرم به صورت ایزوله
- 63. تست کامپوننتی که داده از API میخواند (با MSW)
- 64. تست نمایش پیامهای خطا و موفقیت
- 65. تست ناوبری (Navigation) در برنامه با Mock کردن Router
- 66. بخش هفتم: تکنیکهای پیشرفته Mocking**
- 67. پیادهسازی Mock به صورت دستی (Manual Mocks)
- 68. استفاده از Module Factory برای ساخت Mockهای پیچیده
- 69. Mock کردن بخشی از یک ماژول (Partial Mocking)
- 70. نگهداری و مدیریت Mockها در پروژههای بزرگ
- 71. Snapshot Testing: مزایا، معایب و کاربرد در تستهای ایزوله
- 72. تست کامپوننتهای Higher-Order (HOCs)
- 73. تست Render Props به صورت ایزوله
- 74. مبارزه با Over-Mocking: چه زمانی Mock نکنیم؟
- 75. تست کدهای Asynchronous غیر از درخواستهای شبکه
- 76. استراتژیهای تست برای Micro-Frontends
- 77. بخش هشتم: تستهای End-to-End ایزوله با Cypress**
- 78. مقدمهای بر جداسازی در تستهای E2E
- 79. راهاندازی Cypress و اولین تست
- 80. استفاده از `cy.intercept()` برای کنترل کامل شبکه
- 81. Stub کردن پاسخهای API در سناریوهای مختلف
- 82. استفاده از Fixtures برای مدیریت دادههای Mock
- 83. کنترل وضعیت برنامه از طریق `cy.window()`
- 84. جداسازی تستها با لاگین برنامهریزیشده (Programmatic Login)
- 85. استفاده از Custom Commands برای تکرارپذیری Setup
- 86. تست بصری (Visual Regression Testing) در محیط ایزوله
- 87. ایزوله کردن تستها از سرویسهای थर्ड-Party مانند درگاه پرداخت
- 88. بخش نهم: بهترین شیوهها و الگوها (Best Practices & Patterns)**
- 89. نامگذاری خوانا و معنادار برای تستها
- 90. ساختاردهی فایلهای تست در پروژه
- 91. استفاده از Faker.js برای تولید دادههای Mock واقعگرایانه
- 92. الگوی ضد-تست (Anti-Pattern): تست جزئیات پیادهسازی
- 93. الگوی ضد-تست: انتخابگرهای (Selectors) شکننده
- 94. تست دسترسپذیری (Accessibility - a11y) در کامپوننتهای ایزوله
- 95. نوشتن تست برای مدیریت خطاهای غیرمنتظره
- 96. Refactoring کد تست: چگونه تستهای تمیز بنویسیم؟
- 97. اندازهگیری پوشش کد (Code Coverage) و درک محدودیتهای آن
- 98. دیباگ کردن تستهای ناموفق: ابزارها و تکنیکها
- 99. بخش دهم: جمعبندی و مراحل بعدی**
- 100. مرور اصول کلیدی تستهای مستقل و تکرارپذیر
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.