مقدمة عن اختبار البرمجيات

مقدمة عن اختبار البرمجيات وشرح مبسط لبعض انواعها

لمياءمنذ 4 سنوات

اختبار البرمجيات هو عملية هدفها تزويد المستخدمين بمعلومات عن جودة المنتج أو البرامج التي يتم اختبارها. اختبار البرمجيات يمكن أيضا أن يظهر عيوب البرامج للمستخدمين بحيث يمكن مراعاتها في الاستخدام. 

تتضمن تقنيات الاختبار عملية تنفيذ برنامج أو تطبيق بهدف العثور على أخطاء في البرامج (أخطاء أو عيوب أخرى)، والتحقق من أن منتج البرنامج مناسب للاستخدام.

يمكن أن يوفر اختبار البرامج معلومات موضوعية ومستقلة حول جودة البرامج وخطر فشلها للمستخدمين أو الرعاة , ويمكن إجراء اختبار البرامج بمجرد وجود برامج قابلة للتنفيذ (حتى وإن كانت مكتملة جزئيا). وكثيراً ما يحدد النهج العام لتطوير البرمجيات متى وكيفية إجراء الاختبار. على سبيل المثال، في عملية تدريجية، يتم إجراء معظم الاختبار بعد أن تم تعريف متطلبات النظام ثم تنفيذها في البرامج القابلة للاختبار. وفي المقابل، في إطار نهج مرن ، غالباً ما يتم تنفيذ المتطلبات والبرمجة والاختبار في وقت واحد.

العيوب والإخفاقات:
ليست جميع عيوب البرامج ناتجة عن أخطاء في الكود البرمجي. أحد المصادر الشائعة للعيوب المكلفة هو الثغرات في المتطلبات، أي المتطلبات غير المعترف بها التي تؤدي إلى أخطاء  من قبل مصمم البرنامج. 

تركيبات الإدخال والشروط المسبقة:
وثمة مشكلة أساسية في اختبار البرمجيات هي أن الاختبار في إطار جميع مجموعات المدخلات والشروط المسبقة (الحالة الأولية) غير ممكن، حتى مع وجود منتج بسيط.

وهذا يعني أن عدد العيوب في منتج البرمجيات يمكن أن تكون كبيرة جدا والعيوب التي تحدث نادرا ما يصعب العثور عليها في الاختبار.

لا يمكن لمطوري البرامج اختبار كل شيء، ولكن يمكنهم استخدام تصميم الاختبار الدمجي لتحديد الحد الأدنى لعدد الاختبارات اللازمة للحصول على التغطية التي يريدونها. تصميم اختبار الجمع تمكن المستخدمين الـحصول على تغطية اختبار أكبر مع اختبارات أقل. 

بعض أنواع اختبار البرمجيات :

الاختبار الاستكشافي"Exploratory testing ":

هو كل شيء عن الاكتشاف والتحقيق والتعلم. وهو يؤكد على الحرية الشخصية والمسؤولية الشخصية للمختبر الفردي. يتم تعريفه كنوع من الاختبارات حيث لا يتم إنشاء حالات الاختبار مقدما ولكن اختبار فحص النظام بطريقة سريعة ,الاختبار الاستكشافي هو عملية متزامنة من تصميم الاختبار وتنفيذ الاختبار كل ذلك في نفس الوقت.

أثناء تنفيذ استكشافي، يجب القيام بما يلي:

  •  يجب أن تكون مهمة الاختبار واضحة جداً
  •  الاحتفاظ بملاحظات حول ما يجب اختباره، ولماذا يحتاج إلى اختبار وتقييم جودة المنتج
  •  متابعة الأسئلة والقضايا التي تثار أثناء الاختبار الاستكشافي

 

"White-box testing" اختبار المربع الابيض :

التحقق من الهياكل الداخلية أو أعمال البرنامج، بدلا من الوظائف المعروضة للمستخدم النهائي. في اختبار المربع الأبيض، يتم استخدام منظور داخلي للنظام (source code)، فضلا عن مهارات البرمجة، لتصميم حالة الاختبار.

أحد الأهداف الأساسية لاختبار whitebox هو التحقق من تدفق العمل لتطبيق. وهو ينطوي على اختبار سلسلة من المدخلات المعرفة مسبقاً مقابل مخرجات المتوقعة أو المطلوبة بحيث عندما لا يؤدي إدخال معين الإخراج المتوقع تكون واجهت خطأ.

تقنيات تصميم اختبار الصندوق الأبيض تتضمن:

  • اختبار تدفق البيانات (بالإنجليزية: Data flow testing)
  • اختبار الفرع (بالإنجليزية:Branch testing)
  • اختبار المسار (بالإنجليزية:Path testing)  

"Black-box testing"اختبار المربع الاسود :

فحص الوظائف دون أي معرفة بالتنفيذ الداخلي، دون رؤية التعليمات برمجية المصدر. المختبرون يدركون فقط ما هو المفترض أن تفعل البرامج، وليس كيف يتم فعل ذلك .

يحاول هذا الاختبار الـبحث عن أخطاء في الفئات التالية:

  • دالات غير صحيحة أو مفقودة
  • أخطاء الواجهة
  • أخطاء في بنية البيانات أو الوصول إلى قاعدة البيانات الخارجية
  • أخطاء السلوك أو الأداء
  • أخطاء التهيئة والإنهاء

"Gray box testing"اختبار صندوق رمادي :
 تتضمن معرفة بهياكل البيانات الداخلية والخوارزميات لأغراض تصميم الاختبارات أثناء تنفيذ تلك الاختبارات على مستوى المستخدم أو الصندوق الأسود. غالباً ما يكون للمختبر حق الوصول إلى كل من المصدر التعليمات البرمجية و الثنائي القابل للتنفيذ .

"Visual testing" الاختبار البصري :
الهدف من الاختبار البصري هو تزويد المطورين بالقدرة على فحص ما كان يحدث عند نقطة فشل البرنامج من خلال تقديم البيانات بطريقة تمكن المطور من العثور بسهولة على المعلومات التي يحتاجها، ويتم التعبير عن المعلومات وضوح.

في تـصميم الاختبار البصري هي فكرة أن إظهار مشكلة شخص ما (أو فشل اختبار)، بدلا من مجرد وصفها، يزيد كثيرا من الوضوح والفهم. ولذلك، يتطلب الاختبار البصري تسجيل عملية الاختبار بأكملها – التقاط كل ما يحدث على نظام الاختبار في شكل فيديو. يتم استكمال مقاطع الفيديو الناتجة عن طريق إدخال اختبار في الوقت الحقيقي عن طريق كاميرا ويب صورة في الصورة والتعليق الصوتي من الميكروفونات.

 

 

كلمات دليلية: اختبار برمجيات
1
إعجاب
7224
مشاهدات
0
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !