12 KiB
12 KiB
مشخصات درسنامه: بررسی خروجی، تست دستی و چکلیست تضمین کیفیت (QA Checklist)
- شناسه در سیلابس:
L9.4 - فصل: فصل ۹: تست و Debugging (Ch 9)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۱۵ دقیقه
- پیشنیازهای مستقیم:
L9.3(انواع تست و اهمیت آنها)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): چرا تستهای خودکار سبز (Automated Tests) هرگز کافی نیستند و چرا بررسی چشمی، تست دستی اکتشافی (Exploratory Testing) و بازبینی خطبهخط تغییرات (Diff Review) آخرین سنگر دفاعی محصول هستند.
- تحلیل/ارزیابی کند (Evaluate): تغییرات کدی که ایجنت در فایلهای پروژه ایجاد کرده است را با مهارت Code Review غیربرنامهنویسی (بررسی کدهای اضافه، پکیجهای مخفی، کلیدهای هاردکد شده و کامپوننتهای دستنخورده) ارزیابی کند.
- بهکار ببندد (Apply): چکلیست جامع تضمین کیفیت (QA Checklist) ۱۰ مرحلهای شامل: اعتبارسنجی فرمها، سناریوهای مرزی (Edge Cases)، وضعیتهای خطا، رفتار در صفحات کوچک موبایل، وضعیت بدون اینترنت و رندر فونتهای فارسی را روی پورتفولیوی شخصی اجرا کند.
- ایجاد کند (Create): یک پرامپت استاندارد گزارش تست دستی به همراه اسکرینشات و شرح گامبهگام بازتولید باگ (Reproduction Steps) تدوین کند تا ایجنت مشکل را در اولین تلاش رفع کند.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- تفاوت تست خودکار و احساس کاربر واقعی:
- کامپیوترها منطق شرطها را میسنجند، اما چشم انسان ناهماهنگی چیدمان، شکستن خط متن، دکمههای ناخوانا و حس بد کاربر را درک میکند.
- هنر Code Review بدون نیاز به تسلط بر نحو برنامهنویسی:
- خواندن Git Diff در Cursor و VS Code: آیا فقط فایلهای مرتبط تغییر کردهاند؟
- شناسایی «کدهای سرگردان و فراموششده» (Ghost Code / Hallucinated Imports).
- کشف کلیدهای محرمانه و توکنهایی که ممکن است ناخواسته داخل کامپوننتها نوشته شده باشند.
- چکلیست ۱۰ گانه QA برای وایب کدرها:
- ۱. تست مسیرهای بحرانی (Happy Path): لاگین ادمین، ثبت پروژه، ذخیره تنظیمات سئو.
- ۲. تست ورودیهای مخرب و غیرمعمول (Edge Cases): فیلدهای بسیار طولانی، کاراکترهای ایموجی، متن خالی و لینکهای نامعتبر.
- ۳. تست نمایش در موبایل واقعی و صفحات باریک (۳۲۰ تا ۳۹۰ پیکسل).
- ۴. بررسی تایپوگرافی فارسی و راستچین (RTL) در تمام فرمها و خطاها.
- ۵. تست وضعیتهای شبکه: قطع اتصال، اینترنت کند و خطاهای سرور.
- ۶. چک کردن مسیرهای ناموجود (صفحه ۴۰۴ اختصاصی).
- ۷. تست دسترسیپذیری سریع (فوکوس با کلید Tab روی دکمهها و فرمها).
- ۸. تست خروج از سیستم (Logout) و پاک شدن سشنها.
- ۹. بازبینی کنسول مرورگر برای نبود هشدارهای زرد و خطاهای قرمز (Hydration Errors).
- ۱۰. تست کش مرورگر و رفرش سخت (Hard Reload).
- جعبه پرامپت طلایی گزارش باگ به ایجنت:
- فرمول گزارش باگ: «رفتار مورد انتظار (Expected) + رفتار واقعی رخ داده (Actual) + گامهای بازتولید (Steps) + اسکرینشات یا خطای کنسول».
- دستورات چندسکویی برای بررسی پروژه و ساخت Build تست:
- اجرای تست ساخت کامل (
npm run build) برای کشف خطاهای زمان کامپایل قبل از تست دستی.
- اجرای تست ساخت کامل (
- کالاوتهای آموزشی و هشدار کوئرا:
- کالاوت بنفش (
<details class="violet">): مفهوم تست اکتشافی (Monkey Testing / Exploratory Testing). - کالاوت سبز (
<details class="green">): توصیه به تست با گوشی واقعی به جای شبیهساز مرورگر. - کالاوت قرمز (
<details class="red">): تله «تأیید کورکورانه تغییرات ایجنت» (Accept All بدون دیدن Diff).
- کالاوت بنفش (
آنچه نباید وارد آن شویم (Out-of-Scope):
- مباحث تکنیکال تست نفوذ امنیتی SQL Injection و XSS پیشرفته (فصل ۱۱).
- ابزارهای تحلیل رفتار کاربر مانند Hotjar و مانیتورینگ آنلاین لاگهای سرور بعد از دیپلوی (فصل ۱۳).
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Code Review | بازبینی کد | بررسی دقیق تغییرات پیش از اعمال در شاخه اصلی پروژه برای کشف باگ و خطای ناخواسته |
| Git Diff | نمایش تفاوت کدها | ابزار بصری مقایسه نسخه قبلی و تغییرات جدید با رنگ سبز (اضافه) و قرمز (حذف) |
| Exploratory Testing | تست اکتشافی | آزمودن آزادانه نرمافزار توسط انسان برای پیدا کردن رفتارهای غیرمنتظره و عجیب |
| Edge Case | حالت حدی و نامتعارف | شرایط استثنایی یا ورودیهای غیرمعمول که معمولاً در سناریوهای عادی تست از قلم میافتند |
| Reproduction Steps | گامهای بازتولید خطا | مراحل ترتیبی و گامبهگامی که هر فرد برای تکرار دقیق باگ در سیستم باید طی کند |
| Blind Acceptance | پذیرش کورکورانه | خطای رایج زدن دکمه «قبول همه تغییرات» ایجنت بدون خواندن فایلهای دستکاریشده |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تصاویر باید در پوشهٔ
images/ذخیره شده و در جدول تکخانهای قرار گیرند:
- تصویر کاور درس:
images/cover.png- موضوع: کاربری با ذرهبین دیجیتال در حال بررسی کدهای پروژه روی یک تبلت و تیک زدن چکلیست تضمین کیفیت.
- پنجره بازبینی Diff در ادیتور:
images/git-diff-inspection.png- موضوع: نمایش خطوط قرمز (حذفشده) و سبز (اضافهشده) در ابزار کامپوزر Cursor با نشانهگذاری کدهای خطرناک یا اضافه.
- اینفوگرافیک چکلیست ۱۰ مرحلهای QA:
images/qa-checklist-infographic.png- موضوع: طراحی بصری ۱۰ گام بازرسی طلایی با آیکونهای فرم، موبایل، شبکه، کنسول و سشن ادمین.
- گزارش باگ سیستماتیک در گفتگو با ایجنت:
images/structured-bug-report-prompt.png- موضوع: چتباکس ادیتور که گزارش منظم خطا با فرمت ۴ مرحلهای به ایجنت ارائه شده و ایجنت در حال اصلاح دقیق است.
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# بررسی خروجی، تست دستی و چکلیست تضمین کیفیت (QA Checklist) - مقدمه: ایجنت میگوید «کار تمام شد و تستها سبز است!»؛ اما آیا پروژه واقعاً در دستان کاربر کار میکند؟
- جدول کاور درس
- استعاره بازرس ساختمان در برابر کارگران ساختمانی:
- بناها آجرها را میچینند، اما بازرس با چکلیست لولهکشی، برق، فشار آب و ارگونومی درها را بررسی میکند. شما بازرس کل پروژه خود هستید.
- مهارت بازبینی کد (Code Review) برای افراد غیربرنامهنویس:
- سه سؤالی که هنگام دیدن Git Diff باید بپرسید:
- آیا فایلی که ربطی به این تسک ندارد تغییر کرده است؟
- آیا پکیج عجیب یا خط کدی با کامنتهای عجیب اضافه شده؟
- آیا کد کارآمد قبلی تصادفاً پاک یا سادهسازی نشده است؟
- سه سؤالی که هنگام دیدن Git Diff باید بپرسید:
- چکلیست ۱۰ گانه QA برای وایب کدرها (با تمرکز روی پروژه پورتفولیو):
- شرح گامبهگام تست هر بخش: فرم لاگین ادمین، ثبت مشخصات، اعتبارسنجی ارقام، وضعیت بدون نت، و رسپانسیو بودن.
- باکس نکته Quera (
<details class="violet">): تست اکتشافی و تکنیک «میمون بازیگوش» (تایپ کاراکترهای عجیب و غریب و کلیکهای پشتسرهم سریع روی دکمهها). - دستورات چندسکویی ساخت تست پروداکشن قبل از QA:
- اجرای Build پروژه برای اطمینان از عدم وجود خطای تایپ یا ایمپورت ناقص.
- منوی کشویی سهگانه برای ویندوز، مک و لینوکس:
- Windows (PowerShell):
npm run build - macOS (Terminal):
npm run build - Linux (Bash):
npm run build
- Windows (PowerShell):
- جعبه پرامپت طلایی: انتقال گزارش باگ به ایجنت بدون افتادن در سردرگمی:
- ساختار قالب گزارش باگ برای ایجنت.
- باکس هشدار Quera (
<details class="red">): خطای پذیرش کورکورانه (Blind Accept)؛ هرگز بدون بازبینی سریع تغییرات فایلها، کد را تحویل نگیرید. - باکس رضایتبخش Quera (
<details class="green">): تست روی موبایل واقعی از طریق هاتاسپات و آیپی لوکال؛ تجربهای که هیچ شبیهسازی جای آن را نمیگیرد. - جمعبندی درسنامه: تثبیت چکلیست بازبینی و آمادهسازی برای ورود به جهان دیباگ تخصصی و خواندن پیامهای خطا در درس بعد.
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- روش بازبینی Git Diff به صورت کاربردی برای افراد غیر فنی تشریح شده باشد.
- چکلیست ۱۰ مرحلهای QA با مثالهای مستقیم از پروژه پورتفولیو ارائه گردد.
- ساختار ۴ مرحلهای گزارش باگ به ایجنت به همراه پرامپت نمونه آماده کپی گنجانده شود.
- دستورات اجرای بیلد چندسکویی در تبهای کشویی ویندوز، مک و لینوکس درج شده باشد.