Software Quality Assurance & Testing 2020 PDF

Summary

This document is a lecture on software quality assurance and testing for Introduction to Software Engineering(ITGS-2013) at Tripoli University, covering topics like basic quality concepts, software quality assurance, software standards, and software testing techniques, presented by Marwa Solla in Fall 2020. It is a presentation and not an exam paper.

Full Transcript

‫جامعة طرابلس ـ كلٌة تمنٌة المعلومات‬ ‫ممدمة فً هندسة البرمجٌات‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الثامنة – تأكيد الجودة واختبار البرمجيات‬ ‫‪Software Quality Assurance & Testing‬‬ ‫خريف‪2020‬‬ ‫مواضيع المحاضرة‬...

‫جامعة طرابلس ـ كلٌة تمنٌة المعلومات‬ ‫ممدمة فً هندسة البرمجٌات‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS-213‬‬ ‫المحاضرة الثامنة – تأكيد الجودة واختبار البرمجيات‬ ‫‪Software Quality Assurance & Testing‬‬ ‫خريف‪2020‬‬ ‫مواضيع المحاضرة‬ ‫ممدمة‬ ‫‪‬‬ ‫مفاهٌم أساسٌة فً الجودة وأهمٌتها‬ ‫‪‬‬ ‫تأكٌد الجودة البرمجٌات‬ ‫‪‬‬ ‫المراجعة والفحص والتصفح‬ ‫‪‬‬ ‫خصائص الجودة‬ ‫‪‬‬ ‫معاٌٌر البرمجٌات‬ ‫‪‬‬ ‫أنواع االخطاء البرمجٌة‬ ‫‪‬‬ ‫االختبار‪Testing‬‬ ‫‪‬‬ ‫ممدمـــــــــــــــــــة‬ ‫ٌعتبر تأكٌد أو ضمان الجودة ‪ Quality Assurance QA‬من النشاطات المهمة فً‬ ‫‪‬‬ ‫اي مشروع تجاري ‪.‬ظهرت هندسة البرمجٌات كحل إلعداد منتوج برمجً فائك‬ ‫الجودة ومطابك للمعاٌٌر المتفك علٌه من لبل مؤسسات معاٌٌر ومواصفات الجودة‬ ‫‪(ACM, IEEE, ISO).‬‬ ‫الوصف‬ ‫المعيار‬ ‫منهجٌة لتحدٌد متطلبات الجودة‪ ،‬والتحمك من صحة هذه العملٌة‪.‬‬ ‫‪IEEE 1061‬‬ ‫هنان معٌار الختبار وحدة‪.‬‬ ‫‪IEEE 1008‬‬ ‫مجموعة من المتطلبات لحزم البرمجٌات‪.‬‬ ‫‪ISO / IEC‬‬ ‫تعلٌمات الختبار مجموعة من البرامج الممدمة ضد المتطلبات المحددة‪.‬‬ ‫‪12119‬‬ ‫ممدمـــــــــــــــــــة‬ ‫تأكٌد الجودة من مهمة المبرمج ومهندس البرمجٌات‪.‬‬ ‫‪‬‬ ‫كان تأكٌد جودة البرمجٌات فً السابك ٌركز على انتاج منظومات دون المرور على‬ ‫‪‬‬ ‫اختبار كامل ٌؤكد خلوها من األخطاء والذي سبب فً أزمة البرمجٌات‪.‬‬ ‫ولهذا بدأ الخبراء فً التركٌز على عملٌة االختبار واالهتمام بالجودة فظهر مصطلح‬ ‫‪‬‬ ‫تأكٌد الجودة البرمجٌات‪Software Quality Assurance.‬‬ ‫‪ٌValidation‬شٌران الى تأكٌد‬ ‫وبالتالً فان التحمك ‪Verification‬و التصدٌك‬ ‫‪‬‬ ‫الجودة البرمجٌات‪SQA.‬‬ ‫مفاهيم أساسية في الجودة وأهميتها‬ ‫مرالبة الجودة‪Quality Control QC:‬‬ ‫‪‬‬ ‫وهي العناية بالمنتوج منذ تصنيعه ولبل وصوله للمستخدم حيث تجرى عليه مجموعة‬ ‫ ‬ ‫اختبارات الية ويدوية ومختلفة‪.‬‬ ‫تتم هذه االختبارات عبر حلمة تسمى )‪ (Feedback loop‬حٌث ٌتم ممارنة المنتوج مع المعاٌٌر‬ ‫ ‬ ‫المحددة سلفا‪.‬‬ ‫مرالبة الجودة تعطى اإلدارة العلٌا المعلومات الضرورٌة)فً شكل تمرٌر) للحصول على الثمة‬ ‫ ‬ ‫فً المنتوج من حٌث مطابمته لألهداف والمواصفات والمعاٌٌر المطلوبة‪.‬‬ ‫والهدف منها هو تمليل التكلفة وجعل الزبون في وضع افضل من االمان والرضا‪.‬‬ ‫ ‬ ‫مفاهيم أساسية في الجودة وأهميتها‬ ‫تأكيد أو ضمان جودة البرمجيات‪Software Quality Assurance SQA:‬‬ ‫‪‬‬ ‫هً عملٌة تأكٌد توافك المنتوج البرمجً مع المتطلبات الوظٌفٌة والغٌر وظٌفٌة وتتطابك االدوات‬ ‫ ‬ ‫والمنهجٌات والطرق واالجراءات مع المعاٌٌر المعتمدة فً اعداد البرمجٌات‪.‬‬ ‫أو هً مجموع السمات والخصائص المتعلمة بالمنتج البرمجً التً تجعله لادرا على تحمٌك الهدف‬ ‫ ‬ ‫من إنتاجه ‪.‬‬ ‫ٌفضل ان ٌموم فرٌك مختلف عن فرٌك اعداد البرمجٌات بعملٌة تأكٌد الجودة لكً تتم العملٌة من‬ ‫ ‬ ‫وجهة نظر أكثر شمولٌة واستماللٌة‪.‬‬ ‫ٌفضل ان ٌكون الفرٌك ٌمثل الزبون لكً ٌتأكد من أن المنظومة تطابك معاٌٌر الجودة المنصوص‬ ‫ ‬ ‫علٌها فً وثٌمة المتطلبات‪.‬‬ ‫‪6‬‬ ‫تأكيد الجودة البرمجيات‬ ‫‪Software Quality Assurance SQA‬‬ ‫تهدف عملية تأكيد جودة البرمجيات إلى‪:‬‬ ‫‪‬‬ ‫فحص مكونات وشفرة البرمجٌة للتأكد من خلوها من األخطاء ومطابمتها للمواصفات والمعاٌٌر‬ ‫‪.1‬‬ ‫الموضوعة من لبل مستخدمً البرمجٌة وذلن لبل إصدار تلن البرمجٌة إلى المستخدمٌن المعنٌٌن‬ ‫بها‪.‬‬ ‫تهدف إلى التأكد من أن البرمجٌات الموضوعة لإلصدار تطابك احتٌاجات ومتطلبات سوق العمل‪.‬‬ ‫‪.2‬‬ ‫تموم عملٌة تأكٌد جودة البرمجٌة على اتباع طرق وخطوات وتمنٌات منهجٌة ومدروسة النتائج أثناء‬ ‫‪.3‬‬ ‫عملٌة الفحص‪.‬‬ ‫تأكيد الجودة البرمجيات‬ ‫‪Software Quality Assurance‬‬ ‫من مبدأ الولاية خير من العالج‬ ‫‪‬‬ ‫‪ٌ ‬جب أن نطبك ضمان الجودة على أي منتج برمجً‪.‬علما بان عملٌة ضمان الجودة تضاف الى تكلفة المنتج ‪ ،‬اال انها‬ ‫تملل من تكالٌف االصالح بعد عملٌة بٌع المنتج‪.‬‬ ‫مثال‪ :‬نفرض ان لدٌنا كود برمجً ٌبلغ ‪ 100000‬سطر‪ ،‬وتم انفاق ‪ 500‬ساعة فً اختباره وتنمٌحه وكانت تكلفة كل‬ ‫‪‬‬ ‫ساعة ‪30‬د‪.‬وكانت النتٌجة انه تم تفادي ‪ 200‬خطأ محتمال‪.‬سٌترتب على المؤسسة تكالٌف اضافٌة على المنتج تبلغ‬ ‫‪15000=500*30‬د لتجنب ‪ 200‬خطأ‪.‬‬ ‫وعلى افتراض ان عملٌة االختبار لم تتم وان أي خطأ سٌظهر عند التنفٌذ العملً بعد البٌع سٌكلف ‪1000‬د‪.‬وبافتراض انه‬ ‫‪‬‬ ‫لم ٌظهر سوى ‪ 100‬عٌب برمجً ‪.‬وبالتالً فان تكلفة االصالح تكون ‪100000‬د أي ما ٌعادل ‪ 6‬أضعاف التكلفة‬ ‫السابمة‪.‬‬ ‫‪8‬‬ ‫تأكيد الجودة البرمجيات‬ ‫‪Software Quality Assurance‬‬ ‫من مبدأ الولاية خير من العالج‬ ‫‪‬‬ ‫تأكيد الجودة البرمجيات‬ ‫‪Software Quality Assurance‬‬ ‫نشاطات تخص ضمان الجودة ‪:‬هي مجموعات نشاطات يموم بها فريك تأكيد الجودة‪:‬‬ ‫‪‬‬ ‫تجهٌز خطة الجودة‪Quality plan:‬‬ ‫‪.1‬‬ ‫ٌتم تجهٌز الخطة فً مرحلة التخطٌط وٌتم مراجعتها من لبل الزبون وتشمل هذه الخطة اآلتً‪:‬‬ ‫تحدٌد البنود المراد تمٌٌمها‪.‬‬ ‫ ‬ ‫تحدٌد المراجعات المراد أداؤها‪.‬‬ ‫ ‬ ‫تحدٌد المعاٌٌر المراد التعاطً معها‪.‬‬ ‫ ‬ ‫مراجعة األدوات والطرق المستخدمة ألعداد المنظومة البرمجٌة‪.‬‬ ‫‪.2‬‬ ‫المراجعة والفحص والتصفح‬ ‫‪Reviewing, inspection & Walkthrough‬‬ ‫تحديد أهم المراجعات المراد أداؤها ضمن خطة الجودة ‪ Quality plan‬بالتالي‪:‬‬ ‫‪‬‬ ‫التصفح‪Walkthrough.‬‬ ‫‪‬‬ ‫فحص الشفرة‪Code Inspection.‬‬ ‫‪‬‬ ‫مراجعة البرمجٌات‪Software Review.‬‬ ‫‪‬‬ ‫التصفح‪Walkthrough:‬‬ ‫‪(1‬‬ ‫هً طرٌمة لمراجعة المنتوج البرمجً مراجعة غٌر رسمٌة و ذلن بمشاركة المخطط االنسٌابً لجزء‬ ‫‪‬‬ ‫برمجً مع فرٌك العمل أو المنظومة فٌما بٌنهم وال ضرورة من معرفة مدٌر المشروع والٌتم توثٌمها ‪.‬‬ ‫‪11‬‬ ‫المراجعة والفحص والتصفح‬ ‫‪Reviewing, inspection & Walkthrough‬‬ ‫فحص الشفرة‪Code Inspection‬‬ ‫‪(2‬‬ ‫هً عملٌة كشف عن أخطاء فً جزء برمجً ولٌس تصحٌحه مثل( االخطاء المنطمٌة فً الشفرة ‪).‬الذي ٌموم‬ ‫‪‬‬ ‫بتصحٌح هذه االخطاء المبرمج‪.‬‬ ‫تتم عملٌة الفحص فً جلسة تعمد بحضور معد الجزء البرمجً وفرٌك الفحص لفحص الشفرة ٌتم توفٌر االتً‪:‬‬ ‫‪‬‬ ‫الشفرة المراد تفحصها‪.‬‬ ‫‪.1‬‬ ‫المعاٌٌر المستخدمة فً اعداد المنظومة‪.‬‬ ‫‪.2‬‬ ‫لائمة باألخطاء المتولعة وٌتم استخالصها من منظومات سابمة بواسطة اخصائٌٌن‪.‬‬ ‫‪.3‬‬ ‫مثل هل تم اعطاء لٌم ابتدائٌة للمتغٌرات المستخدمة فً( الشفرة)؟ ‪-‬هل كل حلمة لها نهاٌة؟‬ ‫المراجعة والفحص والتصفح‬ ‫‪Reviewing, inspection & Walkthrough‬‬ ‫الجدول التالي يعرض الفرق بين الفحص ‪ Inspection‬والتصفح‪Walkthrough.‬‬ ‫‪‬‬ ‫الفحص‪Inspection‬‬ ‫التصفح‪Walkthrough‬‬ ‫تستخدم جلسات رسمٌة‬ ‫جلسات غٌر رسمٌة‬ ‫اسلوب منتظم للبنود‬ ‫جلسات غٌر منتظمة‬ ‫تتم بواسطة عناصر مؤهلة‬ ‫اداة تعلٌمٌة ممتازة ألعضاء الفرٌك الجدد‬ ‫معد الجزء البرمجً وفرٌك الفحص‬ ‫تتم بواسطة زمالء فرٌك إعداد المنظومة‬ ‫‪13‬‬ ‫المراجعة والفحص والتصفح‬ ‫‪Reviewing, inspection & Walkthrough‬‬ ‫مراجعة البرمجيات‪Software Review‬‬ ‫‪(3‬‬ ‫مراجعة البرمجٌات عملٌة مهمة حٌث ٌتم فٌها مراجعة التوثٌك فً نهاٌة كل مرحلة (التحلٌل –‬ ‫‪‬‬ ‫التصمٌم – البرمجة)‬ ‫ٌتم تجهٌز تمرٌر لإلدارة العلٌا فً نهاٌة كل مرحلة بعد المراجعة بحضور اإلدارة ونتٌجة لذلن ٌتم‬ ‫‪‬‬ ‫اتخاذ احد المرارات التالٌة‪:‬‬ ‫االستمرار فً المرحلة التً تلٌها‪.‬‬ ‫‪.1‬‬ ‫التولف عن المشروع بالكامل‪.‬‬ ‫‪.2‬‬ ‫اجراء التغٌٌرات على التوثٌك ثم االستمرار‪.‬‬ ‫‪.3‬‬ ‫خصائص الجودة‬ ‫‪Quality Attributes‬‬ ‫نورد بعض الخصائص التالي يجب أن تتصف بها المنظومة البرمجية الناجحة‪:‬‬ ‫‪‬‬ ‫االعتمادية ‪ Reliability:‬تتصل المصدالٌة أو الموثولٌة بالدرجة التً ٌمكن للبرنامج أن ٌؤدي فٌها وظائفه دون أخطاء ‪ ٬‬وعموما‬ ‫‪‬‬ ‫كلما زادت مرات المراجعة وفترة االختبار للبرنامج كلما للت أخطاؤه ‪.‬‬ ‫لابلية الصيانة ‪ Maintainability :‬تكون مصممة بطرٌمة تسهل عملٌة تحدٌد واصالح االخطاء‪.‬‬ ‫‪‬‬ ‫االمن والحماية ‪ٌ Security :‬جب أن ٌتمتع البرنامج بأمن البٌانات ‪ ٬‬ومن ذلن التحكم فً الدخول للبرنامج على شبكات محلٌة أو‬ ‫‪‬‬ ‫عامة ‪ ٬‬والتأكد من أن من ٌستخدم البرنامج مسموح له باستخدامه بالفعل‪.‬‬ ‫التوسعية ‪ Expandability :‬وهً إمكانٌة ترلٌة البرنامج وزٌادة لدراته ووظائفه لرفع كفاءته وزٌادة محتواه أو تحدٌثه‪.‬‬ ‫‪‬‬ ‫خصائص الجودة‬ ‫‪Quality Attributes‬‬ ‫الدلة ‪ Accuracy :‬الدلة فً نتائج المنظومة خاصة الحسابات‪.‬وتماس الدلة بعدد األخطاء فً األلف وٌعد مستوى ثالثة‬ ‫‪‬‬ ‫أخطاء فً األلف مستوى ممبول فً الدلة‪.‬‬ ‫االداء ‪ Performance :‬سرٌعة االستجابة والمعالجة‪.‬‬ ‫‪‬‬ ‫سهولة االستخدام ‪ Usability:‬وتعد من أهم المعاٌٌر المؤثرة على نجاح البرنامج ‪ ٬‬فلو صعب استخدام البرنامج من لبل‬ ‫‪‬‬ ‫المستخدم النهائً فإن ذلن ٌجعل البرنامج عدٌم الفائدة حتى لو تمتع بالكفاءة والمصدالٌة ‪ ٬‬وهذا ٌتطلب واجهة رسومٌة‬ ‫جذابة للمستخدم‪.‬‬ ‫لابلة إلعادة االستخدام ‪ٌ Reusability :‬مكن استخدام اجزاء المنظومة فً برامج مستمبلٌة‪.‬وٌمصد تحوٌل محتوٌات‬ ‫‪‬‬ ‫البرنامج لكً تستخدم فً برنامج آخر أو االنتفاع بمحتوٌات البرنامج فً تطبٌمات أخرى تحت نفس نظام التشغٌل ‪٬‬‬ ‫وٌجب أن ٌسمح بذلن من لبل المنتج األصلً للبرنامج‪.‬‬ ‫معايير البرمجيات‬ ‫‪Software Standards‬‬ ‫أهداف المعايير ‪:‬نضع بعض المعايير للبرمجيات لالهداف اآلتية‪:‬‬ ‫للتفاهم والوصول بٌن متخصص الحاسوب والزبون لعمل مثالً‪.‬‬ ‫‪.1‬‬ ‫لتجنب تكرار أخطاء الماضً‪.‬‬ ‫‪.2‬‬ ‫الستمرارٌة العمل فً المنظومة حتى فً غٌاب بعض أعضاء فرٌك اعداد المنظومة‪.‬‬ ‫‪.3‬‬ ‫لتوحٌد التمنٌات واألدوات المستخدمة من لبل المبرمجٌن فً المؤسسة الواحدة‪.‬‬ ‫‪.4‬‬ ‫للحصول على منتوج ذي جودة عالٌة‪.‬‬ ‫‪.5‬‬ ‫أنواع المعايير‬ ‫‪Types of standards‬‬ ‫معاٌٌر خاصة بعملٌة اعداد المنظومة‪:‬‬ ‫‪(1‬‬ ‫هً معاٌٌر تتعلك بالطرق واالدوات الفنٌة فً اعداد البرمجٌات ‪.‬مثل تحدٌد المتطلبات ٌجب أن‬ ‫‪‬‬ ‫ٌكون كامال لبل التنفٌذ‪.‬‬ ‫معاٌٌر خاصة بالمنتوج البرمجً‪:‬‬ ‫‪(2‬‬ ‫هً معاٌٌر خاصة بشكل المنتوج البرمجً ولٌس كٌفٌة اعداده ‪.‬مثل‬ ‫‪‬‬ ‫معاٌٌر فً تسمٌة الوثائك المستخدمة‪.‬‬ ‫ ‬ ‫معاٌٌر فً شكل وهٌئة شفرة البرنامج‪.‬‬ ‫ ‬ ‫أنواع أخطاء البرمجيات‬ ‫هنان ثالث أخطاء تحدث في المنظومات‪:‬‬ ‫‪‬‬ ‫أخطاء فً المتطلبات (الوظائف غٌر كاملة)‬ ‫‪.1‬‬ ‫أخطاء فً التصمٌم (االخفاق فً ترجمة المتطلبات الى مواصفات التصمٌم)‬ ‫‪.2‬‬ ‫أخطاء فً التنفٌذ (مثل خطأ فً اجراء العملٌات الحسابٌة فً منظومة المرتبات)‪.‬‬ ‫‪.3‬‬ ‫االختبار‬ ‫‪Testing‬‬ ‫االختبار هو مجموعة من االنشطة ‪ activities‬التً اذا تم تخطٌطها وتنفٌذها بصورة صحٌحة‬ ‫‪‬‬ ‫اثناء اعداد البرمجٌات فأنها ستؤدي الى منظومة موثولة ‪ Reliable‬خالٌة من االخطاء‪.‬‬ ‫أو هو عملٌة تمٌٌم نظام أو عنصرها إلٌجاد ما إذا كانت تلبً متطلبات محددة أم ال ‪.‬‬ ‫‪‬‬ ‫أو االختبار ٌتم تنفٌذه من أجل تحدٌد أي ثغرات أو أخطاء أو متطلبات المفمودة من االحتٌاجات‬ ‫‪‬‬ ‫الفعلٌة‪.‬‬ ‫وفما ل ‪ٌ IEEE 1059‬مكن تعرٌف االختبار بأنه عملٌة تحلٌل البرنامج للكشف عن االختالفات بٌن‬ ‫‪‬‬ ‫االحتٌاجات المائمة والمطلوبة وتمٌٌم هذه البرنامج‪.‬‬ ‫االختبار‬ ‫‪Testing‬‬ ‫تعد عملٌة االختبار ذات أهمٌة بالغة حٌث تستغرق حوالً ‪ 40%‬من الزمن الكلً ألعداد‬ ‫‪‬‬ ‫المنظومة فً المنظومات الكبٌرة والمعمدة‪.‬‬ ‫ٌجب أن ٌعمل كل من معد المنظومة وفرٌك االختبار المستمل جنبا الى جنب للتأكد من خلو‬ ‫‪‬‬ ‫المنظومة من االخطاء وذلن بتنفٌذ االختبارات الكافٌة‪.‬‬ ‫و ٌتم تصنٌف ‪ 4‬مستوٌات االختبار‪:‬‬ ‫اختبار الوحدة‪Unit Test.‬‬ ‫‪.1‬‬ ‫اختبار التكامل‪Integration Test.‬‬ ‫‪.2‬‬ ‫اختبار النظام‪System Test.‬‬ ‫‪.3‬‬ ‫اختبار المبول‬ ‫‪.4‬‬ ‫‪21‬‬ ‫انواع االختبارات‬ ‫‪Type of Testing‬‬ ‫اختبار الجزء البرمجي‪Module Test:‬‬ ‫‪(1‬‬ ‫ٌطلك علٌه اختبار الوحدة‪Unit Test‬‬ ‫‪‬‬ ‫ٌركز على اختبار أصغر وحدة فً النظام ‪ Module‬من لبل المبرمج‪.‬‬ ‫‪‬‬ ‫تبدأ عملٌة اختبار الجزء البرمجً أثناء عملٌة البرمجة أي فً المرحلة السابمة لمرحلة‬ ‫‪‬‬ ‫االختبار ‪.‬‬ ‫ٌجب تسلٌم الجزء البرمجً دون اخطاء‬ ‫‪‬‬ ‫وصالحا لالستعمال لمدٌر البرمجة ألجراء‬ ‫االختبار التالً (االختبار المتكامل)‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار التكامل‪Integration Test:‬‬ ‫‪(2‬‬ ‫ٌتم تركٌب واختبار كل الوحدات المجمعة من االختبار السابك كوحدة واحدة‪.‬‬ ‫‪‬‬ ‫ٌتم اٌضا اختبار ‪ Interfaces‬فً هذا النوع من االختبار‪.‬‬ ‫‪‬‬ ‫وكذلن ٌتم اختبار الزبون ‪ /‬الخادم وكذلن االنظمة الموزعة‪.‬‬ ‫‪‬‬ ‫هذا النوع من االختبار ٌسمى‬ ‫‪.a‬‬ ‫االختبار من اسفل الى أعلى‪Bottom-up‬‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار التكامل‪Integration Test:‬‬ ‫‪(2‬‬ ‫هذا النوع من االختبار ٌسمى االختبار من اعلى الى اسفل‪Top-down Test‬‬ ‫‪.b‬‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار النظام‪System Test‬‬ ‫‪(4‬‬ ‫هواختبار لنظام مع الحاسوب بالكامل مثل أن النظام ٌعمل فً بٌئات مختلفة مثل أنظمة التشغٌل‪.‬‬ ‫‪‬‬ ‫اختبار الحماية‪Security Test - System Test‬‬ ‫‪.a‬‬ ‫ٌتم التأكد من آلٌة حماٌة المنظومة من دخول غٌر مسموح الى المنظومة ألي سبب أو غرض‪.‬و كذلن لاعدة‬ ‫‪‬‬ ‫البٌانات محمٌة من الهجمات الخارجٌة‪.‬‬ ‫اختبار االسترداد‪Recovery Test - System Test‬‬ ‫‪.b‬‬ ‫ٌتم فً هذا االختبار التأكٌد على لدرة المنظومة على استرداد لدرتها على العمل فً حالة حدوث مشاكل بدون‬ ‫‪(4‬‬ ‫تلف للبٌانات المخزنة‪ ،‬ومن أمثلة االختبار‪:‬‬ ‫إعادة تشغٌل أو تهٌئة المنظومة‪.‬‬ ‫التخزٌن التلمائً فً حالة حصول عطل‪.‬‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار المبول‪Acceptance Test - System Test‬‬ ‫‪.c‬‬ ‫ٌطلك علٌه أٌضأ ‪ User Test‬بحٌث ٌموم المستخدم أو الزبون بإجراء هذا االختبار لٌتم اتخاذ المرار‬ ‫‪‬‬ ‫بخصوص أن المنتج ٌلبً المتطلبات المتولعة وٌتم لبول المنظومة‪.‬‬ ‫كما ٌموم فرٌك ضمان الجودة باختبار مجموعة من السٌنارٌوهات مكتوبة مسبما وحاالت‬ ‫‪‬‬ ‫االختبار التً ٌستخدمها الختبار التطبٌك‪.‬‬ ‫طرق االختبار‪Methods of Testing‬‬ ‫اختبار ألفا ‪Alpha Test – Validation Test‬‬ ‫‪‬‬ ‫هو اختبار للجزء البرمجً فً مكان معد المنظومة فً نهاٌة تطوٌر البرنامج وٌتم تنفٌذه بٌن‬ ‫‪‬‬ ‫فرق (المطور وضمان الجودة ‪).‬حٌث ٌموم بتسجٌل االخطاء وتعدٌلها ثم ٌتم اعادة االختبار مرة‬ ‫اخرى الى أن ٌتم الوصول الى منظومة تلبً احتٌاجات المستخدم ‪.‬‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار بيتا ‪Beta Test – Validation Test‬‬ ‫‪.c‬‬ ‫ٌتم إجراء هذا االختبار بعد أن تم إجراء اختبار ألفا بنجاح وٌبدأ هذا االختبار فً ممر الزبون حٌث‬ ‫‪‬‬ ‫ٌختبر الزبون او المستخدم النهائً المنظومة الناتجة من االختبار السابك بمفرده وٌسجل االخطاء‬ ‫لبل البدء فً اصدار النسخة التجارٌة بحٌث ٌتم اختبار التالً‪:‬‬ ‫اختبار الوظائف ‪ :‬التأكد من صحة عمل كل وظائف المنظومة مثل اضافة صنف‪.‬‬ ‫‪‬‬ ‫اختبار الكفاءة ‪ :‬اختبار زمن االستجابة ‪ Response Time Test‬والتأكد من لدرة المنظومة على‬ ‫‪‬‬ ‫استٌعاب كم هائل من السجالت ‪.‬وٌموم معد المنظومة بالرجوع للزبون عدة مرات بشكل منتظم‬ ‫لمعرفة االخطاء وتصحٌحها وهكذا حتى تصبح المنظومة فً وضع أفضل لمبولها‪.‬‬ ‫انواع االختبارات‪Type of Testing‬‬ ‫اختبار بيتا – ‪Beta Test‬‬ ‫‪.c‬‬ ‫اختبار بٌتا‪ ،‬أٌضا هو اختبار ما لبل النشر ‪ٌ.‬تم توزٌع اإلصدارات اختبار بٌتا على جمهور واسع‬ ‫‪‬‬ ‫على شبكة اإلنترنت‪ ،‬وذلن إلعطاء البرنامج اختبار حمٌمٌا‪ ،‬حٌث ٌموم الجمهور بتثبٌت وتشغٌل‬ ‫التطبٌك وإرسال مالحظاتهم إلى فرٌك المشروع للحصول على ردود التً تمكن فرٌك المشروع‬ ‫من إصالح المشاكل لبل إطالق البرنامج للمستخدمٌن الفعلٌن‪.‬‬ ‫طرق االختبار‪Methods of Testing‬‬ ‫اختبار الصندوق األبيض ‪White-Box Test – Unit Test‬‬ ‫ٌطلك علٌه اٌضا اختبار الصندوق الزجاجً‪Glass Box.‬‬ ‫‪‬‬ ‫ٌتم فً هذا االختبار إدخال بٌانات متنوعة ومختلفة للتأكد من سالمة أداء كل مسارات الخوارزمٌة للجزء البرمجً‬ ‫ ‬ ‫الواحد‪.‬‬ ‫ٌحتاج اختبار إللماء نظرة داخل شفرة المصدر ومعرفة أي وحدة تتصرف بشكل غٌر صحٌح‪.‬‬ ‫ ‬ ‫ طرق االختبار‬Methods of Testing White-Box Test – Unit Test ‫اختبار الصندوق األبيض‬ :‫المثال التالً نفرض أن البرنامج سٌمر بعدة خطوات للتنفٌذ‬.‫ لن ٌتم تنفٌذه‬node6 ‫وهذا االختبار ٌوضح بأن‬ To cacluate the McCabe metric:  Identify primitve conditions and operations  Number them  Drow the flow graph  Copmute the cyclomatic complexity Test case #1: follows path 1-2-exit  Test case #2: 1-2-3-4-5-7-8-2-3-4-5-7-8-2-exit  ‫ طرق االختبار‬Methods of Testing White-Box Test – Unit Test ‫اختبار الصندوق األبيض‬ 32 ‫‪ Methods of Testing‬طرق االختبار‬ ‫اختبار الصندوق األسود ‪Black-Box Test – Validation Test‬‬ ‫‪.a‬‬ ‫ٌتم اختبار وظٌفة جزء البرمجً بحٌث ٌتم التركٌز فمط على مدخالت ومخرجات النظام ‪.‬أي‬ ‫‪‬‬ ‫اختبار غٌر مدرن لبنٌة النظام ولٌس لدٌها إمكانٌة الوصول إلى شفرة المصدر وٌسمى االختبار‬ ‫الوظٌفً ‪ functional‬أو السلوكً‪behavioural.‬‬ ‫فمثال اختبار جزء برمجً ٌموم بترتٌب اسماء بحٌث ٌتم إدخال مجموعة أسماء واختبار حالة‬ ‫ ‬ ‫األسماء الناتجة ان كانت مرتبة أم ال‪.‬‬ ‫‪33‬‬ ‫‪ Methods of Testing‬طرق االختبار‬ ‫اختبار الصندوق األسود ‪Black-Box Test – Validation Test‬‬ ‫‪.a‬‬ ‫مثال اختبار البحث عن مولع ‪ index‬لعنصر معٌن داخل المصفوفة ‪ ،‬على ان ٌتم‬ ‫‪‬‬ ‫ترجٌع ‪ -1‬فً حالة عدم وجود المٌمة فً المصفوفة أو المصفوفة فارغة‪.‬‬ ‫‪34‬‬ Black-box vs. White-box Black box: test based on interface, through interface White box: test based on code, through code End

Use Quizgecko on...
Browser
Browser