فرآیند تست دستی
در این سند
مرور کلی تست دستی
تست دستی بخش مهمی از فرآیند تضمین کیفیت ما است. این شامل تأیید تغییرات توسط انسان، هم توسط توسعهدهندگان و هم متخصصان QA است تا اطمینان حاصل شود که تمام ویژگیها طبق انتظار کار میکنند و معیارهای پذیرش را برآورده میسازند.
تأیید توسعهدهنده
تأیید پس از ادغام
پس از ادغام یک pull request، توسعهدهنده مسئول موارد زیر است:
-
تأیید اینکه تغییرات آنها به درستی در محیط مناسب مستقر شدهاند:
- برای ویژگیهای معمولی: تأیید در محیط
develop - برای hotfixها: تأیید در محیط
staging
- برای ویژگیهای معمولی: تأیید در محیط
-
انجام یک بررسی جامع از تغییرات خود در سرورهای تست برای اطمینان از:
- تمام عملکردها طبق انتظار کار میکنند
- هیچ پسرفتی (regression) ایجاد نشده است
- عناصر UI/UX به درستی نمایش داده میشوند
- عملکرد قابل قبول است
-
مستندسازی هر مشکلی که در طول این فرآیند تأیید یافت شده است
تحویل به QA
پس از اینکه توسعهدهنده تأیید خود را تکمیل کرد، باید:
- وظیفه را به ستون مناسب در Trello برای بررسی QA منتقل کند
- دستورالعملهای واضح در مورد نحوه تست تغییرات ارائه دهد
- برای پاسخگویی به هرگونه سؤال از تیم QA در دسترس باشد
فرآیند تست QA
اجرای تست
متخصص QA:
- وظیفه و معیارهای پذیرش آن را بررسی میکند
- تغییرات را در محیط مناسب (
developیاstaging) تست میکند - تأیید میکند که تمام معیارهای پذیرش برآورده شدهاند
- تست اکتشافی برای شناسایی موارد حاشیهای احتمالی انجام میدهد
- پسرفتها در عملکردهای مرتبط را بررسی میکند
نتایج تست
بر اساس نتایج تست، متخصص QA:
- تأیید شده
- رد شده
تغییرات تأیید شده
اگر تمام معیارهای پذیرش برآورده شده باشند و هیچ مشکلی یافت نشود:
- وظیفه به ستون "تأیید شده" در Trello منتقل میشود
- متخصص QA یک نظر برای تأیید اضافه میکند
- وظیفه تکمیل شده در نظر گرفته میشود
تغییرات رد شده
اگر در طول تست مشکلاتی یافت شود:
- وظیفه به ستون "رد شده" در Trello منتقل میشود
- متخصص QA تمام مشکلات را در کارت Trello مستند میکند، از جمله:
- توضیح دقیق هر مشکل
- مراحل بازتولید
- نتایج مورد انتظار در مقابل نتایج واقعی
- اسکرینشات یا ضبطها در صورت لزوم
- توسعهدهنده از رد شدن مطلع میشود
سپس توسعهدهنده باید:
- تمام مشکلات گزارش شده را بررسی و رفع کند
- یک pull request جدید با اصلاحات ایجاد کند
- فرآیند استاندارد بررسی و ادغام را دنبال کند
- پس از ادغام، اصلاحات را در محیط مناسب تأیید کند
- وظیفه را برای تست مجدد به ستون QA برگرداند
این چرخه تا زمانی که تمام مشکلات حل شوند و وظیفه تأیید شود، ادامه مییابد.
معیارهای پذیرش
هر وظیفه باید معیارهای پذیرش مشخصی داشته باشد که:
- خاص و قابل اندازهگیری باشند
- آنچه را که پیادهسازی موفق تشکیل میدهد، تعریف کنند
- تمام جنبههای ویژگی یا اصلاح را پوشش دهند
- توسط هر دو توسعهدهنده و متخصصان QA درک شوند
برای تأیید یک وظیفه، تمام معیارهای پذیرش باید برآورده شوند. پیادهسازی جزئی قابل قبول نیست.
نظارت مستمر QA
علاوه بر تستهای خاص وظیفه، تیم QA به طور مداوم بخشهای مختلف سیستم را نظارت میکند:
- بررسیهای روزانه عملکرد حیاتی سیستم
- تست اکتشافی منظم ویژگیهای مختلف
- نظارت بر عملکرد و پایداری سیستم
گزارش مشکل
هنگامی که مشکلات در طول نظارت مستمر یافت میشوند:
- متخصص QA یک وظیفه جدید در Trello ایجاد میکند
- وظیفه در ستون "Properties" قرار داده میشود
- مشکل با مراحل بازتولید دقیق مستند میشود
- تیم محصول اولویت را به مشکل اختصاص میدهد
- مشکل بر اساس اولویت آن برای رفع زمانبندی میشود
محیطهای تست
محیط Develop
- برای تست توسعه ویژگیهای معمولی استفاده میشود
- با هر ادغام به شاخه
developبهروز میشود - برای تمام اعضای تیم برای تست قابل دسترسی است
محیط Staging
- برای تست hotfixها و تأیید پیش از تولید استفاده میشود
- پایدارتر از محیط develop است
- شباهت زیادی به محیط تولید دارد
- برای تأیید نهایی قبل از استقرار تولید استفاده میشود
ارتباط در طول تست
- توسعهدهندگان و متخصصان QA باید ارتباط باز را حفظ کنند
- سؤالات در مورد تست یا پیادهسازی باید به سرعت پاسخ داده شوند
- سناریوهای تست پیچیده ممکن است نیاز به همکاری بین توسعهدهندگان و QA داشته باشند
- تمام ارتباطات مربوط به تست باید در کارت Trello مستند شوند
مستندسازی تست
برای ویژگیهای پیچیده، ممکن است مستندات تست اضافی مورد نیاز باشد:
- طرحهای تست که رویکرد تست را مشخص میکنند
- موارد تست که سناریوهای خاص را پوشش میدهند
- نیازمندیهای داده تست
- نتایج مورد انتظار برای هر مورد تست
یکپارچگی با تست خودکار
تست دستی مکمل تست خودکار ما است:
- تستهای خودکار عملکرد اساسی را تأیید میکنند و از پسرفت جلوگیری میکنند
- تست دستی بر تجربه کاربری و سناریوهای پیچیده تمرکز دارد
- مشکلات یافت شده در طول تست دستی باید برای افزودن به مجموعه تست خودکار در نظر گرفته شوند