دوره تست خودکار برای پلتفرمهای خرید و فروش لوازم منزل دست دوم همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب تست خودکار برای پلتفرمهای خرید و فروش لوازم منزل دست دوم
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای کتاب (100 موضوع)
- 1. اهمیت تست در توسعه نرمافزار
- 2. تست فرانتاند چیست و چه تفاوتی با سایر تستها دارد؟
- 3. آشنایی با پلتفرمهای خرید و فروش دست دوم و چالشهای تست آنها
- 4. تست دستی در مقابل تست خودکار: مزایا و معایب
- 5. معرفی انواع تست فرانتاند (Unit, Integration, E2E)
- 6. چرا در این دوره بر تست End-to-End (E2E) تمرکز میکنیم؟
- 7. معرفی ابزارهای مدرن تست E2E (Cypress, Playwright, Selenium)
- 8. چرا Cypress را برای این دوره انتخاب کردهایم؟
- 9. مروری بر HTML, CSS, و JavaScript برای تسترها
- 10. آشنایی با Document Object Model (DOM) و اهمیت آن در تست خودکار
- 11. چگونه از ابزارهای توسعهدهنده مرورگر (DevTools) برای تست استفاده کنیم
- 12. مفاهیم پایهای HTTP/HTTPS و درخواستهای وب
- 13. نقش APIها در اپلیکیشنهای فرانتاند
- 14. هرم تست و جایگاه تست E2E
- 15. ساختار دوره و معرفی پروژه نهایی
- 16. نصب پیشنیازها: Node.js و npm/yarn
- 17. راهاندازی محیط کدنویسی (VS Code) و افزونههای مفید
- 18. ایجاد یک پروژه جدید و مقداردهی اولیه آن
- 19. نصب Cypress و آشنایی با ساختار پوشههای آن
- 20. اجرای Cypress برای اولین بار و معرفی Test Runner
- 21. بررسی و پیکربندی فایل `cypress.config.js`
- 22. ساختار یک فایل تست (describe, it)
- 23. نوشتن اولین تست: باز کردن صفحه اصلی وبسایت
- 24. اجرای تست از طریق Test Runner
- 25. اجرای تستها از طریق خط فرمان (CLI)
- 26. انتخابگرها (Selectors): مبانی انتخاب المانها
- 27. استفاده از انتخابگرهای CSS برای یافتن المانها
- 28. استفاده از `cy.get()` و بهترین روشها
- 29. مفهوم زنجیرهسازی دستورات (Command Chaining) در Cypress
- 30. تعامل با المانها: `click()`, `type()`, `clear()`
- 31. کار با فرمها: ورود متن و انتخاب از منوهای کشویی
- 32. کار با چکباکسها و دکمههای رادیویی
- 33. مفهوم Assertions و اهمیت آن در تست
- 34. Assertionهای ضمنی (Implicit Assertions) در Cypress
- 35. استفاده از `should()` و `and()` برای Assertionهای صریح (Explicit Assertions)
- 36. استفاده از `expect` برای Assertionهای پیچیدهتر
- 37. مدیریت زمانهای انتظار (Timeouts) و دستور `wait()`
- 38. ناوبری بین صفحات با `cy.visit()`
- 39. بررسی و تایید URL صفحه با `cy.url()`
- 40. بررسی و تایید عنوان صفحه با `cy.title()`
- 41. یافتن المانها بر اساس محتوای متنی با `cy.contains()`
- 42. پیمایش در DOM: `find()`, `parent()`, `children()`
- 43. کار با لیستها و تکرار روی المانها با دستور `.each()`
- 44. تست آپلود فایل (مثلاً عکس برای آگهی)
- 45. استفاده از هوکها: `beforeEach()`, `afterEach()`, `before()`, `after()`
- 46. مدیریت متغیرها و استفاده از نامهای مستعار (Aliases)
- 47. روشهای دیباگ کردن تستها: `debug()` و `pause()`
- 48. گرفتن اسکرینشات و ویدئو از اجرای تستها
- 49. سازماندهی تستها در فایلها و پوشههای مختلف
- 50. تست صفحه اصلی: وجود المانهای کلیدی (هدر، فوتر، بنر)
- 51. تست عملکرد جستجوی کالا
- 52. اعتبارسنجی نتایج جستجو
- 53. تست فیلتر کردن نتایج بر اساس دستهبندی
- 54. تست فیلتر کردن نتایج بر اساس محدوده قیمت
- 55. تست فیلتر کردن نتایج بر اساس وضعیت کالا (نو، در حد نو)
- 56. تست مرتبسازی نتایج (جدیدترین، ارزانترین، گرانترین)
- 57. تست صفحهبندی (Pagination) نتایج جستجو
- 58. تست ورود به صفحه جزئیات محصول (Product Detail Page)
- 59. اعتبارسنجی اطلاعات در صفحه محصول (عنوان، قیمت، توضیحات)
- 60. تست گالری تصاویر محصول
- 61. تست عملکرد دکمه "افزودن به علاقهمندیها"
- 62. تست عملکرد دکمه "تماس با فروشنده" یا "نمایش شماره"
- 63. تست فرآیند ثبتنام کاربر جدید
- 64. تست اعتبارسنجی فیلدهای فرم ثبتنام
- 65. تست فرآیند ورود کاربر (Login)
- 66. تست مدیریت خطا در ورود (رمز یا نام کاربری اشتباه)
- 67. تست خروج کاربر از حساب کاربری (Logout)
- 68. مدیریت وضعیت لاگین بودن کاربر بین تستها
- 69. تست صفحه پروفایل کاربری و مشاهده اطلاعات
- 70. تست مشاهده لیست آگهیهای ثبتشده توسط کاربر
- 71. تست ورود به صفحه فرم "ثبت آگهی جدید"
- 72. تست اعتبارسنجی فیلدهای فرم ثبت آگهی
- 73. تست ثبت موفق یک آگهی جدید
- 74. تست ویرایش یک آگهی موجود
- 75. تست حذف یک آگهی
- 76. مقدمهای بر تست واکنشگرایی (Responsive Design)
- 77. تست وبسایت در اندازههای مختلف صفحه نمایش با `cy.viewport()`
- 78. معرفی الگوی طراحی Page Object Model (POM)
- 79. پیادهسازی الگوی POM در پروژه تست
- 80. ایجاد دستورات سفارشی (Custom Commands) برای سادگی تستها
- 81. تست دادهمحور (Data-Driven Testing) با استفاده از Fixtures
- 82. مدیریت دادههای تست با فایلهای JSON در پوشه Fixtures
- 83. مفهوم Mock کردن درخواستهای API
- 84. استفاده از `cy.intercept()` برای کنترل درخواستهای شبکه
- 85. تست فرانتاند در حالت ایزوله با Stub کردن پاسخهای سرور
- 86. تست نمایش پیام خطا از سمت سرور
- 87. کار با کوکیها و Local Storage
- 88. مدیریت Session برای لاگین سریع و یکباره در تستها
- 89. مقدمهای بر تست رگرسیون بصری (Visual Regression Testing)
- 90. آشنایی با ابزارهای تست بصری (مانند Percy یا Applitools)
- 91. مقدمهای بر تست دسترسپذیری (Accessibility - a11y)
- 92. اجرای خودکار تستهای دسترسپذیری با cypress-axe
- 93. اجرای تستها روی مرورگرهای مختلف (Cross-Browser Testing)
- 94. مقدمهای بر Continuous Integration و Continuous Delivery (CI/CD)
- 95. راهاندازی تستهای خودکار با GitHub Actions
- 96. نوشتن فایل پیکربندی workflow برای اجرای تستها
- 97. اجرای تستها در حالت Headless
- 98. اجرای موازی تستها برای افزایش سرعت
- 99. گزارشگیری از نتایج تست
- 100. آشنایی با Cypress Dashboard برای مدیریت و تحلیل نتایج
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.