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

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

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

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

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

 

لیست فعالیت‌ها در خدمت تست نرم‌افزار نهفته

  • همکاری در تهیه سناریو عملکرد نرم‌افزار به‌عنوان سند پایه
  • همراهی در فرآیند توسعه محصول به‌عنوان بازوی تست، جهت :
    • استخراج الزامات تست و تعبیه آن‌ها در محصول
    • طراحی سناریوی تست، از تست واحد تا تست‌های سیستم
    • طراحی و ساخت زیرساخت‌های سخت‌افزاری و نرم‌افزاری تست
  • پیاده‌سازی و اجرای تست‌ها و ارائه گزارش‌های مربوطه
  • ارائه ابزارهای :
    • صحت‌سنجی ایستا
    • مشاهده‌پذیری و کنترل‌پذیری
    • تست اتوماتیک
  • آموزش مهندسان کارفرما در زمینه طراحی و اجرای تست