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

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

چرخه عمر تست نرم افزار چیست؟What is Software Testing Life Cycle?

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

توسط : admin
تست برای توسعه نرم افزارهای مدرن امری مهم است. از نظر فنی ، تست نرم افزار یک بخش ضروری از چرخه عمر توسعه نرم افزار یعنی SDLC است. اگرچه بسیاری از رویکردهای SDLC مانند Agile ، DevOps و RAD نیز وجود دارند ، اما موضوع تست موضوع جامع تری است.

 

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

 

 a.k.a. STLC ،چرخه عمر تست نرم افزار ، به شیوه ای مناسب و کامل در انجام فرآیند آزمایش ، کمک می کند. این چرخه دارای مراحل بسیاری از قبیل جمع آوری نیازها ، تجزیه و تحلیل و اجرای آن است. این مقاله بطور جامع هر مرحله از STLC را مورد بررسی قرار می دهد.

 

STLC چیست؟ [Software Testing Life Cycle]

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

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

 

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

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

 

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

 

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

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

 

شناسایی معیارهای مربوطه و همچنین رویکردهای جمع آوری و ردیابی مشابه ، نیز در مرحله برنامه ریزی STLC انجام می شود. مرحله برنامه ریزی معمولاً بر اساس 3 چیز تعیین می شود:

 

  1. الزامات
  2. استراتژی آزمون
  3. تجزیه و تحلیل ریسک یا مدیریت و کاهش ریسک

 

3. تجزیه و تحلیل

"آنچه" از کل رویکرد تست که تیم (ها) / آزمایش کننده (ها)  تاکنون ساخته اند ، در این مرحله از STLC مورد استفاده قرار می گیرد. یک روش آسان برای تولید شرایط آزمایش ، تجزیه و تحلیل الزامات است. همه این کارها تحت این موارد انجام می شود:

 

  • اسناد مورد نیاز
  • ریسک محصول
  • سایر پایه های آزمون

شناسایی شرایط آزمون کار آسانی نیست. شما می توانید تمام موارد ظاهری را دریابید ، اما مواردی ، مانند ناشناخته بودن برخی متغیرها ، می توانند تیم را از یافتن دقیق و چگونگی جنبه های روش آزمایش بازدارند.

 

عوامل مهم مؤثر بر شناسایی شرایط آزمون

  • پیچیدگی محصول نرم افزار.
  • سطح تست.
  • خطرات محصول و پروژه
  • تیم (ها) / مهارت اعضا.
  • نوع رویکرد SDLC.

 

بسیاری از عوامل دیگر وجود دارد که در شناسایی شرایط آزمون تأثیر می گذارد ، بحث در مورد همه آنها خارج از زمینه این مقاله است. به عنوان یک قاعده کلی:

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

 

4. طراحی

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

 

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

 

5- پیاده سازی

هنگامی که تیم های آزمایش با در نظر گرفتن همه موارد ، رویکرد صحیح تست نرم افزار را پیدا کرده اند ، زمان اجرای آن است. موارد تست دقیق ، در این مرحله از STLC ایجاد می شوند. دانستن این موضوعات مهم هستند :

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

هنگامی که درگیر مستند سازی و اتوماسیون هستید :

موارد آزمون را مشخص کنید ،  فرایند نوشتن تست را ادامه داده ، و موارد آزمون را بازبینی کنید .

 

6. اجرا

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

 

7. نتیجه گیری

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

معیارهای خروج ، و گزارش نویسی.

 

در این مرحله ، بر اساس گزارش های آزمون توسط تیم آزمایش تصمیم گرفته می شود ، با ورودی اضافی از طرف ذینفعان یک پروژه نرم افزاری ، یعنی هفتگی (گزارش هفتگی وضعیت هفتگی با نام WSR) ، دو بار در هفته ، دو هفته ، 15 روز یا حتی روزانه (گزارش وضعیت روزمره با نام DSR) گزارش گیری متناوب انجام شود .

 

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

 

8. بسته شدن

آخرین مرحله ای که کل چرخه عمر تست نرم افزار را در بر می گیرد شامل موارد زیر است:

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

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

 

 

انواع تست نرم افزار

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

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

 

با یافتن این موارد ، می توان به همان مواردی رسیدگی کرد که منجر به اجرای ( پروژه / نرم افزار ) مورد نظر می شود که عملکرد بیشتری داشته باشد. در اینجا لیستی مختصر از رویکردهای مختلف آزمایش را بیان کرده ایم :

 

  • آزمایش آلفا
  • آزمایش بتا
  • آزمایش سازگاری
  • آزمایش بازیابی فاجعه
  • تست پسرفت
  • تست امنیتی
  • تست استرس
  • تست واحد

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

 

1. تست عملکردی

آزمایشات تحت این گروه از تست نرم افزار به عنوان تست عملکردی خوانده می شوند. این نوع آزمایش نرم افزار با هدف ارزیابی جنبه های عملکردی یک نرم افزار کاربردی انجام شده است. در درجه اول ، هدف در اینجا بررسی این است که آیا شما نتایجی را که انتظار دارید دریافت کنید یا خیر. مثالها عبارتند از:

 

  • تست قبولی
  • تست End-to-end 
  • تست رابط
  • تست دود

این نوع تست ها می توانند به صورت دستی یا با کمک ابزارهای اتوماسیون انجام شوند. JUnit و سلنیوم دو تا از محبوب ترین ابزارهای تست عملکردی هستند.

 

2. تست غیر عملکردی

تست غیر عملکردی جنبه های غیر کاربردی یک نرم افزار مانند قابلیت اطمینان و قابلیت استفاده را ارزیابی می کند. به طور کلی ، تست های غیر عملکردی ادامه تست های عملکردی است .

 

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

 

  • تست خطا
  • آزمایش بارگذاری
  • آزمایش محلی سازی
  • تست مقیاس پذیری

معمولاً آزمایش غیر عملکردی به صورت دستی است.

 

3. تست تعمیر و نگهداری

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

 

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

 

نتیجه گیری

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

 

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

نظرات :

در عرض چند دقیقه برای ایجاد حساب

کاربری خود اقدام کنید


اکنون حساب کاربری خود را ایجاد کنید!


ایجاد حساب کاربری

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