پرش به مطلب اصلی

فرآیند تست دستی

در این سند

مرور کلی تست دستی

تست دستی بخش مهمی از فرآیند تضمین کیفیت ما است. این شامل تأیید تغییرات توسط انسان، هم توسط توسعه‌دهندگان و هم متخصصان QA است تا اطمینان حاصل شود که تمام ویژگی‌ها طبق انتظار کار می‌کنند و معیارهای پذیرش را برآورده می‌سازند.

تأیید توسعه‌دهنده

تأیید پس از ادغام

پس از ادغام یک pull request، توسعه‌دهنده مسئول موارد زیر است:

  1. تأیید اینکه تغییرات آنها به درستی در محیط مناسب مستقر شده‌اند:

    • برای ویژگی‌های معمولی: تأیید در محیط develop
    • برای hotfixها: تأیید در محیط staging
  2. انجام یک بررسی جامع از تغییرات خود در سرورهای تست برای اطمینان از:

    • تمام عملکردها طبق انتظار کار می‌کنند
    • هیچ پسرفتی (regression) ایجاد نشده است
    • عناصر UI/UX به درستی نمایش داده می‌شوند
    • عملکرد قابل قبول است
  3. مستندسازی هر مشکلی که در طول این فرآیند تأیید یافت شده است

تحویل به QA

پس از اینکه توسعه‌دهنده تأیید خود را تکمیل کرد، باید:

  1. وظیفه را به ستون مناسب در Trello برای بررسی QA منتقل کند
  2. دستورالعمل‌های واضح در مورد نحوه تست تغییرات ارائه دهد
  3. برای پاسخگویی به هرگونه سؤال از تیم QA در دسترس باشد

فرآیند تست QA

اجرای تست

متخصص QA:

  1. وظیفه و معیارهای پذیرش آن را بررسی می‌کند
  2. تغییرات را در محیط مناسب (develop یا staging) تست می‌کند
  3. تأیید می‌کند که تمام معیارهای پذیرش برآورده شده‌اند
  4. تست اکتشافی برای شناسایی موارد حاشیه‌ای احتمالی انجام می‌دهد
  5. پسرفت‌ها در عملکردهای مرتبط را بررسی می‌کند

نتایج تست

بر اساس نتایج تست، متخصص QA:

تغییرات تأیید شده

اگر تمام معیارهای پذیرش برآورده شده باشند و هیچ مشکلی یافت نشود:

  1. وظیفه به ستون "تأیید شده" در Trello منتقل می‌شود
  2. متخصص QA یک نظر برای تأیید اضافه می‌کند
  3. وظیفه تکمیل شده در نظر گرفته می‌شود

معیارهای پذیرش

هر وظیفه باید معیارهای پذیرش مشخصی داشته باشد که:

  • خاص و قابل اندازه‌گیری باشند
  • آنچه را که پیاده‌سازی موفق تشکیل می‌دهد، تعریف کنند
  • تمام جنبه‌های ویژگی یا اصلاح را پوشش دهند
  • توسط هر دو توسعه‌دهنده و متخصصان QA درک شوند

برای تأیید یک وظیفه، تمام معیارهای پذیرش باید برآورده شوند. پیاده‌سازی جزئی قابل قبول نیست.

نظارت مستمر QA

علاوه بر تست‌های خاص وظیفه، تیم QA به طور مداوم بخش‌های مختلف سیستم را نظارت می‌کند:

  1. بررسی‌های روزانه عملکرد حیاتی سیستم
  2. تست اکتشافی منظم ویژگی‌های مختلف
  3. نظارت بر عملکرد و پایداری سیستم

گزارش مشکل

هنگامی که مشکلات در طول نظارت مستمر یافت می‌شوند:

  1. متخصص QA یک وظیفه جدید در Trello ایجاد می‌کند
  2. وظیفه در ستون "Properties" قرار داده می‌شود
  3. مشکل با مراحل بازتولید دقیق مستند می‌شود
  4. تیم محصول اولویت را به مشکل اختصاص می‌دهد
  5. مشکل بر اساس اولویت آن برای رفع زمان‌بندی می‌شود

محیط‌های تست

محیط Develop

  • برای تست توسعه ویژگی‌های معمولی استفاده می‌شود
  • با هر ادغام به شاخه develop به‌روز می‌شود
  • برای تمام اعضای تیم برای تست قابل دسترسی است

محیط Staging

  • برای تست hotfixها و تأیید پیش از تولید استفاده می‌شود
  • پایدارتر از محیط develop است
  • شباهت زیادی به محیط تولید دارد
  • برای تأیید نهایی قبل از استقرار تولید استفاده می‌شود

ارتباط در طول تست

  • توسعه‌دهندگان و متخصصان QA باید ارتباط باز را حفظ کنند
  • سؤالات در مورد تست یا پیاده‌سازی باید به سرعت پاسخ داده شوند
  • سناریوهای تست پیچیده ممکن است نیاز به همکاری بین توسعه‌دهندگان و QA داشته باشند
  • تمام ارتباطات مربوط به تست باید در کارت Trello مستند شوند

مستندسازی تست

برای ویژگی‌های پیچیده، ممکن است مستندات تست اضافی مورد نیاز باشد:

  • طرح‌های تست که رویکرد تست را مشخص می‌کنند
  • موارد تست که سناریوهای خاص را پوشش می‌دهند
  • نیازمندی‌های داده تست
  • نتایج مورد انتظار برای هر مورد تست

یکپارچگی با تست خودکار

تست دستی مکمل تست خودکار ما است:

  • تست‌های خودکار عملکرد اساسی را تأیید می‌کنند و از پسرفت جلوگیری می‌کنند
  • تست دستی بر تجربه کاربری و سناریوهای پیچیده تمرکز دارد
  • مشکلات یافت شده در طول تست دستی باید برای افزودن به مجموعه تست خودکار در نظر گرفته شوند