تست نرم افزار Software Testing

Images
Images
Images
Images

تست نرم افزار Software Testing

  • مقالات
  • 2,362 بازدید
در تست نرم افزار منطق درونی قطعات نرم افزار و همچنین دامنه های ورودی و خروجی به کل نرم افزار مورد بررسی قرار میگیرد همچنین تست نرم افزار باید بتواند نشان دهد که آیا نیازمندیهای مشتری ارضاء شده است یا خیر...؟
 

تست نرم افزار software testing

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

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

تست خوب (software testing) تستی است که احتمال یافتن خطا در  آن بالا باشد و کار اضافه انجام ندهد زیرا منابع و زمان محدود است. همچنین باید نه خیلی ساده باشد و نه خیلی پیچیده.

 

 

روشهای تست نرم افزار:

♦ تست جعبه سفید (White-Box test)

نام دیگر این روش، تست جعبه شیشه ای است و با استفاده از ساختارهای درونی یک قطعه، حالات تست را استخراج میکند. در این روش سعی میشود حالات تست به نحوی استخراج شوند که موارد زیر تضمین گردند:

  • تمامی مسیرهای کنترلی مستقل در کد یک قطعه حداقل یکبار تست شده باشند.
  • تمامی تصمیم گیری های منطقی (if) براساس درست یا نادرست بودن شرط آن تست شده باشند.
  • تمامی حلقه های تکرار (loop) در محدوده تکرار و ابتدا و انتهای شرط حلقه تست شده باشند.
  • تمامی ساختارهای داده ای داخلی از جهت اعتبارسنجی وارسی شده باشند.

 

 

♦ تست مسیرهای بنیادی (Basic Path Testing)

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

 

 

♦ تست ساختارهای کنترلی

این روش شرطهای منطقی (if) موجود در برنامه را تست میکند. شرطها میتوانند به انواع مختلفی باشند:

  • شرط ساده، یک متغیر بولی.
  • عبارات رابطه ای، عباراتی با عملگرهای رابطه ای < و  =<و = و =<  و<.
  • شرط مرکب، ترکیبی از شرطهای ساده، عملگرهای بولی و گرانتز.

 

 

♦ تست حلقه

حلقه ها عناصر مهم وسازنده اغلب الگوریتم هایی هستند که در نرم افزار بکار میروند. برای یک حلقه ساده که حداکثر n مرتبه باید انجام شود تستهای زیر را میتوان انجام داد:

  1. بطور کلی از روی حلقه بگذریم.
  2. حلقه تنها یک مرتبه انجام گردد.
  3. حلقه دو مرتبه انجام گیرد.
  4. حلقه m مرتبه انجام گیرد (n>m).
  5. حلقه n-1 و n+1 مرتبه انجام شود.

برای تست حلقه های متوالی نیز میتوان فرض کرد که هرکدام یک حلقه مستقل هستند و از روش تست حلقه ساده استفاده کرد.

 

 

♦ تست جعبه سیاه (Black-Box Testing)

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

  1. عملیات اشتباه و یا از قلم افتاده.
  2. خطاهای موجود در واسطها.
  3. خطاهای موجود در ساختارهای داده ای و دسترسی به پایگاه داده ای خارجی.
  4. خطاهای رفتاری یا اشتباهات از نظر کارایی.
  5. اشتباه در مقداردهی اولیه و یا کارهای اختتامی.

 

 

♦ تقسیم بندی به گروههای هم ارز

یکی از روشهای جعبه سیاه روش تست تقسیم بندی به گروههای هم ارز است. در این روش دامنه داده های ورودی برنامه به دسته های متفاوتی تقسیم میشوند و حالات تست براساس این دسته ها انتخاب میشوند. هدف اصلی استفاده از این روش کم کردن تعداد حالات تست است بدین صورت که از یک مجموعه حالات یکسان تنها یک حالت تست اعمال شود.

 

 

♦ تحلیل مقادیر مرزی

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

 

 

♦ تست تشابه

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

پست های تصادفی

طوفان فکری با تیم مشاوران آکو

درخواست مشاوره
مشاوره با آکو