تفاوت تست محصول در مدل آبشاری و چابک
توسعه محصولات نرم افزاری در میحطی پیچیده و پر از ابهام انجام میشود، لذا استفاده از روش های آبشاری در توسعه محصول، توصیه نمیشود.
استفاده از متدولوژی ها و چارچوب های چابک، به دلیل Fast Fail بودن و ماهیت چابکی آن نسبت به مدل های آبشاری، از مزیت بیشتری برخوردار هستند. یکی از مهم ترین اجزای توسعه محصول، تست در محیط پیچیده است. برای تست محصول نیز دو روش متفاوت وجود دارد که شامل : 1) تست آبشاری 2) تست چابک می باشد.
در مدل تست آبشاری، هر مرحله دارای ورودی و خروجی مشخص و دارای پیش نیاز است.تا اتمام مرحله قبلی، مرحله بعدی شروع نمیشود.
در مدل تست آبشاری 6 مرحله تا تکمیل فرآیند نیاز است که این مراحل شامل:
1) جمع آوری نیازمندیهای تست: شامل تحلیل نیازمندیهای تست و تحلیل محصول و نقاط قابل تست و همچنین بررسی اجرای تست خوردکار در این مرحله انجام میشود.
خروجی های مرحله:
- ماتریس پیگیری نیازمندیها RTM
- گزارش امکان سنجی تست خودکار
2) برنامه ریزی و طراحی تست : برنامه ریزی اجرای تست و تخمین انجام تست دستی و خودکار
خروجی های مرحله:
- تخمین تست هر مرحله
- برنامه ریزی منابع مورد نیاز تست(سخت افزاری و نرم افزاری)
3) آماده سازی تست کیس یا تست اسکریپت: ایجاد و بازنگری و تست کیس ها و ایجاد تست اسکریپت های مورد نیاز در این مرحله انجام میشود.
- تست کیس
- تست اسپریپت
4) برپایی محیط تست: آماده سازی داده های مورد نیاز برای تست و همچنین آماده سازی شرایط محیطی تست چه از نظر نرم افزاری و سخت افزاری
- نرم افزار و سخت افزار مورد نیاز
- آماده سازی دادهای مورد نیاز
5) اجرای عملیات تست : مرحله اجرای فرآیند تست
- گزارش باگ احتمالی
- نگاشت دوباره در ماتریس RTM
- به روز رسانی تست کیس با نتایج بدست آمده
6) اختمام فرآیند تست: با اتمام عملیات اجرای تست عملا فرآیند به اتمام نزدیک میشود و در این مرحله بازخورد عملکرد محصول به تیم ارائه میشود.
- سند درس آموخته ها
- گزارش عملکرد کیفی و کمی محصول
اما در مدل تست چابک، نفرات تست نیز جزئی از توسعه دهندگان به شمار میآیند. در واقع در راهنمای اسکرام 2020 به این موضوع اشاره شده است. کلیه نفرات اعم از تحلیلگران محصول، تستر ها، نفرات فنی توسعه جزء توسعه دهندگان به شمار میروند.
در مدل تست چابک، تستر یکپارچه با توسعه دهنده عمل میکند. هر تسک بعد از اتمام و دیپلوی، تست میشود و بازخورد آن به تیم ارائه میشود.
چند نکته قابل توجه در تست چابک عبارتنداز:
1) کیفیت محور: برخلاف مدل آبشاری، تست چابک کمترین زمان برای برنامه ریزی اولیه را دارد و بیشتر توجهش به کیفیت محصول است. در ابتدای شروع توسعه با بازهای زمانی کوتاه و پیوسته(اسپرینت ها) تستر در جریان جزییات فنی و محصولی قرار میگیرد و این باعث همگام سازی تستر و توسعه دهنده میشود و بازخوردها زودتر به تیم منتقل میشود.
2) تست محور: با توجه به بازه های کوتاه و مستر، تستر منتظر مرحله اجرای تست نیست و با شروع هر توسعه تستر نیز مقدمات تست را آماده و به محض تحویل فیچر، تست نیز در همان اسپرینت شروع و بازخورد داده میشود.
3) مدلی مشتری پسند: به دلیل بازخوردهای سریع از کیفیت محصول و برطرف شدن باگ در هر اسپرینت، مشتری از وضعیت پیشرفت محصول خود با شفافیت بالاتری باخبر است و این مورد پسند مشتری است.
مراحل چرخه تست چابک عبارتنداز :
1) تعیین استراتژی تست : این مرحله در دل برنامه ریزی اسپرینت انجام میشود.در جلسه برنامه ریزی اسپرینت، تیم توسعه ، برنامه خود را در همه ابعاد بررسی میکند که یکی از مهم ترین آنها، برنامه ریزی تست محصول است. تعیین استراتژی هر اسپرینت ممکن است متفاوت با مراحل دیگر باشد.
2) برنامه ریزی روزانه: این مرحله در قالب جلسات دیلی انجام میشود و لذا در جلسه روزانه، برنامه تست نیز به صورت چابک بررسی و منطبق با هدف اسپرینت پیگیری و انجام میشود.
3) بازبینی تست : بازبینی در چرخه چابک، هم در برنامه ریزی روزانه و هم در جلسه نهایی اسپرینت( جلسه بازبینی ) انجام میشود. بازبینی شامل بررسی استراتژی تست در اسپرینت گذشته، برنامه های آتی و همچنین بررسی عملکرد تست محصول در اسپرینت گذشته است.
4) بررسی زمان ورود محصول به بازار از منظر کیفیت محصول: در این مرحله با بازخوردهای جمع آوری شده زمان ورود به بازار برای محصول توسط ذینفعان اصلی بررسی میشود.
5) ارزیابی موارد اثرگذار: این مرحله در چرخه عمر تست محصول از اهمیت بالایی برخوردار است.در این مرحله با جمع آوری بازخوردها از ذینفعان اصلی، موارد اثرگذار در افزایش کیفیت محصول بررسی و در چرخه اعمال میشود.
مراجع :