مقدمه: اهمیت حیاتی برنامه ریزی در تضمین کیفیت نرم افزار
در دنیای پیچیده و پویای توسعه نرم افزار، ارائه محصولی با کیفیت، قابل اعتماد و عاری از خطا، نه تنها یک مزیت رقابتی، بلکه یک ضرورت مطلق است. چرخه حیات تست نرم افزار (Software Testing Life Cycle – STLC) به عنوان چارچوبی ساختاریافته، مسیری روشن برای دستیابی به این هدف والا ارائه می دهد. این چرخه شامل مراحل متمایز و در عین حال به هم پیوسته ای است که هر کدام نقشی حیاتی در تضمین کیفیت نهایی محصول ایفا می کنند. در میان این مراحل، فاز دوم، یعنی برنامه ریزی تست (Test Planning)، از اهمیتی بنیادین برخوردار است. این فاز، سنگ بنا و نقشه راهی است که تمامی فعالیت های آتی تست را هدایت کرده و موفقیت کل فرآیند تضمین کیفیت را رقم می زند. بدون یک برنامه ریزی دقیق و جامع، فعالیت های تست به مجموعه ای از اقدامات پراکنده، ناکارآمد و فاقد جهت گیری استراتژیک تبدیل خواهند شد. این مقاله به عنوان راهنمایی جامع، به تشریح عمیق فاز برنامه ریزی تست در STLC، اهمیت آن، فعالیت های کلیدی، مستندات خروجی و بهترین شیوه های اجرای آن می پردازد. هدف ما ارائه درکی عمیق از این مرحله حیاتی و توانمندسازی تیم های تست برای تدوین برنامه هایی اثربخش در راستای دستیابی به بالاترین سطح کیفیت نرم افزار است.
بخش ۱: درک جایگاه برنامه ریزی تست در چرخه حیات تست نرم افزار (STLC)
پیش از پرداختن به جزئیات فاز برنامه ریزی تست، درک موقعیت آن در چارچوب کلی STLC ضروری است. STLC معمولاً شامل مراحل زیر است:
- تحلیل نیازمندی ها (Requirement Analysis): درک و تحلیل نیازمندی های قابل تست از دیدگاه تست.
- برنامه ریزی تست (Test Planning): تعریف استراتژی، اهداف، منابع، زمانبندی و معیارهای تست. (موضوع اصلی این مقاله)
- طراحی موارد تست (Test Case Design): ایجاد موارد تست دقیق و سناریوهای تست بر اساس نیازمندی ها و طرح تست.
- آماده سازی محیط تست (Test Environment Setup): پیکربندی سخت افزار، نرم افزار و داده های لازم برای اجرای تست ها.
- اجرای تست (Test Execution): اجرای موارد تست طراحی شده در محیط آماده شده و ثبت نتایج.
- بستن چرخه تست (Test Cycle Closure): ارزیابی تکمیل تست بر اساس معیارهای خروج، گزارش دهی نهایی و مستندسازی آموخته ها.
همانطور که مشاهده می شود، برنامه ریزی تست بلافاصله پس از تحلیل نیازمندی ها قرار می گیرد. این جایگاه استراتژیک به تیم تست اجازه می دهد تا با درک روشنی از آنچه باید تست شود، یک برنامه عملیاتی مدون برای چگونگی انجام تست تدوین کند. ورودی های اصلی این فاز، مستندات نیازمندی ها (مانند SRS) و خروجی اصلی آن، مستند طرح تست (Test Plan) است که به عنوان راهنمای اصلی برای مراحل بعدی عمل می کند.
بخش ۲: تعریف فاز برنامه ریزی تست (STLC فاز ۲) و تشریح اهمیت بنیادین آن
فاز برنامه ریزی تست فرآیندی سیستماتیک برای تعریف اهداف تست، استراتژی کلی، منابع مورد نیاز، زمانبندی فعالیت ها، محیط تست، ریسک های بالقوه و معیارهای سنجش موفقیت تست است. این فاز توسط مدیر تست یا راهبر تست (Test Lead/Manager) هدایت می شود و خروجی اصلی آن، مستند جامعی به نام طرح تست (Test Plan) است.
اهمیت برنامه ریزی تست را نمی توان نادیده گرفت. دلایل کلیدی اهمیت این فاز عبارتند از:
- ایجاد نقشه راه روشن: طرح تست به عنوان یک نقشه راه دقیق عمل می کند و تمامی اعضای تیم (تست، توسعه، مدیریت) را در مورد اهداف، محدوده و رویکرد تست هماهنگ می سازد.
- مدیریت موثر منابع: برنامه ریزی دقیق امکان شناسایی و تخصیص بهینه منابع (نیروی انسانی، سخت افزار، نرم افزار، ابزارها) را فراهم می کند و از اتلاف منابع جلوگیری می کند.
- تخمین دقیق تلاش و زمانبندی: این فاز به تخمین واقع بینانه تری از زمان و تلاش مورد نیاز برای فعالیت های تست کمک می کند که برای مدیریت پروژه حیاتی است.
- شناسایی و مدیریت پیشگیرانه ریسک ها: برنامه ریزی تست فرصتی برای شناسایی ریسک های بالقوه (مانند نیازمندی های مبهم، محدودیت منابع، مشکلات محیط تست) و تدوین برنامه های کاهش یا مقابله با آن ها فراهم می کند.
- تعریف شفاف محدوده تست: مشخص می کند که چه ویژگی هایی تست می شوند و مهمتر از آن، چه ویژگی هایی تست نمی شوند. این شفافیت از سوء تفاهمات بعدی جلوگیری می کند.
- تعیین معیارهای واضح برای موفقیت: معیارهای ورود (Entry Criteria) و خروج (Exit Criteria) به طور دقیق تعریف می شوند که مشخص می کند چه زمانی فعالیت های تست می توانند شروع شوند و چه زمانی به پایان رسیده تلقی می گردند.
- تسهیل ارتباطات: طرح تست به عنوان یک ابزار ارتباطی قدرتمند بین ذینفعان مختلف پروژه عمل می کند و همه را در جریان پیشرفت و وضعیت تست قرار می دهد.
- پایه ای برای کنترل و نظارت: برنامه ریزی، معیارهایی را برای نظارت بر پیشرفت فعالیت های تست و ارزیابی اثربخشی آن ها فراهم می کند.
مطالعات متعدد نشان داده اند که هزینه رفع نقص ها (Bugs) در مراحل پایانی توسعه یا پس از انتشار محصول، به مراتب بیشتر از هزینه شناسایی و رفع آن ها در مراحل اولیه است. برنامه ریزی تست دقیق، با تمرکز بر شناسایی زودهنگام مشکلات، نقش مستقیمی در کاهش هزینه های کلی پروژه و افزایش کیفیت نهایی دارد.
بخش ۳: فعالیت های کلیدی و حیاتی در فاز برنامه ریزی تست نرم افزار
فاز برنامه ریزی تست شامل مجموعه ای از فعالیت های کلیدی است که به طور سیستماتیک انجام می شوند:
- تحلیل عمیق نیازمندی ها و تعریف محدوده تست: بازبینی دقیق مستندات نیازمندی ها برای درک کامل عملکرد مورد انتظار سیستم و شناسایی بخش های قابل تست. تعیین صریح اینکه کدام ماژول ها، ویژگی ها و عملکردها در محدوده تست قرار می گیرند و کدامیک خارج از محدوده هستند.
- تعیین استراتژی تست (Test Strategy): تعریف رویکرد کلی و سطح بالا برای تست. این شامل تعیین انواع تست های مورد نیاز (مانند تست عملکردی، تست کارایی، تست امنیت، تست قابلیت استفاده)، سطوح تست (واحد، یکپارچه سازی، سیستم، پذیرش)، تکنیک های طراحی تست و ابزارهای مورد استفاده است. استراتژی تست ممکن است در سطح سازمانی تعریف شده باشد و طرح تست آن را برای پروژه خاص، بومی سازی کند.
- تعیین اهداف مشخص تست (Test Objectives): تعریف اهداف قابل اندازه گیری و مشخص برای فرآیند تست. به عنوان مثال: “پوشش ۹۵% نیازمندی های عملکردی”، “شناسایی و گزارش تمامی نقص های با اولویت بالا و بحرانی قبل از ورود به فاز UAT”، “تایید عملکرد سیستم تحت بار پیش بینی شده”.
- تعریف دقیق معیارهای ورود و خروج (Entry and Exit Criteria):
- معیارهای ورود: شرایطی که باید برقرار باشند تا فاز اجرای تست بتواند آغاز شود. مثال: تکمیل فاز طراحی موارد تست، آماده بودن محیط تست، پایداری نسبی بیلد (Build) نرم افزار.
- معیارهای خروج: شرایطی که نشان دهنده تکمیل موفقیت آمیز یک فاز یا کل فرآیند تست هستند. مثال: اجرای تمامی موارد تست برنامه ریزی شده، رفع تمامی نقص های بحرانی، دستیابی به سطح پوشش تست مورد نظر، اتمام زمانبندی تست.
- شناسایی، برنامه ریزی و تخصیص منابع تست: تعیین منابع مورد نیاز شامل:
- منابع انسانی: تعداد تسترها، نقش ها (تستر دستی، اتومیشن، کارایی، امنیت)، مهارت های مورد نیاز.
- منابع سخت افزاری: سرورها، کلاینت ها، دستگاه های موبایل و …
- منابع نرم افزاری: سیستم عامل ها، پایگاه های داده، مرورگرها.
- ابزارهای تست: ابزارهای مدیریت تست، اتومیشن، تست کارایی، ردیابی نقص.
- تعیین زمانبندی فعالیت ها و تخمین تلاش (Effort Estimation): تخمین زمان و تلاش مورد نیاز برای هر یک از فعالیت های تست (طراحی، اجرا، گزارش دهی) و ایجاد یک زمانبندی واقع بینانه با نقاط عطف (Milestones) مشخص. تکنیک های مختلفی مانند تخمین سه نقطه ای (Three-point estimation) یا قضاوت کارشناسی (Expert Judgment) می تواند مورد استفاده قرار گیرد.
- شناسایی، تحلیل و برنامه ریزی مدیریت ریسک های تست: شناسایی ریسک هایی که می توانند بر فرآیند تست تاثیر بگذارند (مانند تغییر مکرر نیازمندی ها، تاخیر در تحویل بیلد، کمبود منابع متخصص، مشکلات محیط تست). برای هر ریسک، احتمال وقوع و تاثیر آن ارزیابی شده و برنامه های کاهش (Mitigation) یا جایگزین (Contingency) تدوین می شود.
- تعیین و آماده سازی محیط تست (Test Environment): تعریف مشخصات دقیق محیطی که تست ها در آن اجرا خواهند شد، شامل سخت افزار، نرم افزار، شبکه، پیکربندی ها و داده های تست (Test Data). برنامه ریزی برای آماده سازی و مدیریت این محیط نیز بخشی از این فعالیت است.
- تعیین خروجی ها و مستندات تست (Test Deliverables): لیست کردن تمامی مستنداتی که در طول فرآیند تست تولید و تحویل داده خواهند شد. مهمترین خروجی این فاز، خود طرح تست است. سایر خروجی ها می توانند شامل موارد تست، اسکریپت های تست، گزارش های وضعیت تست، گزارش نهایی تست و گزارش نقص ها باشند.
- تعیین نقش ها و مسئولیت ها: مشخص کردن دقیق وظایف و مسئولیت های هر یک از اعضای تیم تست و سایر ذینفعان در فرآیند تست.
بخش ۴: تشریح مستند کلیدی فاز برنامه ریزی: طرح تست (Test Plan Document)
قلب تپنده فاز برنامه ریزی تست، مستند طرح تست (Test Plan) است. این سند پویا، تمامی تصمیمات و برنامه ریزی های انجام شده در این فاز را به صورت رسمی ثبت می کند. اگرچه ساختار دقیق طرح تست می تواند بسته به سازمان، پروژه و استاندارد مورد استفاده (مانند IEEE 829) متفاوت باشد، اما معمولاً شامل بخش های زیر است:
- شناسه طرح تست (Test Plan Identifier): یک شناسه منحصر به فرد برای ردیابی سند.
- مقدمه (Introduction): خلاصه ای از اهداف پروژه، اهداف تست، محدوده سند و ارجاع به مستندات مرتبط (مانند SRS، طرح پروژه).
- آیتم های تست (Test Items): لیست نرم افزارها، ماژول ها یا نسخه هایی که قرار است تست شوند.
- ویژگی های مورد تست (Features to be Tested): لیست مشخصی از ویژگی ها و عملکردهایی که تحت پوشش تست قرار می گیرند.
- ویژگی های تست نشده (Features not to be Tested): ذکر صریح ویژگی ها یا عملکردهایی که به دلایل مشخص (مانند اولویت پایین، ریسک کم، محدودیت منابع) تست نخواهند شد.
- رویکرد تست (Approach/Strategy): تشریح استراتژی کلی تست، شامل سطوح تست، انواع تست، تکنیک های مورد استفاده و معیارهای تکمیل.
- معیارهای قبولی/ردی آیتم (Item Pass/Fail Criteria): تعریف معیارهای واضح برای قضاوت در مورد موفقیت یا شکست یک مورد تست یا یک ویژگی.
- معیارهای تعلیق و الزامات ازسرگیری (Suspension Criteria and Resumption Requirements): تعریف شرایطی که تحت آن فعالیت های تست متوقف می شوند (مثلاً تعداد زیاد نقص های مسدود کننده) و شرایط لازم برای شروع مجدد تست.
- خروجی های تست (Test Deliverables): لیست تمامی مستندات و محصولاتی که به عنوان خروجی فرآیند تست تولید می شوند (طرح تست، موارد تست، گزارش ها و …).
- وظایف تست (Testing Tasks): شکستن فرآیند تست به وظایف کوچکتر و قابل مدیریت.
- نیازهای محیطی (Environmental Needs): مشخصات دقیق سخت افزاری، نرم افزاری و شبکه ای مورد نیاز برای محیط تست.
- مسئولیت ها (Responsibilities): تعیین نقش ها و مسئولیت های افراد درگیر در فعالیت های تست.
- نیازهای کارکنان و آموزش (Staffing and Training Needs): شناسایی نیاز به نیروی انسانی متخصص و برنامه های آموزشی احتمالی.
- زمانبندی (Schedule): زمانبندی دقیق فعالیت های تست با نقاط عطف کلیدی.
- ریسک ها و احتمالات (Risks and Contingencies): لیست ریسک های شناسایی شده، ارزیابی آن ها و برنامه های مدیریت ریسک.
- تاییدیه ها (Approvals): بخشی برای امضا و تایید طرح تست توسط ذینفعان کلیدی (مدیر پروژه، مدیر تست، نماینده مشتری).
بخش ۵: روشن سازی تفاوت کلیدی: استراتژی تست در مقابل طرح تست
یکی از نکات مهم که اغلب باعث سردرگمی می شود، تفاوت بین استراتژی تست (Test Strategy) و طرح تست (Test Plan) است.
- استراتژی تست: یک سند سطح بالا و معمولاً ایستا است که رویکرد کلی سازمان یا یک برنامه بزرگ را برای تست مشخص می کند. این سند به ندرت تغییر می کند و بر “چگونه تست کردن” به صورت عمومی تمرکز دارد. ممکن است شامل مواردی مانند استانداردها، ابزارها، انواع تست مورد تایید و رویکردهای کلی مدیریت نقص باشد.
- طرح تست: یک سند سطح عملیاتی و پویا است که به طور خاص برای یک پروژه یا نسخه مشخص تدوین می شود. این سند جزئیات بیشتری دارد و به سوالاتی مانند “چه چیزی؟”، “چه زمانی؟”، “چه کسی؟” و “چگونه؟” برای آن پروژه خاص پاسخ می دهد. طرح تست می تواند در طول چرخه حیات پروژه بر اساس تغییرات، به روز رسانی شود.
به طور خلاصه، استراتژی تست جهت گیری کلی را مشخص می کند و طرح تست، برنامه اجرایی رسیدن به اهداف تست در آن جهت گیری است.
بخش ۶: نقش ها و مسئولیت های دخیل در فرآیند برنامه ریزی تست
برنامه ریزی تست یک فعالیت تیمی است، اگرچه مسئولیت اصلی آن معمولاً با مدیر تست (Test Manager) یا راهبر تست (Test Lead) است. سایر نقش های کلیدی عبارتند از:
- تسترها (Testers): در ارائه ورودی برای تخمین تلاش، شناسایی ریسک ها و درک نیازمندی ها مشارکت می کنند.
- تحلیلگران کسب و کار (Business Analysts): در شفاف سازی نیازمندی ها و تعریف معیارهای پذیرش کمک می کنند.
- مدیر پروژه (Project Manager): در تخصیص منابع، زمانبندی کلی پروژه و هماهنگی با سایر تیم ها نقش دارد.
- توسعه دهندگان (Developers): می توانند اطلاعات فنی در مورد معماری سیستم و ریسک های بالقوه ارائه دهند.
- ذینفعان (Stakeholders): مانند نمایندگان مشتری یا مدیران محصول، در تایید اهداف و محدوده تست نقش دارند.
بخش ۷: معرفی ابزارهای کاربردی برای تسهیل برنامه ریزی تست
ابزارهای مختلفی می توانند فرآیند برنامه ریزی تست را تسهیل و کارآمدتر کنند:
- ابزارهای مدیریت تست (Test Management Tools): مانند Jira (با افزونه هایی مثل Zephyr یا Xray)، TestRail، Azure DevOps Test Plans، HP ALM/Quality Center. این ابزارها امکان مدیریت طرح های تست، موارد تست، اجراها و گزارش دهی را در یک مکان متمرکز فراهم می کنند.
- ابزارهای مدیریت پروژه (Project Management Tools): مانند Microsoft Project، Asana، Trello. برای زمانبندی، تخصیص وظایف و پیگیری پیشرفت کاربرد دارند.
- ابزارهای همکاری (Collaboration Tools): مانند Confluence، SharePoint، Google Workspace. برای به اشتراک گذاری مستندات، بحث و تبادل نظر تیمی مفید هستند.
- صفحات گسترده (Spreadsheets): مانند Microsoft Excel یا Google Sheets. هنوز هم برای برنامه ریزی های ساده تر، مدیریت لیست ریسک ها یا تخمین ها استفاده می شوند.
بخش ۸: شناسایی و مقابله با چالش های رایج در برنامه ریزی تست
فاز برنامه ریزی تست با چالش هایی نیز روبرو است:
- نیازمندی های ناقص یا مبهم: برنامه ریزی بر اساس اطلاعات ناکافی دشوار است.
- تغییر مکرر نیازمندی ها: نیاز به بازنگری و به روز رسانی مداوم طرح تست.
- فشار زمانی و زمانبندی غیر واقعی: منجر به برنامه ریزی عجولانه و نادیده گرفتن جنبه های مهم می شود.
- محدودیت منابع (انسانی، مالی، ابزاری): نیاز به اولویت بندی دقیق و پذیرش ریسک های بیشتر.
- ارتباطات ضعیف بین تیم ها: منجر به سوء تفاهم در مورد اهداف و محدوده تست می شود.
- دست کم گرفتن تلاش مورد نیاز: منجر به تاخیر در برنامه تست می شود.
راهکارها:
- مشارکت زودهنگام تیم تست در چرخه حیات توسعه.
- استفاده از رویکردهای برنامه ریزی تکرار شونده (Iterative Planning).
- ایجاد کانال های ارتباطی شفاف و منظم.
- مدیریت ریسک فعالانه و داشتن برنامه های جایگزین.
- استفاده از تکنیک های تخمین معتبر و مبتنی بر داده های تاریخی (در صورت وجود).
- کسب تعهد و حمایت از سوی مدیریت و ذینفعان.
بخش ۹: ارائه بهترین شیوه ها برای اجرای یک برنامه ریزی تست موثر و کارآمد
برای اطمینان از اثربخشی فاز برنامه ریزی تست، رعایت بهترین شیوه های زیر توصیه می شود:
- زود شروع کنید: برنامه ریزی را همزمان یا بلافاصله پس از تحلیل نیازمندی ها آغاز کنید.
- جامع اما انعطاف پذیر باشید: جزئیات کافی را برای راهنمایی تیم فراهم کنید، اما برای تغییرات احتمالی انعطاف پذیر باشید.
- تیم را درگیر کنید: از دانش و تجربه تمامی اعضای تیم تست و سایر ذینفعان مرتبط استفاده کنید.
- اهداف را با اهداف پروژه همسو کنید: اطمینان حاصل کنید که برنامه ریزی تست از اهداف کلی کسب و کار و پروژه پشتیبانی می کند.
- بر اساس ریسک اولویت بندی کنید: منابع و تلاش تست را بر روی بخش های پرریسک تر و حیاتی تر متمرکز کنید.
- مرور و به روز رسانی منظم: طرح تست یک سند زنده است؛ آن را به طور منظم بازبینی و با تغییرات پروژه به روز کنید.
- از الگوها (Templates) استفاده کنید: استفاده از الگوهای استاندارد به سازگاری و پوشش تمامی جنبه های لازم کمک می کند.
- ارتباطات شفاف و مستمر: اطمینان حاصل کنید که طرح تست به خوبی به تمامی ذینفعان منتقل شده و درک شده است.
نتیجه گیری: برنامه ریزی تست، سرمایه گذاری برای کیفیت
فاز برنامه ریزی تست (فاز ۲ STLC) فراتر از یک فعالیت اداری صرف است؛ این یک فرآیند استراتژیک و حیاتی است که مسیر موفقیت یا شکست تلاش های تضمین کیفیت نرم افزار را تعیین می کند. یک طرح تست خوب تدوین شده، به عنوان قطب نمایی عمل می کند که تیم تست را در میان پیچیدگی های توسعه نرم افزار هدایت کرده و اطمینان می دهد که منابع به درستی تخصیص یافته، ریسک ها مدیریت شده و در نهایت، محصولی با کیفیت بالا به کاربر نهایی تحویل داده می شود. سرمایه گذاری زمان و تلاش کافی در این فاز، بازگشت سرمایه قابل توجهی در قالب کاهش هزینه های رفع نقص، افزایش رضایت مشتری و بهبود اعتبار برند به همراه خواهد داشت. با درک عمیق فعالیت ها، اهمیت مستندات و پیروی از بهترین شیوه ها، تیم های تست می توانند نقشه راهی مستحکم برای دستیابی به کیفیت نرم افزار ترسیم کنند.
سوالات متداول (FAQ)
- سوال: تفاوت اصلی بین فاز تحلیل نیازمندی ها (فاز ۱) و فاز برنامه ریزی تست (فاز ۲) در STLC چیست؟
پاسخ: در فاز ۱ (تحلیل نیازمندی ها)، تمرکز بر درک و شناسایی نیازمندی های قابل تست از دیدگاه تست است. در فاز ۲ (برنامه ریزی تست)، بر اساس این درک، برنامه ای عملیاتی شامل استراتژی، منابع، زمانبندی، محدوده و معیارهای اجرای تست تدوین می شود. فاز ۱ ورودی فاز ۲ است. - سوال: آیا طرح تست (Test Plan) باید همیشه یک سند بسیار طولانی و پرجزئیات باشد؟
پاسخ: لزوماً خیر. سطح جزئیات طرح تست به پیچیدگی پروژه، الزامات سازمانی، مدل توسعه (مثلاً Agile در مقابل Waterfall) و سطح ریسک بستگی دارد. در پروژه های Agile، برنامه ریزی ممکن است سبک تر و تکرار شونده تر باشد، اما اصول کلیدی مانند تعریف اهداف، محدوده و استراتژی همچنان ضروری است. مهمترین نکته، مفید و کاربردی بودن طرح برای تیم و ذینفعان است. - سوال: چه کسی مسئول نهایی تایید طرح تست است؟
پاسخ: معمولاً تایید نهایی طرح تست نیازمند امضای چندین ذی نفع کلیدی است. این افراد می توانند شامل مدیر تست/راهبر تست، مدیر پروژه، مدیر محصول، نماینده تحلیل کسب و کار و گاهی اوقات نماینده مشتری یا کاربر نهایی باشند. هدف، کسب توافق و تعهد مشترک بر روی برنامه تست است. - سوال: معیارهای خروج (Exit Criteria) در برنامه ریزی تست چه اهمیتی دارند؟
پاسخ: معیارهای خروج بسیار حیاتی هستند زیرا به طور عینی مشخص می کنند که چه زمانی فعالیت های تست (در یک سطح خاص یا کل فرآیند) به اندازه کافی انجام شده و می توان به مرحله بعدی رفت یا محصول را منتشر کرد. بدون معیارهای خروج واضح، تصمیم گیری در مورد توقف تست سلیقه ای و پرریسک خواهد بود. این معیارها به مدیریت انتظارات و جلوگیری از “تست بی پایان” کمک می کنند. - سوال: چگونه می توان ریسک های مرتبط با تست را در فاز برنامه ریزی شناسایی کرد؟
پاسخ: شناسایی ریسک می تواند از طریق طوفان فکری (Brainstorming) با تیم، بررسی تجربیات پروژه های مشابه گذشته، تحلیل نیازمندی ها و معماری سیستم، مصاحبه با ذینفعان و توسعه دهندگان، و استفاده از چک لیست های ریسک متداول در تست نرم افزار انجام شود. تمرکز باید بر روی عواملی باشد که می توانند بر زمانبندی، بودجه، منابع، محدوده یا کیفیت تست تاثیر منفی بگذارند.