کتاب تست اپلیکیشن‌های تک‌صفحه‌ای (SPAs)

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

📚 کتاب آموزشی جامع

📚 اطلاعات کتاب

عنوان کتاب: کتاب تست اپلیکیشن‌های تک‌صفحه‌ای (SPAs)

موضوع کلی: برنامه نویسی

موضوع میانی: تست فرانت‌اند

📋 سرفصل‌های کتاب (100 موضوع)

  • 1. مقدمه‌ای بر تست نرم‌افزار و اهمیت آن در فرانت‌اند
  • 2. آشنایی با اپلیکیشن‌های تک‌صفحه‌ای (SPAs) و معماری آن‌ها
  • 3. چالش‌های خاص تست SPAs: مسیریابی، مدیریت state، رندرینگ ناهمگام
  • 4. معرفی هرم تست (Testing Pyramid) و کاربرد آن در فرانت‌اند
  • 5. تفاوت تست دستی و تست خودکار
  • 6. مفاهیم پایه: Assertion, Mocking, Stubbing, Spying
  • 7. انواع تست: Black Box, White Box, Gray Box
  • 8. راه‌اندازی محیط توسعه برای تست (Node.js, npm/yarn)
  • 9. معرفی ابزارهای کلیدی: Jest, React Testing Library, Cypress
  • 10. مقدمه‌ای بر تست واحد (Unit Testing)
  • 11. معرفی Jest به عنوان Test Runner
  • 12. نصب و پیکربندی اولیه Jest
  • 13. ساختار یک فایل تست: `describe`, `it`, `test`
  • 14. نوشتن اولین تست واحد برای یک تابع خالص (Pure Function)
  • 15. آشنایی با Matchers در Jest (`toBe`, `toEqual`, `toBeTruthy`)
  • 16. Matchers پیشرفته‌تر (`toContain`, `toMatchObject`, `toThrow`)
  • 17. تست کدهای ناهمگام (Asynchronous): Promises و async/await
  • 18. استفاده از هوک‌های کمکی: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`
  • 19. مفهوم Mocking و چرایی استفاده از آن
  • 20. Mock کردن توابع و ماژول‌ها با `jest.fn()` و `jest.spyOn()`
  • 21. تایمرهای Mock با Jest (`useFakeTimers`)
  • 22. معرفی React Testing Library (RTL) و فلسفه آن
  • 23. رندر کردن کامپوننت‌ها با `render`
  • 24. آشنایی با کوئری‌های RTL: `getBy`, `queryBy`, `findBy`
  • 25. اولویت‌بندی کوئری‌ها: `getByRole`, `getByLabelText`, `getByText`
  • 26. شبیه‌سازی رویدادهای کاربر با `fireEvent`
  • 27. استفاده از `user-event` برای شبیه‌سازی تعاملات واقعی‌تر
  • 28. تست کامپوننت‌های نمایشی (Presentational Components)
  • 29. تست state و props در کامپوننت‌ها
  • 30. کار با `waitFor` برای مدیریت رندرینگ ناهمگام
  • 31. تست نمایش شرطی (Conditional Rendering)
  • 32. تست لیست‌ها و رندر کردن آیتم‌ها
  • 33. تست هوک‌های سفارشی (Custom Hooks)
  • 34. Mock کردن Context API برای تست کامپوننت‌های وابسته
  • 35. تست کامپوننت‌های فرم و ورودی‌های کاربر
  • 36. تست اعتبارسنجی فرم (Form Validation)
  • 37. مفهوم Snapshot Testing: چیستی و کاربرد
  • 38. ایجاد، به‌روزرسانی و مدیریت Snapshot ها
  • 39. مزایا و معایب Snapshot Testing
  • 40. Mock کردن درخواست‌های شبکه (API Calls) با `jest.mock`
  • 41. استفاده از کتابخانه Mock Service Worker (MSW) برای Mock کردن API
  • 42. مقدمه‌ای بر تست یکپارچه‌سازی (Integration Testing)
  • 43. تفاوت تست واحد و یکپارچه‌سازی در عمل
  • 44. تست تعامل بین چند کامپوننت والد و فرزند
  • 45. تست یکپارچگی با کتابخانه‌های مدیریت state (مانند Redux یا Zustand)
  • 46. نوشتن تست برای Redux Actions و Reducers
  • 47. تست کامپوننت‌های متصل به Redux Store
  • 48. Mock کردن Redux Store برای تست‌های یکپارچه‌سازی
  • 49. تست سیستم مسیریابی (Routing) در SPA
  • 50. تست Navigation و Redirects
  • 51. تست Protected Routes و احراز هویت
  • 52. پوشش کد (Code Coverage) چیست و چرا مهم است؟
  • 53. تولید و تحلیل گزارش Code Coverage با Jest
  • 54. بهترین شیوه‌ها برای نوشتن تست‌های واحد و یکپارچه‌سازی
  • 55. مقدمه‌ای بر تست سرتاسری (End-to-End Testing)
  • 56. معرفی Cypress به عنوان ابزار E2E
  • 57. نصب و راه‌اندازی اولین پروژه Cypress
  • 58. آشنایی با Cypress Test Runner و رابط کاربری آن
  • 59. نوشتن اولین تست E2E: بازدید از صفحه و بررسی عنوان
  • 60. انتخاب المان‌ها در Cypress: `cy.get`, `cy.contains`
  • 61. تعامل با المان‌ها: `click()`, `type()`, `select()`
  • 62. Assertion ها در Cypress با `should` و `and`
  • 63. مدیریت انتظار (Waits) در Cypress: Automatic Waiting
  • 64. تست سناریوهای کاربر پیچیده (User Flows)
  • 65. تست کامل فرآیند ثبت‌نام و ورود کاربر
  • 66. استفاده از Fixtures برای مدیریت داده‌های تست
  • 67. Mock کردن درخواست‌های شبکه با `cy.intercept()`
  • 68. استفاده از Custom Commands برای ایجاد دستورات قابل استفاده مجدد
  • 69. کار با متغیرهای محیطی (Environment Variables)
  • 70. اجرای تست‌ها در مرورگرهای مختلف
  • 71. اجرای تست‌های E2E به صورت Headless
  • 72. عیب‌یابی (Debugging) تست‌ها در Cypress
  • 73. ساختاردهی تست‌های E2E برای پروژه‌های بزرگ
  • 74. بهترین شیوه‌ها برای نوشتن تست‌های E2E پایدار و قابل اعتماد
  • 75. مقدمه‌ای بر تست رگرسیون بصری (Visual Regression Testing)
  • 76. استفاده از ابزارهایی مانند Percy یا Applitools
  • 77. مقدمه‌ای بر تست دسترس‌پذیری (Accessibility Testing - a11y)
  • 78. ادغام ابزارهای a11y مانند `axe-core` با Jest و Cypress
  • 79. مقدمه‌ای بر تست کارایی (Performance Testing) در فرانت‌اند
  • 80. استفاده از Lighthouse برای تحلیل کارایی
  • 81. تست کارایی در پایپ‌لاین CI/CD
  • 82. تست واکنش‌گرایی (Responsive Design Testing) با Cypress
  • 83. مقدمه‌ای بر تست امنیت در فرانت‌اند (Cross-Site Scripting, etc.)
  • 84. استراتژی‌های تست Cross-Browser
  • 85. مفهوم یکپارچه‌سازی مداوم و تحویل مداوم (CI/CD)
  • 86. ادغام تست‌های واحد و یکپارچه‌سازی در CI (GitHub Actions)
  • 87. ادغام تست‌های E2E در پایپ‌لاین CI/CD
  • 88. گزارش‌گیری و اطلاع‌رسانی نتایج تست در CI/CD
  • 89. استفاده از Docker برای ایجاد محیط تست پایدار
  • 90. توسعه مبتنی بر تست (Test-Driven Development - TDD) در فرانت‌اند
  • 91. چرخه TDD: Red-Green-Refactor
  • 92. توسعه مبتنی بر رفتار (Behavior-Driven Development - BDD)
  • 93. نوشتن سناریوها با Gherkin (Given, When, Then)
  • 94. ادغام BDD با Cypress با استفاده از `cypress-cucumber-preprocessor`
  • 95. ایجاد فرهنگ کیفیت و تست در تیم توسعه
  • 96. ملاحظات تست برای Vue.js (با Vue Test Utils)
  • 97. ملاحظات تست برای Angular (با Karma و Jasmine)
  • 98. جمع‌بندی دوره و مرور مفاهیم کلیدی
  • 99. مسیر آینده: موضوعات پیشرفته و ابزارهای نوین در تست فرانت‌اند
  • 100. **تست End-to-End (E2E) و نقش آن در اطمینان از تجربه کاربری کامل در SPAs**

📚 محتوای این محصول آموزشی (پکیج کامل)

💡 این محصول یک نسخهٔ کامل و جامع است

تمامی محتوای آموزشی این کتاب در قالب یک بسته‌ی کامل و یکپارچه ارائه می‌شود و شامل تمام نسخه‌ها و فایل‌های موردنیاز برای یادگیری است.

🎁 محتویات کامل بسته دانلودی

🎯 این بسته یک دورهٔ آموزشی کامل و چندلایه است؛ شامل کتاب‌ها، تمرین‌ها و خودآزمایی .


ℹ️ نکات مهم هنگام خرید

  • این محصول به صورت فایل دانلودی کامل ارائه می‌شود و نسخهٔ چاپی ندارد.
  • توجه: لینک‌های اختصاصی دوره طی حداکثر 24 ساعت پس از ثبت سفارش ارسال می‌شوند.
  • دقت کنید لینک ها به شماره موبایل شما ارسال می شوند. پس در ارائه شماره موبایل صحیح دقت کنید.
  • برای راهنمایی در مورد نحوه دانلود به شماره 09395106248 پیامک دهید یا تماس بگیرید. (ایده آل ترین گزینه ارسال پیام در یکی از پیام رسان ها به همین شماره است تا سریعا لینک های کتاب همانجا برای شما ارسال گردد.)
  • اگر پرداخت انجام شده ولی بعد از 24 ساعت هنوز لینک‌ها را دریافت نکرده‌اید، نام و نام خانوادگی و نام محصول را پیامک کنید تا لینک‌ها دوباره ارسال شوند.

💬 راه‌های ارتباطی پشتیبانی:
واتس‌اپ یا هر پیام رسان داخلی یا پیامک: 09395106248
تلگرام: @ma_limbs

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.