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




هر یک از این مراحل معیارهای ورود و خروج مشخص، مجموعه ای از اقدامات و خروجی مخصوص به خود را دارد.

منظور از ضوابط ورودی و خروجی چیست؟

ضابطه ورودی

ایتم های پیشنیازی که قبل از شروع تست باید کامل شده باشند

ضابطه خروجی

آیتم هایی که برای انجام تست باید تکمیل شده باشند.

در هر سطح از چرخه تست نرم افزار این ضوابط وجود دارند و در حالت ایده آل در صورتی که ضابطه خروجی یک مرحله کامل نشده باشد نباید تست در هر مرحله بعد شروع شود. اما در حالت واقعی و عملی چک کردن این موارد همیشه امکان پذیر نیست؛ در این مقاله تمرکز بر فعالیت ها و خروجی های هر مرحله است.

۱. جمع آوری نیازمندی

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

تیم تایید کیفیت ممکن است با ذینفعان مختلف از مشتری و تحیل گر کسب و کار گرفته تا مدیر فنی و معمار سیستم برای فهم جزئیات نیازمندی ها تعامل داشته باشد.

نیازمندی ها میتوانند هم کارکردی ( تعریف کننده آنچه که نرم افزار باید انجام دهد) و هم غیر کارکردی ( معرف عملکرد، امنیت و در دسترس پذیری سیستم) باشند.

امکان سنجی تست خودکار برای پروژه ی مد نظر در این فاز انجام میگیر‌د.

اقدامات فاز:

  • شناسایی انواع تست هایی که باید انجام شوند.
  • جمع آوری جزئیات مربوط به اولویت ها و نقاط تمرکز
  • آماده سازی ماتریس پیگیری نیازمندی ها یا Requirement Traceability Matrix (این ماتریس برای بین نیازمندی ها و تست کِیس ها  برای اطمینان از پوشش صد در صدی توابع و متدهای نرم افزار تشکیل می شود )
  • شناسایی جزئیات محیطی که تست قرار است در آن انجام شود.
  • امکان سنجی انجام تست خودکار

خروجی ها:

  • ماتریس پیگیری نیازمندی ها - RTM  
  • گزارش امکان تست خودکار

2. برنامه ریزی تست

این فاز تعیین راهبرد تست نیز نام دارد. در اینجا کارشناس ارشد تضمین کیفیت هزینه و کار لازم برای پروژه ی تست را تخمین زده و برنامه ی تست را آماده و نهایی سازی میکند.

اقدامات:

  • آماده سازی سند راهبردی تست برای انواع تست
  • انتخاب ابزار تست
  • تخمین میزان کار و زمان لازم 
  • برنامه ریزی منابع و تعیین نقش ها و مسئولیت ها
  • آموزش نیازمندی ها

خروجی ها:

  • سند راهبردی تست
  • سند تخمین میزان کار و زمان لازم برای پروژه تست

3. توسعه تست کِیس ها

ایجاد، تایید و بازنگری تست کِیس ها و اسکریپت های تست در این گام صورت می پذیرد. داده های تست نیز به همین منوال شناسایی و ایجاد می شوند.

اقدامات:

  • تولید تست کِیس ها و اسکریپت های تست خودکار( در صورت امکان)
  • مرور و بازنگری موارد و اسکریپت های تست
  • ایجاد داده های تستی ( در صورتی که محیط تست در دسترس باشد)

خروجی ها:

  • تست کِیس ها و اسکریپت های تست
  • داده های تست

4. برپایی محیط تست

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

اقدامات:

  • فهم معماری مورد نیاز، برپایی محیط و آماده سازی لیست نرم افزار و سخت افزارهای لازم برای محیط تست
  • انجام تست اسموک

خروجی ها:

  • محیط تست آماده به همراه داده های تست برپا شده
  • نتیجه تست اسموک

5. اجرای تست

در این گام تیم تست با توجه به برنامه و راهبرد تست و نیز تست کِیس ها، اقدام به انجام تست کرده و گزارش باگهای پیدا شده را به تیم توسعه برای رفع ارسال میکند. 

اقدامات:

  • اجرای تست ها براساس پلن های تستی
  • مستندسازی نتیجه تست و لاگ کردن نتیجه باگ ها و نقص ها
  • نگاشت باگ ها به تست کِیس ها در ماتریس RTM
  • تست دوباره ی نقایص برطرف شده


خروجی ها:

  • تکمیل RTM با وضعیت و نتایج اجرای تست
  • به روزرسانی تست کِیس ها با نتایج حاصل
  • گزارش باگ ها

6. بسته شدن چرخه تست

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

اقدامات:

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


خروجی ها:

  • گزارش خاتمه ی چرخه تست
  • سنجه های تست


خلاصه

تست نرم افزار فعالیتی تک مرحله ای و فقط اجرا نیست بلکه چرخه ای از فعالیت ها است که در هر مرحله ضوابط ورودی و خروجی مشخص، مجموعه ای اقدامات و نتایجی حاصل می شود که می تواند در گام بعد مورد استفاده قرار گیرد. در این مقاله 6 گام اساسی در چرخه تست نرم افزار از تحلیل نیازمندی گرفته تا اجرای تست و خاتمه ی چرخه تست با گزارشات کمی و کیفی را مورد بررسی قرار دادیم.



آموزش برنامه نویسی سی شارپ، آموزش ASP.NET MVC، آموزش طراحی صفحات وب، آموزش برنامه نویسی موبایل (Xamarin) - از مقدماتی تا پیشرفته در سپیدآریا