یکشنبه , ۹ اردیبهشت ۱۴۰۳

چرخه حیات تست نرم‌افزار-STLC

STLC
STLC

بر خلاف باور عمومی، تست نرم‌افزار تنها یک فعالیت واحد نیست.

چرخه حیات تست نرم‌افزار(STLC) چیست؟
چرخه حیات تست نرم‌افزار(STLC) به صورت دنباله‌ای از فعالیت‌های انجام شده برای انجام تست نرم‌افزار تعریف می‌شود.

این چرخه شامل مجموعه‌ای از فعالیت‌های انجام شده به صورت متدولوژیک برای کمک به تایید محصول نرم‌افزاری شماست.

تصویر زیر مراحل مختلف در چرخه حیات تست نرم‌افزار را ارائه می‌دهد:

STLC Stages
STLC Stages

هر یک از این مراحل دارای معیار ورود(Entry Criteria) و خروج(Exit Criteria) مشخص، فعالیت‌ها(Activity) و تحویل‌دادنی(Deliverable) مربوط به خود هستند.

معیار ورود و خروج چیست؟

  • معیار ورود: معیار ورود آیتم‌های پیشنیازی را ارائه می‌دهد که باید قبل از آغاز تست تکمیل شوند.
  • معیار خروج: معیار خروج آیتم‌هایی را تعریف می‌کند که باید قبل از خاتمه تست تکمیل شوند.

شما باید برای تمام سطوح در چرخه حیات تست نرم‌افزار(STLC) معیار ورود و خروج داشته باشید.

در یک دنیای ایده‌آل، تا زمانیکه معیار خروج برای مرحله قبلی بروز نکند، به مرحله بعدی وارد نخواهید شد. اما چنین چیزی عملا همیشه امکان پذیر نیست. بنابراین برای این آموزش، ما بر فعالیت‌ها و تحویل‌دادنی‌ها برای مراحل مختلف در STLC تمرکز کرده‌ایم و البته معیارهای ورود و خروج را نیز ذکر کرده‌ایم. اجازه دهید تا نگاهی دقیقتر به آن بیندازیم.

تحلیل نیازمندی‌ها(Requirement Analysis)

در طی این فاز تیم تست برای شناسایی نیازمندی‌های قابل تست، نیازمندی‌ها را از منظر تست مطالعه می‌کند.

تیم QA می‌تواند با ذینفعان مختلف(مشتری، تحلیلگر کسب و کار، راهنمای فنی، معمار سیستم، و غیره) ارتباط برقرار کند تا جزئیات نیازمندی‌ها را درک نماید.

نیازمندی‌ها می‌توانند عبارتند باشند از: Functional(تعریف آنچه نرم‌افزار باید انجام دهد) یاNon Functional(عبارتند از: Performance، Usability، Portability، Maintainability، Security و …).

امکان‌سنجی برای خودکارسازیِ پروژه تست نیز در این مرحله انجام می‌شود.

معیارهای ورود

  • در دسترس بودن سند Requirementها(هم Functional و هم Non Functional)
  • معیارهای پذیرش(Acceptance Criteria) تعریف شده باشد
  • سند معماری نرم‌افزار در دسترس باشد

فعالیت‌ها

  • تحلیل Business Functionalityها برای شناخت و درک ماژول‌های کسب و کار و Functionalityهای ویژه ماژول
  • شناسایی تمام تراکنش‌ها در ماژول
  • شناسایی کامل User Profileها
  • جمع آوری نیازمندی‌های User Interface، User Authentication و نیازمندی‌های مربوط به وسعت جغرافیایی(مانند Time Zone).
  • شناسایی انواع تست‌ها برای انجام
  • جمع‌آوری جزئیات در مورد اولویت‌های تمرکز و تست
  • آماده‌سازی ماتریس ردیابی نیازمندی(Requirement Traceability Matrix-RTM).
  • شناسایی جزئیات محیط تست که قرار است تست در آن انجام شود
  • تحلیل امکانسنجی اتوماسیون(در صورت لزوم)

معیارهای خروج

  • تائید RTM
  • تائید گزارش امکانسنجی اتوماسیون تست توسط مشتری

تحویل دادنی‌ها

  • RTM
  • گزارش امکان سنجی اتوماسیون(در صورت وجود)

برنامه‌ریزی تست(Test Planning)

به طور معمول، در این مرحله، یک مدیر ارشد QA، برآورد هزینه‌ها و تلاش‌های پروژه را تعیین کرده و برنامه تست(Test Plan) را آماده و نهایی می‌کند. در این مرحله استراتژی تست نیز تعیین می‌شود.

معیارهای ورود

  • اسناد Requirementها
  • ماتریس ردیابی نیازمندی‌ها
  • سند امکانسنجی اتوماسیون تست

فعالیت‌ها

  • تحلیل رویکردهای مختلف و موجود در تست
  • نهایی کردن رویکرد مناسب
  • تهیه سند برنامه تست/استراتژی تست برای انواع مختلف تست
  • انتخاب ابزار تست
  • تخمین تلاش تست
  • برنامه‌ریزی منابع و تعیین نقش‌ها و مسئولیت‌ها
  • نیاز آموزشی

معیارهای خروج

  • تصویب سند برنامه تست/استراتژی تست
  • تصویب و امضای سند برآورد تلاش

تحویل دادنی‌ها

  • سند برنامه تست/استراتژی تست
  • سند برآورد تلاش

توسعه Test Case

این فاز شامل ایجاد، ممیزی و بازنگری Test Caseها و اسکریپت‌های تست(Test Script) است. داده‌های تست(Test Data) نیز در این مرحله شناسایی شده/ایجاد شده و مورد بازبینی قرار می‌گیرند و پس از آن دوباره پردازش می‌شوند.

معیارهای ورود

  • اسناد Requirementها
  • RTM و برنامه تست
  • گزارش تحلیل اتوماسیون

فعالیت‌ها

  • ایجاد Test Caseها، اسکریپت‌های اتوماسیون(در صورت امکان)
  • بررسی موارد و اسکریپت‌های تست اولیه
  • ایجاد داده‌های تست(اگر محیط تست در دسترس است)

معیارهای خروج

  • بازبینی، تائید، و تصویب Test Case/Test Script
  • بازبینی، تائید، و تصویب Test Dataها

تحویل دادنی‌ها

  • Test Case/Test Script
  • داده‌های تست(Test Data)

ستاپ کردن محیط تست

محیط تست شرایط سخت‌افزاری و نرم‌افزاری که تحت آن محصول تست می‌شود را تعیین می‌کند. ستاپ کردن(تنظیم کردن) محیط تست یکی از جنبه‌های حیاتی فرآیند تست است و می‌تواند به صورت موازی با مرحله توسعه Test Case انجام شود. اگر تیم مشتری/توسعه، محیط تست را فراهم کند ممکن است تیم تست در این فعالیت دخالت نداشته باشد. در این صورت تیم تست نیاز دارد یک بررسی آمادگی(Smok Testing یا تست دود) روی محیط مذبور انجام دهد.

معیارهای ورود

  • اسناد معماری طراحی سیستم در دسترس باشد
  • برنامه(Plan) ستاپ محیط در دسترش باشد

فعالیت‌ها

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

معیارهای خروج

  • کارکردن محیط ستاپ شده آنچنانکه در برنامه و چک‌لیست آمده است
  • ستاپ Test Data کامل شده باشد
  • Smoke Test موفق بوده باشد

تحویل دادنی‌ها

  • محیط تست آماده به همراه Test Data
  • نتایج Smoke Test

اجرای تست

در این مرحله تسترها تست‌ها را بر اساس برنامه‌های تست و Test Caseهای آماده شده انجام می‌دهند. اشکالات به منظور اصلاح به تیم توسعه گزارش داده می‌شود تا پس از آن مجددا تحت تست قرار گیرد.

معیارهای ورود

  • RTM، برنامه تست، Test Case/Test Scriptها به عنوان مبنای عملیات در دسترس باشند
  • محیط تست آماده باشد
  • تنظیم داده‌های تست انجام شده باشد
  • گزارش تست Unit/Integration برای تست کردن Build در دسترس باشد

فعالیت‌ها

  • اجرای تست‌‌ها طبق برنامه
  • مستندسازی نتایج تست(Test Result)، و لاگ کردن نواقص به عنوان موارد Fail شده
  • در صورت لزوم، برنامه‌های تست و یا Test Caseها را به روز کنید
  • نواقص را در RTM به Test Caseها Map کنید
  • نواقص رفع شده را مجداد تست کنید
  • تست رگرسیون روی برنامه
  • دنبال کردن نواقص برای بستن و تکمیل کردن رفع آنها

معیارهای خروج

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

تحویل دادنی‌ها

  • RTM تکمیل شده با قرار گرفتن در وضعیت اجرا
  • Test Caseهای به روز شده با نتایج
  • گزارش‌های نقص

خاتمه چرخه تست

در این مرحله تیم تست به منظور شناسایی استراتژی‌هایی که باید در آینده اجرا شوند و درس‌هایی که از چرخه تست جاری گرفته شده است، جلسه‌ای برگزار کرده و فرآورده‌های تست را مورد بحث و تحلیل قرار می‌دهد. ایده این مرحله این است که گلوگاه‌های فرآیند برای چرخه‌های تست آتی حذف شوند و بهترین شیوه‌ها برای هر پروژه مشابه در آینده به اشتراک گذاشته شود.

معیارهای ورود

  • تست کامل شده باشد
  • نتایج تست در دسترس باشند
  • لاگ‌های مربوط به نقص در دسترس باشند

فعالیت‌ها

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

معیارهای خروج

  • تائید و تصویب گزارش خاتمه تست بوسیله مشتری

تحویل دادنی‌ها

  • گزارش خاتمه تست
  • متریک‌های تست

این مطلب بخشی از دوره آموزشی رایگان تست نرم‌افزار بود، که می‌توانید تمامی مطالب این دوره رایگان را در اینجا مشاهده نمایید.

هدا رضوی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *