feat: add chapter 09-testing-and-debugging specs

This commit is contained in:
2026-09-05 22:20:23 +08:00
parent d6c371f485
commit 5b26a487c1
6 changed files with 661 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
# مشخصات درس‌نامه: اهداف فصل نهم (Chapter Goals)
- **شناسه در سیلابس:** `L9.1`
- **فصل:** فصل ۹: تست و Debugging (Ch 9)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۵ دقیقه
- **پیش‌نیازهای مستقیم:** `L7.8` (امنیت پایگاه داده با RLS)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** چرا مهارت تست و دیباگ سیستماتیک، مرز تعیین‌کننده میان یک وایب کدر آماتور که با اولین باگ تسلیم می‌شود با یک معمار حرفه‌ای و خونسرد است.
- [ ] **درک کند (Understand):** نقشه راه ۶ درس‌نامه تخصصی این فصل (از چرایی خطای ایجنت‌ها، انواع تست‌های نرم‌افزاری، چک‌لیست تضمین کیفیت QA، تکنیک‌های پیشرفته دیباگ با هوش مصنوعی تا کالبدشکافی خطاهای متداول) چگونه چیده شده است.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** رویکرد ترکیبی «تست‌های خودکار با ایجنت‌ها (Agentic Testing) به همراه راستی‌آزمایی دستی انسان (Human QA)» را به عنوان استراتژی استاندارد ارزیابی کند.
- [ ] **به‌کار ببندد (Apply):** پروژه محوری دوره (پورتفولیوی پویا با پنل ادمین و سئو) را تحت آزمون‌های جامع تاب‌آوری و اعتبارسنجی کیفیت قرار دهد.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **ورود به فاز ارتقای کیفیت و پایداری محصول:**
* نوشتن کد آسان است؛ تضمین اینکه کد در سناریوهای واقعی زیر بار کاربران خرد نشود، هنر واقعی مهندسی است.
2. **مرور سرفصل‌های فصل ۹:**
* درس ۹.۲: چرا ایجنت‌های هوش مصنوعی اشتباه می‌کنند؟ (کالبدشکافی توهم، حافظه فرسوده و فراموشی ناخواسته فایل‌های مرتبط).
* درس ۹.۳: انواع تست نرم‌افزاری (Unit، Integration و E2E) و تولید خودکار تست‌ها توسط ایجنت با ابزارهایی نظیر Vitest و Playwright.
* درس ۹.۴: تست دستی و چک‌لیست طلایی تضمین کیفیت (QA Checklist) برای ارزیابی فرم‌ها، موبایل و وضعیت‌های استثنایی.
* درس ۹.۵: تکنیک‌های پیشرفته دیباگ با AI (شکار ریشه خطا با ایزوله‌سازی، استفاده از لاگ‌های سرور و کامپوزر Cursor).
* درس ۹.۶: کالبدشکافی و حل خطاهای متداول (خطاهای Next.js، خطاهای اتصال دیتابیس و خطاهای دور باطل ایجنت).
3. **پروژه محوری (پورتفولیوی پویا):**
* آزمایش تمام فیچرها: ویترین، دیتابیس Supabase، لاگین ادمین، فرم‌های سئو و واکنش‌گرایی بدون کوچک‌ترین باگ پنهان.
4. **دستورات چندسکویی:**
* ارائه دستورات اجرای تست‌ها در قالب منوهای کشویی اختصاصی برای Windows، macOS و Linux.
5. **کال‌اوت نکته کوئرا (`<details class="green">`):** تغییر نگرش نسبت به باگ‌ها؛ باگ‌ها دشمن نیستند، بلکه نشانه‌هایی شفاف برای هدایت دقیق‌تر ایجنت هستند.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- مباحث تست نفوذ امنیتی پیشرفته و هک اخلاقی (فصل ۱۱).
- تست‌های بار سرور و مانیتورینگ آنلاین لاگ‌ها در محیط ابری (فصل ۱۳).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Quality Assurance (QA) | تضمین کیفیت نرم‌افزار | فرآیند سیستماتیک اطمینان از عملکرد صحیح، بدون نقص و پایدار محصول پیش از انتشار |
| Systematic Debugging | دیباگ سیستماتیک | روش گام‌به‌گام و علمی برای کشف ریشه اصلی خطا به جای حدس‌های تصادفی |
| Agentic Testing | تست‌نویسی مبتنی بر ایجنت | استفاده از هوش مصنوعی برای تولید، اجرا و تحلیل نتایج تست‌های خودکار نرم‌افزار |
| Regression Bug | باگ پس‌رفتی | خطایی که بر اثر ایجاد یک تغییر جدید، باعث خراب شدن بخش‌های قبلاً سالم برنامه می‌شود |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور مدرن با تم تیره که یک رادار دیجیتال اسکن‌کننده نئونی را در حال ردیابی و نشانه‌گذاری حشرات و باگ‌های نرم‌افزاری در کدهای پروژه نشان می‌دهد.
2. **نقشه راه فصل ۹:** `images/chapter-9-roadmap.png`
* **موضوع:** اینفوگرافیک گام‌به‌گام از چرایی اشتباه ایجنت $\rightarrow$ انواع تست‌ها $\rightarrow$ چک‌لیست QA $\rightarrow$ تکنیک‌های دیباگ $\rightarrow$ حل خطاهای متداول $\rightarrow$ محصول ضدضربه.
3. **چرخه آزمون دوگانه (هوش مصنوعی + ناظر انسان):** `images/dual-testing-loop.png`
* **موضوع:** دیاگرام تعاملی: ایجنت تست‌های خودکار را اجرا می‌کند $\rightarrow$ انسان چک‌لیست سناریوهای کاربری را در مرورگر راستی‌آزمایی می‌نماید.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# اهداف فصل نهم: تست و Debugging؛ تبدیل نرم‌افزار به محصولی ضدضربه`
2. **مقدمه کوتاه:** چرا آرامش یک توسعه‌دهنده در مواجهه با خطاهای قرمز، بزرگ‌ترین سلاح اوست؟
3. **جدول کاور درس**
4. **سرفصل‌های کلیدی فصل در یک نگاه:** مرور ۶ ایستگاه سنجش کیفیت و دیباگ.
5. **جدول نقشه راه یادگیری فصل**
6. **رویکرد دوگانه دوره: تست‌های خودکار ایجنت در کنار نگاه تیزبین انسان:** تقسیم وظایف در دنیای وایب کدینگ.
7. **پورتفولیوی پویا در اتاق آزمایش:** آماده‌سازی پروژه برای عبور از سخت‌ترین سناریوهای شکست.
8. **کال‌اوت آرامش‌بخش Quera (`<details class="green">`):** ثبت دکمه «خواندم» و آغاز فرایند شکار باگ‌ها.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] اهداف کلان فصل ۹ و اهمیت دیباگ سیستماتیک با زبان رسا و حرفه‌ای تبیین شده باشد.
- [ ] سرفصل‌های ۶ درس‌نامه بعدی با ترتیب منطقی معرفی گردند.
- [ ] استراتژی ترکیبی تست خودکار با ایجنت و چک‌لیست دستی انسان صریحاً تشریح شود.