در این پست از وبسایت پرووید در رابطه با اهمیت فرآیند تست کردن، تضمین کیفیت و کنترل کیفیت صحبت خواهیم کرد.

تست دستی (Manual Testing)

همانطور که از نام این نوع از تست مشخص است، فرآیند تست به صورت دستی انجام می پذیرد. به عبارت دیگر، از هیچ ابزاری برای خودکار سازی و یا هیچ اسکریپتی استفاده نمی شود. اتفاقی که در این نوع از تست می افتد این است که تستر خود را در نقش کاربر نهایی قرار داده و به منظور کشف هر گونه اشکال یا رفتار غیرمطلوبی نرم افزار را تست می کند. مراحل مختلف در تست دستی وجود دارند که برخی از آنها شامل تست واحد (Unit Test)، تست یکپارچه سازی (Integration Test)، تست سیستم (System Test) و تست پذیرش (Acceptance Test) کاربر می باشند. برای کسب اطلاعات بیشتر مقاله انواع سطوح مختلف در تست نرم افزار را مطالعه کنید.

برخی از تکنیک هایی که تستر به منظور تضمین کامل بودن نرم افزار در این نوع از تست استفاده می کند شامل برنامه های تست، موارد تست و یا سناریوهای تست می باشد. تست اکتشافی (Exploratory Test) که در آن تستر نرم افزار را به طور کامل بررسی می کند تا هر خطای احتمالی را کشف کند نیز از انواع تست دستی می باشد.

بسته ی آموزش ویدئویی Unit Testing برای برنامه نویسان سی شارپ

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی Unit Testing برای برنامه نویسان سی شارپ دیدن کنید.

تست خودکار (Automation Testing)

در این نوع از تست، پس از نوشته شدن تست ها، تستر از ابزاری دیگر برای اجرای تست ها استفاده می کند. خودکار بودن این نوع از تست به این معنی است که می توان تست های نوشته را با سرعت بالا مکرراً اجرا کرد تا خطاهای احتمالی نرم افزار در سناریوهای مختلف کشف شوند. تست خودکار به منظور تست کردن نرم افزار از نقطه نظر بار (Load)، کارایی (Performance) و استرس (Stress) نیز استفاده می شود. در مقایسه با تست دستی، برخی از مزایای استفاده از تست خودکار افزایش پوشش تست (Test Coverage)، بهبود دقت، صرفه جویی در زمان و هزینه است.

چه چیزی را باید خودکار کرد؟

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

چه زمانی باید از خودکار کردن تست استفاده کرد؟

در هنگام خودکار کردن تست باید به جنبه های زیر در نرم افزار دقت کرد:

  • نرم افزارهایی بزرگ و اضطراری
  • نرم افزارهایی که نیازمند تست شدن مکرر در بخش های خاصی هستند
  • نرم افزارهایی که در آنها نیازمندی ها اغلب تغییر نمی کنند
  • نرم افزارهایی که توسط بسیاری کاربر مجازی مورد دسترسی قرار می گیرند
  • نرم افزار هایی که با کمک تست دستی به یک حالت پایدار رسیده اند
  • نرم افزارهایی که قیود دسترس پذیری خاصی از نظر زمانی دارند

بسته ی آموزش ویدئویی Automated Testing از ابتدا تا پایان

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی Automated Testing از ابتدا تا پایان دیدن کنید.

خودکار کردن تست چگونه باید انجام شود؟

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

  • مشخص کردن قسمت هایی از نرم افزار برای خودکارسازی
  • انتخاب ابزار مناسب برای خودکارسازی
  • نوشتن اسکریپت های تست
  • توسعه ی Test Suite ها
  • اجرای اسکریپت ها
  • ساخت گزارش نتایج
  • مشخص کردن خطاهای احتمالی و مشکلات مربوط به Performance

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

برخی از ابزارهایی که در خودکارسازی تست ها می توانند مورد استفاده قرار بگیرند عبارت اند از:

  • HP Quick Test Professional
  • Selenium
  • IBM Rational Functional Tester
  • SilkTest
  • TestComplete
  • Testing Anywhere
  • WinRunner
  • LaodRunner
  • Visual Studio Test Professional
  • WATIR

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

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *