پاسخ کوتاه
کارفرما باید علاوه بر کد تستها، دستور اجرای محلی، تنظیمات CI، نتیجه هر Build با وضعیت Pass/Fail/Skipped، مدت اجرا، خطا و Stack Trace، شناسه Commit و محیط اجرا، Artifactهای لازم، سیاست نگهداری نتایج و فهرست تستهای ناپایدار یا بدهیهای شناختهشده را تحویل بگیرد. گزارش تست مدرک قابل پیگیری است؛ تضمین نبود خطا یا جایگزین UAT و بررسی امنیتی نیست.
بسته شواهد تست باید چه چیزهایی داشته باشد؟
گزارش اجرای تست
- حداقل اطلاعات
- Pass، Fail، Skip، مدت و پیام خطا
- کاربرد برای کارفرما
- تشخیص وضعیت واقعی Build
شناسه اجرا
- حداقل اطلاعات
- Commit، Branch، Build و زمان
- کاربرد برای کارفرما
- اتصال نتیجه به نسخه تحویلی
زمینه اجرا
- حداقل اطلاعات
- سیستمعامل، Runtime، تنظیمات و محیط
- کاربرد برای کارفرما
- بازتولید خطا و مقایسه اجراها
Artifact و Log
- حداقل اطلاعات
- TRX، خروجی کنسول، Dump یا Screenshot لازم
- کاربرد برای کارفرما
- تحلیل ریشه شکست
کد و دستور اجرا
- حداقل اطلاعات
- مخزن تست، فرمانها و پیشنیازها
- کاربرد برای کارفرما
- استقلال تیم بعدی از مجری قبلی
تعداد تست کافی نیست؛ پوشش ریسک مهم است
عدد کل تست بدون دانستن ریسکهای پوششدادهشده میتواند گمراهکننده باشد. برای هر جریان حیاتی مشخص کنید کدام لایه آن را کنترل میکند و اگر تست خودکار مناسب نیست، چه کنترل دستی یا مانیتورینگی جای آن را میگیرد.
- Unit Test برای منطق کوچک و سریع با وابستگی محدود
- Integration Test برای دیتابیس، صف، فایل، API و قرارداد بین سرویسها
- API یا Contract Test برای ورودی، خروجی، خطا و سازگاری نسخهها
- UI یا End-to-End Test فقط برای جریانهای ارزشمند و پرریسک
- UAT برای اثبات تناسب رفتار سامانه با سناریوی کسبوکار
Quality Gate را قابل اندازهگیری و استثناها را شفاف کنید
تست شکستخورده
- قاعده نمونه
- Build یا انتشار متوقف شود
- نکته تصمیم
- استثنا فقط با تأیید و دلیل ثبتشده
تست Skip شده
- قاعده نمونه
- تعداد و علت در گزارش دیده شود
- نکته تصمیم
- Skip دائمی بدهی پنهان ایجاد میکند
تست ناپایدار
- قاعده نمونه
- مالک، Issue و تاریخ بازبینی داشته باشد
- نکته تصمیم
- تکرار خودکار نباید شکست واقعی را پنهان کند
زمان اجرا
- قاعده نمونه
- افزایش غیرعادی هشدار بدهد
- نکته تصمیم
- کندشدن تست بازخورد تیم را عقب میاندازد
پوشش کد
- قاعده نمونه
- روند و نواحی پرریسک بررسی شود
- نکته تصمیم
- یک درصد ثابت بهتنهایی کیفیت را ثابت نمیکند
نکته: آستانهها باید متناسب با نوع سامانه و ریسک قرارداد تعریف شوند. این اعداد را از پروژه دیگر کپی نکنید.
Microsoft Testing Platform چه کمکی به گزارشدهی میکند؟
Microsoft Testing Platform امکان تولید و انتشار گزارش را با افزونهها و تنظیمات مشخص فراهم میکند. در نسخه ۲.۳، گزارش TRX هنگام اجرا روی دیسک Stream میشود تا در صورت Crash شدن Test Host نیز نتایج ثبتشده حفظ شوند.
نمایش نتیجه در GitHub Actions یا Azure Pipelines خودکار و پیشفرض نیست؛ بسته و پیکربندی مربوط باید در پروژه و Pipeline وجود داشته باشد. بنابراین نسخه Platform، بستهها و پارامترهای اجرا باید جزو مستند تحویل باشند.
چکلیست تحویل تست به کارفرما یا تیم بعدی
- کد تستها و تاریخچه آن در مخزن تحت مالکیت کارفرما
- دستور اجرای محلی و CI برای هر مجموعه تست
- تعریف داده آزمایشی، Secretهای لازم و روش امن تزریق آنها
- تنظیمات Pipeline، Quality Gate و دسترسی مشاهده نتایج
- سیاست نگهداری گزارشها، Logها و Artifactها
- فهرست تستهای ناپایدار، موارد Skip و بدهیهای شناختهشده
- گزارش آخرین اجرای موفق روی Commit نسخه تحویلی
- مرزبندی روشن میان تست خودکار، UAT، تست کارایی و بررسی امنیتی
پرسشهای متداول
آیا ۱۰۰ درصد Coverage یعنی نرمافزار بدون خطاست؟
خیر. Coverage فقط نشان میدهد چه بخشهایی هنگام تست اجرا شدهاند و کیفیت Assertها، سناریوهای مرزی، یکپارچگی و نیاز کسبوکار را تضمین نمیکند.
فایل TRX برای تحویل کافی است؟
TRX مفید است، اما بدون Commit، محیط، فرمان اجرا، Logها، تنظیمات Pipeline و کد تست امکان بازتولید و نگهداری محدود میشود.
تست ناپایدار را میتوان دوباره اجرا کرد تا سبز شود؟
تکرار میتواند برای تشخیص موقت مفید باشد، اما نباید شکست را پنهان کند. تست باید بهعنوان Flaky ثبت شود، مالک و Issue داشته باشد و اثر آن بر انتشار روشن باشد.
گزارش تست جای UAT را میگیرد؟
خیر. تست فنی رفتار قابل برنامهریزی را بررسی میکند؛ UAT تأیید میکند نسخه تحویلی سناریو و معیار پذیرش کسبوکار را برآورده کرده است.
خدمت و راهنماهای مرتبط
برای ادامه مسیر، صفحه خدمت مرتبط، نمونهکار و راهنماهای مکمل را ببینید.
منابع و مبنای تدوین
این راهنما با استفاده از مستندات فنی و منابع تخصصی زیر تدوین شده است. تصمیم نهایی هر پروژه باید با دادهها، قرارداد و شرایط واقعی همان سازمان تطبیق داده شود.
