چرخه حیات تست نرم افزار (STLC)
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 9 دقیقه

چرخه حیات تست نرم افزار (STLC)

چرخه حیات تست نرم افزار یک فرآیند تست شامل 6 مرحله است. در این مقاله تمام مراحل STLC را پوشش می‌دهیم و ماهیت آن‌ها را در موفقیت پروژه‌های نرم افزاری توضیح خواهیم داد.

تست نرم افزار چیست؟

تست نرم افزار که به آن تضمین کیفیت (Quality Assurance) نیز گفته می‌شود، فرآیند بررسی کیفیت یک نرم افزار است و مواردی چون عملکرد، قابلیت اطمینان و پایبندی به الزامات پروژه را ارزیابی می‌کند.

طبق تعریف موسسه TEST:«تست نرم افزار دانش و هنر ارائه محصولات و راه‌حل‌های نرم افزاری به مشتریان نهایی با حداکثر کیفیت خدمات ممکن و با حداقل وقفه در فرآیندها و خدمات تجاری است.»

به طور کلی متخصصان QA اطمینان حاصل می‌کنند که راه‌حل نرم افزاری الزامات عملکردی و غیرعملکردی از پیش تعریف شده را برآورده کرده و هرگونه نقص نرم افزاری را برطرف می‌سازد.

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

چرخه حیات تست نرم افزار چیست؟

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

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

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

6 مرحله کلیدی چرخه حیات تست نرم افزار

برای چرخه حیات QA به طور کلی شش مرحله وجود دارد که شامل موارد زیر است:

  • تجزیه و تحلیل نیازمندی‌ها
  • برنامه‌ریزی تست
  • طراحی نمونه تست
  • تست تنظیمات محیط
  • اجرای تست
  • بسته شدن تست

در ادامه موارد ذکرشده را به اختصار توضیح می‌دهیم و معیارهای ورود و خروج هر یک را مشخص می‌کنیم.

تجزیه و تحلیل نیازمندی‌ها

معیارهای ورود: بخش خاصی از پروژه باید اجرا شود، مشخصات الزامی و معیارهای پذیرش باید در دسترس باشد.

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

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

معیارهای خروج: درک الزامات توسط تیم تضمین کیفیت و آماده‌سازی لیست الزامات قابل تست.

برنامه‌ریزی تست

معیارهای ورود: خلاصه‌ای از الزامات مورد آزمایش باید تهیه شود.

یک ضرب‌المثل معروف قدیمی می‌گوید: «صد بار گز کن، یک بار پاره کن». در واقع برنامه‌ریزی برای موفقیت هر پروژه امری ضروری است. برنامه‌ریزی تست هم دومین مرحله از چرخه حیات تست نرم افزار است. از طرفی هدف این STLC تدوین استراتژی است که بر اساس آن یک نیاز خاص تست می‌شود. بنابراین متخصصان QA باید:

  • الزامات جمع‌آوری شده در مرحله قبل را تجزیه و تحلیل کنند.
  • انواع تست‌هایی که اعمال خواهد شد را لیست کنند.
  • ابزار تست را انتخاب کنند.
  • موارد قابل تحویل را لیست کنند.
  • ریسک‌ها را تعریف کنند.
  • جدول زمانی تست را تدوین کنند.
  • وظایف مربوطه را به اعضای تیم اختصاص دهند.

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

طراحی نمونه تست

معیارهای ورود: خلاصه‌ای از الزامات و برنامه تست باید تهیه شود.

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

یک متخصص ارزیابی کیفیت باید نمونه‌های زیر را ایجاد کند:

  • اختصاص یک شناسه منحصربه‌فرد
  • مشخص کردن نمونه
  • طرح کلی مراحل تست
  • ترسیم نتایج مورد انتظار
  • قرار دادن بخش‌هایی برای وضعیت، نتایج واقعی و نظرات

معیارهای خروج: نمونه تست‌ها باید آماده شود.

تست تنظیمات محیط

معیارهای ورود: پلن آزمایشی باید آماده شود.

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

معیارهای خروج: محیط تست باید راه‌اندازی و بررسی شود.

اجرای تست

معیارهای ورود: ارائه مشخصات مورد نیاز، طرح تست، موارد تست و محیط تست.

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

  • قبول (Passed) - نمونه تست با موفقیت تکمیل شد.
  • ناموفق (Failed) - نمونه تست با خطا مواجه شد.
  • در حال انجام (In Progress) - نمونه تست هنوز تکمیل نشده است.
  • مسدود شده (Blocked) - نمونه تست به دلیل اشکال یا خطا تکمیل نمی‌شود.

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

معیارهای خروج: تدوین گزارش نمونه تست.

بسته شدن تست

معیارهای ورود: آماده شدن گزارش نمونه تست.

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

معیارهای خروج: تدوین گزارش بسته شدن تست.

STLC - چرخه حیات

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

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

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

امروزه رقابت در بازار نرم افزار به قدری زیاد است که نباید حتی یک خطا هم در برنامه وب یا موبایل وجود داشته باشد. طبق آمار Statista در پایان سال 2019 حدود 2،570،000 برنامه در گوگل پلی و 1،840،000 برنامه در اپ استور وجود داشت. WebsiteHostingRating بیان می‌کند که تا پایان امسال 1,744,517,326 وب‌سایت آنلاین وجود خواهد داشت. هرچند تست همه بخش‌ها ممکن است همیشه امکان‌پذیر نباشد، بنابراین پیش می‌آید که خطاهای جزئی باقی بمانند.

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

جمع‌بندی

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

  • تجزیه و تحلیل نیازمندی‌ها
  • برنامه‌ریزی تست
  • طراحی نمونه تست
  • تست تنظیمات محیط
  • اجرای تست
  • بسته شدن تست

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

منبع

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
در انتظار ثبت رای

1 ماه پیش
/@heshmati74
عرفان حشمتی
Full-Stack Web Developer

مهندس معماری سیستم های کامپیوتری، طراح و توسعه دهنده وب سایت

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

عرفان حشمتی

Full-Stack Web Developer

مقالات برگزیده

مقالات برگزیده را از این قسمت میتوانید ببینید

مشاهده همه مقالات