# مشخصات درس‌نامه: اهداف فصل نهم (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. **کال‌اوت نکته کوئرا (`
`):** تغییر نگرش نسبت به باگ‌ها؛ باگ‌ها دشمن نیستند، بلکه نشانه‌هایی شفاف برای هدایت دقیق‌تر ایجنت هستند. ### آنچه نباید وارد آن شویم (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 (`
`):** ثبت دکمه «خواندم» و آغاز فرایند شکار باگ‌ها. --- ## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) - [ ] اهداف کلان فصل ۹ و اهمیت دیباگ سیستماتیک با زبان رسا و حرفه‌ای تبیین شده باشد. - [ ] سرفصل‌های ۶ درس‌نامه بعدی با ترتیب منطقی معرفی گردند. - [ ] استراتژی ترکیبی تست خودکار با ایجنت و چک‌لیست دستی انسان صریحاً تشریح شود.