سطوح آزمون نرم افزار

 

آزمون نرم­ افزار می­ تواند روی نیازمندی­ های سیستم، طراحی مؤلفه­ ها و یا کد اصلی برنامه اعمال شود. در ادامه به بررسی سطوح متفاوت آزمون با توجه به ورودی­های تحت آزمون می­­پردازیم.

 

آزمون پذیرش

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

 

آزمون سیستم

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

 

آزمون تجمیع

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

 

آزمون ماژول

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

 

آزمون واحد

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