تستها را میتوان جزو فرآیندهایی دانست که با هدف پیدا کردن خطا در برنامهها اجرا میشوند. برای اینکه نرمافزار ما به درستی عمل کند، باید عاری از هرگونه خطایی باشد. اگر فرآیند تست با موفقیت انجام داده شود، تمام خطاها از نرمافزار حذف خواهند شد.
اصول تست
- تستها باید نیازهای مشتریان را برآورده کنند.
- یک ابزار شخص ثالث باید در فرآیند تست نرمافزار ما دخیل باشد.
- انجام دادن تستهای جامع امکانپذیر نیست. ما باید تعداد معینی از تستها را با توجه به ارزیابیها اجرا کنیم.
- تمام تستها باید با برنامهریزی اجرا شوند.
- تستها از قانون Pareto (قانون 20/80) پیروی میکنند. طبق باور این قانون، 80 درصد از خطاها از 20 درصد مولفههای برنامه ناشی میشوند.
- ابتدا بخشهای کوچک را تست کنید و سپس به سراغ بخشهای بزرگتر بروید.
انوع تست
1. تست واحد (Unit Testing)
این تست روی کوچکترین واحد طراحی نرمافزار تمرکز میکند. ما در تست Unit یک واحد یا گروهی از واحدهای مرتبط با یکدیگر را آزمایش میکنیم. این تست اغلب با استفاده از نمونه ورودی و مشاهده خروجی مربوطه صورت میگیرد. معمولاً برنامهنویسان از این تست استفاده میکنند.
- در برنامههایی که مشغول بررسی حلقه، روش و عملکرد خوب تابع هستیم.
- در برنامههایی با راهاندازی نادرست
2. تست یکپارچهسازی (Integration Testing)
هدف ما در این تست، استفاده از مولفههای آزمایش شده توسط تست واحد برای خلق یک ساختار برنامهای است. تست یکپارچهسازی به آزمونی گفته میشود که در آن گروهی از مولفهها برای تولید یک خروجی با یکدیگر ادغام میشوند.
تست یکپارچهسازی دارای 4 نوع بالا به پایین (Top-down)، پایین به بالا (Bottom-up)، ساندویچی (sandwich) و انفجار بزرگ (Big-Bang) است.
- تست جعبه سیاه: از این تست برای اعتبارسنجی استفاده میشود. در این رویکرد، تمامی مکانیسمهای داخلی یک سیستم نادیده گرفته میشود و تنها روی خروجی تمرکز میکنیم.
- تست جعبه سفید: از این تست برای تایید استفاده میشود. در این تست ما روی مکانیسم داخلی تمرکز خواهیم داشت.
3. تست رگرسیون (Regression Testing)
اضافه شدن ماژولهای جدید باعث به وجود آمدن تغییراتی در برنامه میشود. این تست مطمئن میشود که تمام اجزا حتی پس از اضافه شدن به برنامه نیز عملکرد درستی را از خودشان به نمایش میگذارند.
- فرض کنید در یک فایل مدرسه ما ماژولهای کارکنان، دانشآموزان و غیره را در اختیار داریم. به ترکیب کردن ماژولها و بررسی عملکرد آنها در حالت یکپارچهسازی، تست رگرسیون گفته میشود.
4. تست دود (Smoke Testing)
این تست برای اطمینان حاصل کردن از آمادگی یا پایداری یک نرمافزار برای اجرای تستهای بیشتر است. افراد این آزمون را در مراحل ابتدایی اجرا میکنند تا میزان آماده بودن نرمافزار را برای مراحل بعدی بررسی کنند.
- اگر پروژهای دارای 2 ماژول باشد، قبل از رفتن به ماژول دوم باید از عملکرد درست ماژول اول مطمئن شد.
5. تست آلفا (Alpha Testing)
تست آلفا یک تست اعتبارسنجی است. تست آلفا قبل از عرضهی محصول به مشتریان انجام میشود تا میزان پذیرش محصول را مشخص کند. معمولاً این تست توسط تیم تضمین کیفیت انجام داده خواهد شد.
- وقتی تست نرمافزار در درون سازمان یا شرکت انجام داده میشود.
6. تست بتا (Beta Tesdting)
تست بتا توسط کاربر نهایی نرمافزار انجام داده میشود. نسخهی بتا برای تعداد محدودی از کاربران منتشر میشود تا محصول در یک محیط واقعی مورد آزمایش قرار گیرد.
- وقتی تست نرمافزار برای تعداد محدودی از مردم انجام داده میشود.
7. تست سیستم (System Testing)
نرم افزارها در این تست به گونهای آزمایش میشوند که در تمام سیستمعاملها به خوبی عمل کنند. این تست جزو تکنیک جعبه سیاه است. ما در تست سیستم فقط روی ورودی و خروجی لازم تمرکز میکنیم. ما در اینجا تست امنیت، تست بازیابی، تست استرس و تست عملکرد را داریم.
- این موضوع شامل تست عملکردی و غیرعملکردی است.
8. تست استرس (Stress Testing)
ما در این حالت شرایط نامطلوبی را به سیستم میدهیم تا نحوهی عملکرد آن را در چنین موقعیتهایی بررسی کنیم.
- مواردی که به حداکثر حافظه یا سایر منابع نیاز خواهند داشت
- مواردی که بیش از حد به دیسک احتیاج خواهد داشت
9. تست عملکرد (Performance Testing)
این تست به شکلی طراحی شده تا عملکرد اجرایی یک نرمافزار را در چارچوب یک سیستم یکپارچه آزمایش کند. از این تست برای سنجش سرعت و اثربخشی برنامه استفاده میشود. مردم این تست را با نام تست بارگیری نیز میشناسند. ما در این نوع تست، عملکرد سیستم را مورد بررسی قرار میدهیم.
- بررسی تعداد چرخههای پردازنده
10. تست شیگرا (Object-Oriented Testing)
این تست ترکیبی از تکنیکهای مختلف آزمایشی است که به تایید و اعتبارسنجی نرمافزارهای شیگرا کمک میکند. این تست را میتوان به ترتیب زیر انجام داد:
- تست الزامات
- طراحی و آنالیز تست
- تست کد
- تست یکپارچهسازی
- تست سیستم
- تست کاربر
ما از تست شیگرا برای بحث کردن در مورد برنامههای آزمایشی و اجرای پروژهها استفاده میکنیم.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید