یکشنبه , ۹ اردیبهشت ۱۴۰۳

مستندسازی تست در تست نرم‌افزار

Test Documentation
Test Documentation

مستندسازی تست چیست؟

مستندسازیِ تست عبارتست از مستندسازیِ محصولات(Artifact) تولید شده قبل یا در خلال تست کردن نرم‌افزار. این عملیات به برآورد تلاش(Test Effort) مورد نیاز در حوزه تست، Test Coverage، ردیابی منابع، فرآیند اجرا و غیره کمک می‌کند. اسناد تست مجموعه‌ای کامل از مستندات هستند که به شما اجازه می‌دهند تا برنامه‌ریزی تست، طراحی تست، اجرای تست و نتایج تست که از فرآیند تست منشعب می‌شوند را مستند نمایید. در این آموزش، در رابطه با موارد ذیل صحبت خواهد شد:

  • چرا رسمیت و تشریفات تست؟
  • نمونه‌های مستندات تست
  • بهترین شیوه‌ها(Best Practice) برای دستیابی به مستندات تست
  • مزایای مستندسازی تست
  • معایب مستندسازی تست
Test Documents
Test Documents

چرا رسمیت و تشریفات تست؟

آسان است که برای یک تازه کار فرض کنیم، تست یعنی اجرای بخش‌های مختلف کد به صورت ad-hoc و ممیزی نتایج خروجی، اما در دنیای واقعی، تست یک فعالیت بسیار رسمیست و با سطحی از دقت(در مورد شدت و حدت این کار صحبت خواهد شد) مستند می‌شود. اسناد تست باعث می‌شوند برنامه‌ریزی(Planning)، بازبینی(Review) و اجرای تست(Test Execution) آسان و ممیزپذیر باشد.

تشریفات تست به موارد ذیل بستگی دارد:

  • نوع اپلیکیشن تحت تست
  • استانداردهای مد نظر سازمان شما
  • بلوغ فرآیند توسعه

فعالیت‌های تست عموما ۲۰ تا ۵۰ درصد از تلاش‌های پروژه توسعه نرم‌افزار را مصرف می‌کنند. البته در پروژه‌های بسیار خاص مانند سیستم‌های Safety Critical این مقدار به ۸۰ درصد هم می‌رسد. در این میان مستندات به شناسایی بهبود فرآیند تست کمک می‌کنند و می‌توانند به پروژه‌های آینده اعمال شوند.

نمونه‌های مستندات تست

در جدول ذیل مهمترین اسناد تست به همراه یک شرح مختصر روی آنها ارائه شده‌اند:

انواع تست

شرح

Test Policy

این یک سند سطح بالاست که اصول، متدها، و تمام اهداف مهم تستِ سازمان تشریح می‌کند

Test Strategy

یک سند سطح بالا که Test Levelهایی که باید برای پروژه اجرا شوند را مشخص می‌کند

Test Plan

یک Test Plan، یک سند سند Planning کامل است، که مشتمل بر دامنه، رویکرد، منابع، زمانبندی، و ... در راستای فعالیت‌های تست است

ماتریس ردیابی نیازمندی‌ها

Requirements Traceability Matrix یا ماتریس ردیابی نیازمندی‌ها، سندیست که نیازمندی‌ها یا Requirementها را به Test Caseها مرتبط می‌کند

Test Scenario

سناریوی تست یک آیتم یا رویدادی از یک سیستم نرم‌افزاریست که بوسیله یک یا چند Test Case ممیزی می‌شود

Test Case

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

Test Data

Test Data داده‌ایست که قبل از اجرای تست استخراج می‌شود. این اطلاعات برای اجرای Test Case مورد استفاده قرار می‌گیرند.

Defect Report

گزارش نقص یا Defect Report یک گزارش مستند از هر گونه نقص در سیستم نرم‌افزاریست که منجر به شکست در اجرای صحیح یک کارکرد(Function) می‌شود

گزارش خلاصه تست

Test Summary Report یا گزارش خلاصه تست یک سند سطح بالاست که خلاصه فعالیت‌های تست و همچنین Test Result را ارائه می‌دهد.

بهترین شیوه‌ها(Best Practice) برای دستیابی به مستندات تست

  • تیم QA باید در مرحله اولیه پروژه شرکت داشته باشد تا مستندات تست به صورت موازی ایجاد شوند
  • سعی نکنید فقط سند را ایجاد کرده و سپس آنرا رها کنید، بلکه هر زمان که لازم باشد باید آنرا به روزرسانی کنید
  • از کنترل نسخه(Version Control) برای مدیریت و پیگیری اسناد خود استفاده کنید
  • سعی کنید آنچه که برای شما نیاز است را مستند نمایید، تا بدین ترتیب کار شما و آنچه باید برای ذینفعان خود تولید کنید، درک شود
  • شما باید از یک قالب استاندارد برای اسناد خود استفاده نمایید، مانند شیت اکسل یا فایل doc
  • تمام اسناد مربوط به پروژه خود را در یک محل ذخیره کنید. این محل باید برای هر عضو تیم به منظور ارجاع و به روز رسانی در زمان مقتضی، در دسترس باشد
  • عدم ارائه جزییات کافی نیز یک اشتباه رایج در ایجاد اسناد تست است، که باید از اجتناب شود

مزایای مستندسازی تست

  • دلیل اصلی ایجاد اسناد تست، کاهش یا حذف هر گونه عدم اطمینان در مورد فعالیت‌های تست است. این اسناد به شما کمک می‌کنند تا ابهاماتی را که اغلب هنگام تخصیص وظایف به وجود می‌آید رفع کنید
  • مستندسازی نه تنها یک رویکرد سیستماتیک برای تست نرم‌افزار ارائه می‌دهد، بلکه به عنوان Training Material برای تازه واردها در فرآیند تست نرم افزار ایفای نقش می‌کند
  • علاوه بر این نمایش مستندات یک استراتژی بازاریابی و فروش خوب برای نشان دادن یک فرآیند تست بالغ است
  • اسناد تست به شما کمک می‌کنند که در یک محدوده زمانی مشخص یک محصول باکیفیت به مشتری خود تحویل دهید
  • بعلاوه در مهندسی نرم‌افزار، مستندسازی تست به پیکربندی و یا ستاپ کردن از طریق سند پیکربندی و راهنمای اوپراتور کمک می‌کند
  • مستندسازی تست به بهبود شفافیت شما با مشتری کمک می‌کند

معایب مستندسازی تست

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

خلاصه

  • مستندسازی تست عبارتست از مستند‌سازی محصولاتیست(Artifact) که قبل یا در حین تست نرم افزار ایجاد شده‌اند.
  • میزان تشریفات و رسمیت در تست بستگی به موارد ذیل دارد:
    • نوع برنامه تحت تست
    • استانداردهای مد نظر سازمان شما
    • بلوغ فرآیند توسعه
  • انواع مهم اسناد تست عبارتند از: Test Policy، Test Strategy، Test Plan، Test Case و غیره.
  • تیم QA باید در مرحله اولیه پروژه شرکت داشته باشد تا مستندات تست به صورت موازی تولید شود.
  • دلیل اصلی ایجاد اسناد تست، کاهش یا حذف هر گونه عدم اطمینان در مورد فعالیت‌های تست است.
  • هزینه تولید و به روز رسانی اسناد تست ممکن است از ارزش آن فراتر برود، زیرا بسیار وقتگیر است

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

ابوالفضل خواجه دیزجی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

دیدگاهتان را بنویسید

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