تست دستی چیست؟
تست دستی یکی از انواع تست نرمافزار است که تسترها بدون استفاده از ابزارهای اتوماسیون به صورت دستی Test Caseها را اجرا میکنند. اما قبل از هر چیز باید چند نکته کلیدی را در مورد تست دستی بدانید:
- تست دستی، ابتداییترین نوع تست است و به پیدا کردن باگها در سیستم نرمافزاری کمک میکند.
- هر اپلیکیشن جدید باید ابتدا به صورت دستی تحت تست قرار گیرد، تا بتوان در ادامه تست آن را خودکار نمود. تست دستی نیاز به تلاش بیشتری دارد، اما چنین کاری برای امکانسنجی اتوماسیون تست لازم است.
- تست دستی نیازی به شناخت و دانش روی ابزارهای تست ندارد.
- یک موضوع را به خاطر داشته باشید که: “اتوماسیون به مقدار ۱۰۰% ممکن نیست“.
این موارد باعث میشود که تست دستی امری ضروری باشد.
هدف تست دستی
- مفهوم کلیدی تست دستی این است که اطمینان حاصل شود که برنامه بدون خطا بوده و در مطابقت با Functional Requirementهای(نیازمندیهای کارکردی) مشخص شده کار میکند.
- Test Suiteها و Test Caseها، در فاز Testing طراحی میشوند و باید ۱۰۰% پوشش تست(Test Coverage) را داشته باشند.
- همچنین باید اطمینان حاصل شود که نقص(Defect) گزارش شده توسط توسعهدهندگان رفع شده است و تست مجدد روی این نواقص توسط تسترها انجام شده است.
- اساسا تست کردن(چه به صورت دستی و چه به صورت اتوماتیک) کیفیت سیستم را بررسی میکند تا یک محصول Free-Bug به مشتری تحویل شود.
انواع تست دستی
نمودار ارائه شده در ذیل انواع تست دستی را نشان میدهد. در حقیقت هر نوع از تست نرمافزار را میتوان هم به صورت دستی و هم با استفاده از یک ابزار به صورت اتوماتیک انجام داد.
افسانه های تست دستی
در زیر چندین افسانه و واقعیت را در راتباط با تست دستی ارائه میدهیم:
افسانه: هر کس میتواند تست دستی انجام دهد
- واقعیت: تست نیازمند مجموعه بزرگی از مهارتهاست.
افسانه: انجام تست، ارائه یک محصول ۱۰۰% بدون نقص را تضمین میکند
- واقعیت: تست تلاش میکند حداکثر نواقص را تا حد امکان بیابد. شناسایی تمام نواقص احتمالی غیر ممکن است.
افسانه: تست اتوماتیک قدرتمندتر از تست دستیست
- واقعیت: اتوماسیون تست به صورت صد در صدی ناممکن است. تست دستی یک امر ضروریست.
افسانه: تست آسان است
- واقعیت: تست میتواند به شدت چالش برانگیز باشد. تست نرمافزار برای تمام Use Caseها با حداقل Test Caseها نیازمند مهارتهای تحلیلی بسیار بالاست.
تست دستی در مقابل اتوماسیون تست
تست دستی | تست اتوماتیک |
---|---|
برای اجرای تست نیازمند مداخله انسانی است | برای اجرای Test Caseها از ابزار استفاده میکند |
به نیروی ماهر، زمان زیاد و هزینه بالا نیاز دارد | در زمان، هزینه و نیروی انسانی صرفهجویی میکند. علاوه بر این پس از ثبت برای اجرا بسیار آسانتر از تست دستیست |
همه انواع تست نرمافزار را میتوان به صورت دستی انجام داد(به جز معدودی که انجام دستی آنها به صرفه نیست، مانند Performance Testing)، اما در این میان برخی از انواع تست مانند Ad-Hoc Testing و Monkey Testing برای انجام به صورت دستی مناسبتر هستند | فقط برای سیستمهای پایدار توصیه میشود، و غالبا برای تست رگرسیون مورد استفاده قرار میگیرد |
میتواند تکراری و خسته کننده شود | بخش خستهکننده کار یعنی اجرای مکرر Test Caseها بوسیله ابزار مربوطه در اتوماسیون تست اداره میشود |
ابزارهای خودکارسازیِ تست دستی
- Selenium
- QTP
- Jmeter
- Loadrunner
- TestLink
- Quality Center-ALM
نتیجه
تست دستی فعالیتیست که نیازمند یک تستر صبور، باهوش و خلاق است.
آنها باید بر اساس دیدگاه کاربر نهایی فکر کرده و عمل نمایند.
این مطلب بخشی از دوره آموزشی رایگان تست نرمافزار بود، که میتوانید تمامی مطالب این دوره رایگان را در اینجا مشاهده نمایید.