Search In this Thesis
   Search In this Thesis  
العنوان
Test Paths Generation Using Search-Based Testing Algorithms /
المؤلف
Hassan, Eman Hassan Abd-Elkawy.
هيئة الاعداد
باحث / إيمان حسن عبد القوى حسن
.
مشرف / أحمد عبد القادر رمضان
.
مشرف / محب رمزى جرجس
.
الموضوع
Computer algorithms.
تاريخ النشر
2015.
عدد الصفحات
159 P. :
اللغة
الإنجليزية
الدرجة
الدكتوراه
التخصص
النظرية علوم الحاسب الآلي
الناشر
تاريخ الإجازة
31/5/2015
مكان الإجازة
جامعة بني سويف - كلية العلوم - الرياضيات وعلوم الحاسب
الفهرس
Only 14 pages are availabe for public view

from 179

from 179

Abstract

اختبار البرمجيات هو طريقة عملية للحصول على زيادة الثقة في البرمجيات. إن الهدف النهائي من اختبار البرنامج هو ضمان صحته. واختبار أي برنامج يتضمن توليد مجموعة من حالات الاختبار وفقا لبعض استراتيجيات الاختبار ثم التحقق من المخرجات التي أنتجتها حالات الاختبار مقارنة بالنتائج المتوقعة .
اختبار المسارات هو طريقة إختبار هيكلية ، تتطلب تنفيذ كل مسار في البرنامج مرة واحدة على الأقل . إلا أنه من المستحيل عموما تحقيق هذا الهدف ، وذلك لأن البرنامج الذى به حلقات تكرارية قد يحتوي على عدد لا حصر له من المسارات . يُمكن حل هذه المشكلة عن طريق إختيار مجموعة جزئية من كافة المسارات القابلة للتنفيذ التي تحقق معيار معين لاختيار المسارات. إن التوليد التلقائي لهذه المسارات يؤدي إلى مزيد من تغطية مسارات الاختبار مما يؤدي إلى كفاءة وفعالية استراتيجية الاختبار .
وقد تم اقتراح العديد من الطرق لتوليد المسارات ، ولكن معظمها يُركز على التوليد التلقائي لمجموعة المسارات الأساسية ، و هي عبارة عن مجموعة من مسارات الاختبار المستقلة خطيا .
الخوارزمية الجينية (GA) هي أحد التقنيات التجريبية عالية المستوى المعتمدة على البحث والتي تم تطبيقها بصورة كبيرة على العديد من المشاكل التي تنطوي على البحث والأمثلية. وفكرة طرق البحث المعتمدة على الخوارزميات الجينية مستوحاة من آليات التطور والوراثة الطبيعية. الخوارزميات الجينية قد استخدمت بنجاح في فعاليات اختبار البرمجيات مثل توليد بيانات الاختبار. ولكن إستخدام الخوارزمية الجينية في اختبار المسارات حظي باهتمام ضئيل جدا .
تقنية أمثلية سرب الجسيمات Particle Swarm Optimization (PSO) هي أحد التقنيات التجريبية عالية المستوى المعتمدة على البحث الأخرى والمستوحاة من قوانين سلوك أسراب الطيور وتجمعات الأسماك والمجتمعات البشرية . وقد تم إستخدام تقنية PSO بنجاح في فعاليات اختبار البرمجيات مثل توليد بيانات الاختبار. ولكن على حد علمنا ، لم يتم نشر أي أبحاث في مجال استخدام تقنية PSO في التوليد التلقائي لمسارات الاختبار .
تقنية أمثلية السرب الجينية Genetical Swarm Optimization (GSO) هي تقنية تطورية هجين تستغل بفعالية كبيرة الخصائص الفريدة لكل من الخوارزمية الجينية وتقنية PSO. هذه الخوارزمية هي في جوهرها ، مثل الخوارزمية الجينية وتقنية PSO ، تقنية بحث تجريبية تعتمد على المجتمعات (population-based) ، والتي يمكن أن تُستخدم في حل مشاكل الأمثلية المعقدة ، وهي مبنية على مفاهيم الانتقاء الطبيعي والتطور (مثل الـ GA) ، ولكن أيضا على أساس القواعد الثقافية والمجتمعية المستمدة من تحليل الذكاء السربي والتفاعل بين الجسيمات (مثل الـ PSO) . وعلى حد علمنا، لم يتم أيضا نشر أي أبحاث في مجال استخدام تقنية هجين تجمع الـ GA مع الـ PSO في التوليد التلقائي لمسارات الاختبار .
قدمت هذه الرسالة دراسة عن استخدام التقنيات التجريبية عالية المستوى : الخوارزمية الجينية و تقنية أمثلية سرب الجسيمات في التوليد التلقائي لمسارات الاختبار . وفي هذه الدراسة تم تقديم تقنيتين مقترحتين للتوليد التلقائي لمجموعة من مسارات الاختبار التي تحقق معيار ”تغطية كل الاستخدامات لمتغيرات البرنامج” (all-uses criterion) ، التقنية الأولى تستخدم الخوارزمية الجينية و التقنية الثانية تستخدم تقنية أمثلية سرب الجسيمات ، ثم تم تقديم تقنية مقترحة ثالثة لنفس الغرض تستخدم تقنية أمثلية السرب الجينية (GSO) ، وهذه التقنية تدمج بفعالية التقنيتين الأولى والثانية. ومن الجدير بالذكر أنه في حالة البرامج التي تتضمن حلقات تكرارية ، تقوم التقنيات الثلاث المقترحة بتوليد مجموعة مختزلة من المسارات وفقا لمعيار ZOT، و الذي يتطلب تنفيذ كل حلقة صفر و واحد واثنين من المرات فقط .
وشملت هذه الدراسة تطوير نظام برمجي لإختبار المسارات يُوظف التقنيات الثلاثة المقترحة GA) و PSO وGSO ) . وقد تم استخدام هذا النظام في تقييم كفاءة التقنيات المقترحة.
حيث أن مسارات الاختبار التي يتم توليدها تلقائيا يُمكن أن تشمل مسارات غير قابلة للتنفيذ ، فقد قمنا بتطوير وحدة برمجية لاكتشاف هذا النوع من المسارات باستخدم تقنية التنفيذ الرمزي للبرامج ، وتم إدماجها في النظام المطور لاكتشاف أي مسارات غير قابلة للتنفيذ في المسارات التي يتم توليدها بواسطة تقنيات توليد مسارات الاختبار ويتم إستبعادها . ووحدة التنفيذ الرمزي هذه يتم إستخدامها أيضا في توليد بيانات إختبار لتنفيذ المسارات القابلة للتنفيذ التي يتم توليدها .
ولتقييم كفاءة التقنيات الثلاثة المقترحة تم إجراء خمسة أنواع من التجارب باستخدام نظام اختبار المسارات المطور .
وكان الهدف من التجربة الأولى هو تقييم مقدرة مسارات الاختبار المولدة بواسطة التقنيات المقترحة والتي تحقق معيار ”تغطية كل الاستخدامات لمتغيرات البرنامج”(all-uses criterion) على إكتشاف الأخطاء . وفى هذه التجربه يتم تنفيذ النظام مع البرنامج الصحيح لتوليد مسارات إختبار تحقق المعيار المذكور ، ثم يتم زرع بعض الأخطاء فى البرنامج (خطأ واحد في المرة) . وفي كل حالة يتم تنفيذ البرنامج الخطأ على طول مسارات الاختبار المولدة ومقارنة النتائج مع مخرجات البرنامج الصحيح ودراسة التقارير الناتجة من النظام لمعرفة هل تم اكتشاف الخطأ أم لا . وقد أظهرت نتائج هذه التجربة أن تنفيذ مسارات الاختبار المولدة تسببت في اكتشاف معظم الأخطاء .
وكان الهدف من التجربة الثانية هو تقييم كفاءة تقنية توليد المسارات المعتمدة على الخوارزمية الجينية بالمقارنة مع تقنية توليد المسارات باستخدام الاختبار العشوائي Random Testing (RT) . التوليد العشوائي لمسارات الاختبار يتم بإختيار تفريعات من خريطة التدفق للبرنامج تحت الاختبار عشوائيا بحيث تُشكل هذه التفريعات مسار كامل متصل. وقد أظهرت نتائج هذه التجربة أن تقنية GA تفوقت على تقنية RT في نسبة تغطية علاقات التعريف والإستخدام للمتغيرات def-use coverage، وتتطلب أيضا عدد أقل من الأجيال لتوليد مسارات الاختبار لتحقيق التغطية الكاملة. هذا يوضح ان استخدام تقنية GA في توليد مسارات الاختبار يؤدي إلى إختزال كبير في مجهود الإختبار .
وكان الهدف من التجربة الثالثة هو مقارنة كفاءة تقنيتي توليد مسارات الاختبار المعتمدة على الـ GA و الـ PSO . وقد أوضحت نتائج هذه التجربة أن تقنية PSO المقترحة تحقق تغطية علاقات التعريف والإستخدام للمتغيرات def-use coverage أسرع من تقنية GA المقترحة وبعدد أقل أو مساو من مسارات الاختبار .
وكان الهدف من التجربة الرابعة هو مقارنة كفاءة تقنيات توليد مسارات الاختبار المعتمدة على الـ GA و الـ PSOوالـ GSO . وقد أوضحت نتائج هذه التجربه أن تقنيةGSO هى أكثر كفاءة في توليد مسارات الاختبار يليها تقنية PSO ، ثم تقنية GA .
لقد تم إضافة عملية إصلاح المسار الى خوارزميات توليد المسارات المقترحة ، بحيث يتم إصلاح أي مسار اختبار يكون غير متصل ، إذا كان ذلك ممكنا ، بدلا من حذفه وتوليد مسارا غيره . ولتقييم تأثير هذه العملية على كفاءة الخوارزميات المقترحة تم إجراء التجربة الخامسة . في هذه التجربة قمنا بتطبيق التقنيات مع وبدون عملية إصلاح المسار . وقد أوضحت نتائج هذه التجربة أن عملية إصلاح المسار تُحسن كفاءة التقنيات المقترحة لأنها تجعلها تحقق تغطية علاقات التعريف والإستخدام للمتغيرات def-use coverage في عدد أقل من الأجيال.