اختبارات صندوق أبيض
اختبار قابلية الاستخدام
أ) اختبار الحمل
اختبار أداء
الاختبار الوظيفي
اختبارات البرمجيات
الاختبار هو عملية تنفيذ برنامج (أو جزء من برنامج) بقصد (أو غرض) اكتشاف الأخطاء.
هناك العديد من المعايير التي يتم من خلالها تصنيف أنواع الاختبارات. عادة ما يتم تمييز العلامات التالية:
ط) حسب موضوع الاختبار:
(تحديد أو جمع مؤشرات الأداء ووقت الاستجابة لنظام أو جهاز برمجي وجهاز استجابة لطلب خارجي من أجل إثبات الامتثال لمتطلبات هذا النظام)
ب) اختبار الإجهاد
(يقيم موثوقية واستقرار النظام في ظروف تتجاوز حدود التشغيل العادي.)
ج) اختبار الاستقرار
4) اختبار واجهة المستخدم
5) اختبار الأمان
6) اختبار الترجمة
7) اختبار التوافق
II) من خلال معرفة النظام:
1) اختبار الصندوق الأسود
(يتم اختبار كائن ، هيكله الداخلي غير معروف)
(يتم فحص الهيكل الداخلي للبرنامج ، ويتم الحصول على بيانات الاختبار من خلال تحليل منطق البرنامج)
III) حسب درجة الأتمتة:
1) الاختبار اليدوي
2) الاختبار الآلي
3) الاختبار شبه الآلي
رابعا) حسب درجة عزل المكونات:
1) اختبار المكون (الوحدة)
2) اختبار التكامل
3) اختبار النظام
ت) بحلول وقت الاختبار:
1) اختبار ألفا- عملية مغلقة لاختبار البرنامج من قبل المطورين أو المختبرين بدوام كامل. غالبًا ما يكون منتج ألفا مكتمل بنسبة 50 ٪ فقط ، وهناك رمز برنامج ، ولكن جزء كبير من التصميم مفقود.
2) اختبار بيتا- الاستخدام المكثف النسخة النهائيةبرامج من أجل تحديد أكبر عدد من الأخطاء في عملها من أجل القضاء عليها لاحقًا قبل الدخول النهائي إلى السوق ، إلى المستهلك الشامل. متطوعون من بين المستخدمين العاديين في المستقبل يشاركون في الاختبار.
التحقق من البرنامج هو مفهوم عام أكثر من الاختبار. الغرض من التحقق هو تحقيق ضمان أن الكائن الذي يتم التحقق منه (المتطلبات أو رمز البرنامج) يفي بالمتطلبات ، ويتم تنفيذه بدون وظائف غير مقصودة ، ويلبي مواصفات ومعايير التصميم ( ISO 9000-2000). تتضمن عملية التحقق عمليات التفتيش واختبار الكود وتحليل نتائج الاختبار وإنشاء تقارير المشكلات وتحليلها. وبالتالي ، من المقبول عمومًا أن عملية الاختبار هي جزء لا يتجزأعملية التحقق.
سان بطرسبورج
جامعة الدولة الكهروتقنية
قسم MOEM
عن طريق الانضباط
"عملية تطوير البرمجيات"
"التحقق من البرنامج"
سان بطرسبرج
الغرض من التحقق ………………………………………………………………………… الصفحة 3
ملاحظات تمهيدية …………………………………………………………………… .. الصفحة 3
الأهداف الخاصة والعامة …………………………………………… .. الصفحة 4
الممارسة المتوقعة بالأهداف …………………………………………… الصفحة 4
لجنة الدراسات 1 التحضير للتحقق ……………………………………………………… ..... الصفحة 4
لجنة الدراسات 2 إجراء الامتحانات (تقييم الأقران) .................. الصفحة 7
SG3 تنفيذ التحقق …………………………………………………… ..... الصفحة 9
الملحق 1. نظرة عامة على أدوات الأتمتة لعملية التحقق ……… .. صفحة 11
الملحق 2. رئيسي الأساليب الحديثةللتحقق …………… .. صفحة 12
قائمة الأدب المستعمل ………………………………………………… .. صفحة 14
نموذج متكامل للتميز والنضج
التحقق (مستوى النضج 3)
استهداف
الغرض من التحقق هوضمان أن البرنامج الوسيط أو المنتج النهائي المحدد يلبي المتطلبات المحددة.
ملاحظات الماء
التحقق من منتجات البرمجيات التحقق من المنتج النهائي أو إصداراته الوسيطةلتلبية المتطلبات الأصلية. هذا لا يعني فقط اختبار البرنامج نفسه ، ولكن أيضًا تدقيق المشروع والمستخدم والوثائق الفنية ، إلخ.
الغرض من التحقق من نظام البرنامج هو تحديد الأخطاء التي قد تحدث أثناء مراحل دورة الحياة والإبلاغ عنها. المهام الرئيسية للتحقق:
تحديد مدى امتثال المتطلبات عالية المستوى لمتطلبات النظام ؛
مع مراعاة المتطلبات عالية المستوى في بنية النظام ؛
الامتثال للبنية والمتطلبات الخاصة بها في الكود المصدري ؛
تحديد مدى امتثال الكود القابل للتنفيذ لمتطلبات النظام ؛
تحديد الوسائل المستخدمة لحل المهام المذكورة أعلاه ، والتي هي صحيحة تقنيًا وكاملة بشكل كافٍ.
يشمل التحقق التحقق من المنتجات النهائية والتحقق من المنتجات الوسيطة مقابل جميع المتطلبات المحددة ، بما في ذلك متطلبات العملاء ومتطلبات المنتجات النهائية ومتطلبات مكوناتها الفردية.
التحقق بطبيعته هو عملية تدريجية (تدريجية) من لحظة إنشائها طوال فترة تطوير المنتجات وجميع الأعمال على المنتجات. يبدأ التحقق بالتحقق من المتطلبات ، ثم يتبع التحقق من جميع المنتجات الوسيطة في مراحل مختلفة من تطويرها وتصنيعها ، وينتهي بالتحقق من المنتج النهائي.
يزيد التحقق من المنتجات الوسيطة في كل مرحلة من مراحل تطويرها وتصنيعها بشكل كبير من احتمالية تلبية المنتج النهائي لمتطلبات العميل ومتطلبات المنتج النهائي ومتطلبات مكوناته الفردية.
التحقق من العمليات والتحقق منها هي عمليات مرتبطة بشكل أساسي ، ومع ذلك ، تهدف إلى الحصول على نتائج مختلفة. الغرض من التحقق من الصحة هو إثبات أن المنتج النهائي يحقق الغرض الأصلي منه بالفعل. يهدف التحقق إلى التأكد من أن المنتج يلبي متطلبات معينة تمامًا. بمعنى آخر ، يضمن التحقق أن " أنت تفعل ذلك بشكل صحيح"، والتحقق هو أن" كنت تفعل الشيء الصحيح”.
يجب تنفيذ التحقق في أقرب وقت ممكن في العمليات ذات الصلة (مثل التسليم أو التطوير أو التشغيل أو الصيانة) لتقييم فعالية التكلفة والأداء. قد تشمل هذه العملية التحليل والتحقق والاختبار (الاختبار).
يمكن إجراء هذه العملية بدرجات متفاوتة من استقلالية فناني الأداء. يمكن توزيع درجة استقلالية فناني الأداء بين الكيانات المختلفة في المنظمة نفسها ، والكيانات في منظمة أخرى ، بدرجات مختلفة من توزيع المسؤوليات. هذه العملية تسمى العملية التحقق المستقلإذا كانت المؤسسة المنفذة مستقلة عن البائع أو المطور أو المشغل أو المشرفين.
تقييمات الخبراء (خبرة) جزء مهم من التحقق كأداة راسخة للتخلص الفعال من الخلل. ومن أهم ما يمكن استخلاصه من ذلك هو الحاجة إلى تطوير فهم وفهم أعمق لإصدارات العمل الخاصة بالمنتج ، بالإضافة إلى تدفقات العمل المستخدمة لتحديد العيوب المحتملة وخلق فرصة للتحسينات إذا لزم الأمر.
تشمل الامتحانات دراسة منهجية للعمل الذي يقوم به الخبراء من أجل تحديد العيوب والتغييرات الأخرى المطلوبة.
الطرق الرئيسية لتقييم الخبراء هي:
تكمن
التحكم الهيكلي الشامل
غالبًا ما يتم الخلط بين مفهومي التحقق والتحقق. بالإضافة إلى ذلك ، غالبًا ما يتم الخلط بين التحقق من صحة متطلبات النظام والتحقق من صحة النظام. أقترح النظر في هذه القضية.
في المقالة ، نظرت في طريقتين لنمذجة الكائن: ككل وكهيكل. في المقال الحالي ، سنحتاج إلى هذا التقسيم.
افترض أن لدينا كائن وظيفي مصمم. دعنا نعتبر هذا الكائن جزءًا من بناء كائن وظيفي آخر. يجب أن يكون هناك وصف لبناء الكائن ، بحيث يحتوي على وصف للكائن. في مثل هذا الوصف ، يحتوي الكائن على وصف ككل ، أي أن واجهات التفاعل مع الكائنات الأخرى موصوفة في إطار عمل بناء الكائن. دع وصف الكائن كهيكل يعطى. يجب أن يكون هناك كائن معلومات يحتوي على متطلبات لتصميم وصف الكائن كهيكل. يجب أن يكون هناك مجموعة من المعارف التي تحتوي على قواعد الاستدلال ، والتي على أساسها يتم الحصول على وصف للكائن كهيكل من وصف الكائن ككل. جوهر المعرفة هو ما يدرسه المصممون في المعاهد - الكثير والكثير من المعرفة. إنها تسمح ، على أساس المعرفة حول الكائن ، بتصميم هيكله.
لذا ، يمكنك أن تبدأ. يمكننا أن نؤكد أنه إذا تم وصف الكائن ككل بشكل صحيح ، وإذا كان جسم المعرفة صحيحًا ، وإذا تم مراعاة قواعد الاستدلال ، فسيكون الوصف الناتج لبناء الكائن صحيحًا. أي ، على أساس هذا الوصف ، كائن وظيفي مطابق لـ ظروف حقيقيةعملية. ما هي المخاطر التي قد تنشأ:
1. استخدام المعرفة غير الصحيحة عن الكائن. قد لا يتوافق نموذج الكائن في أذهان الناس مع الواقع. لم يعرفوا على سبيل المثال الخطر الحقيقي للزلازل. وفقًا لذلك ، قد تتم صياغة متطلبات الكائن بشكل غير صحيح.
2. سجل غير مكتمل للمعرفة حول الشيء - هناك شيء مفقود ، وترتكب الأخطاء. على سبيل المثال ، علموا بأمر الرياح ، لكنهم نسوا ذكرها. قد يؤدي هذا إلى وصف غير كامل لمتطلبات الكائن.
3. مجموعة خاطئة من المعرفة. لقد تعلمنا أولوية الكتلة على المعلمات الأخرى ، لكن اتضح أنه كان علينا زيادة السرعة.
4. التطبيق غير الصحيح لقواعد الاستدلال على وصف الكائن. أخطاء منطقية ، شيء مفقود في متطلبات تصميم الكائن ، تتبع المتطلبات معطل.
5. سجل غير مكتمل للاستنتاجات التي تم الحصول عليها حول تصميم النظام. تم أخذ كل شيء في الاعتبار ، تم حساب كل شيء ، لكنهم نسوا الكتابة.
6. النظام الذي تم إنشاؤه لا يتطابق مع الوصف.
من الواضح أن جميع القطع الأثرية للمشروع تظهر ، كقاعدة عامة ، في شكلها المكتمل فقط بنهاية المشروع ، وحتى ذلك الحين ليس دائمًا. لكن إذا افترضنا أن المشروع هو شلال ، فإن المخاطر ستكون كما وصفتها. التحقق من كل خطر هو عملية محددة يمكن تسميتها. إذا كان أي شخص مهتمًا ، يمكنك محاولة الخروج والتعبير عن هذه الشروط.
ما هو التحقق؟ في روسيا ، التحقق هو فحص للامتثال للقواعد. القواعد في شكل وثيقة. بمعنى ، يجب أن يكون هناك مستند بمتطلبات التوثيق. إذا كانت الوثائق تفي بمتطلبات هذا المستند ، فهذا يعني أنها اجتازت عملية التحقق.
ما هو التحقق من الصحة؟ في اللغة الروسية ، التحقق من الصحة هو التحقق من صحة الاستنتاجات. بمعنى ، يجب أن يكون هناك مجموعة معرفية تصف كيفية الحصول على وصف للتصميم بناءً على بيانات الكائن. التحقق من صحة تطبيق هذه الاستنتاجات هو التحقق من الصحة. التحقق من الصحة هو ، من بين أمور أخرى ، التحقق من الوصف من أجل الاتساق والاكتمال والاستيعاب.
غالبًا ما يتم الخلط بين التحقق من صحة المتطلبات والتحقق من صحة منتج مبني على تلك المتطلبات. لا يستحق ذلك.
يضم الفريق أكثر من شخصين مما يثير حتما مسألة توزيع الأدوار والحقوق والمسؤوليات في الفريق. يتم تحديد مجموعة محددة من الأدوار من خلال العديد من العوامل - عدد المشاركين في التنمية وتفضيلاتهم الشخصية ، ومنهجية التطوير المعتمدة ، وميزات المشروع ، وعوامل أخرى. في أي فريق تطوير تقريبًا ، يمكن تمييز الأدوار التالية. قد يكون بعضها غائبًا تمامًا ، بينما يمكن للأفراد أداء عدة أدوار في وقت واحد ، لكن التكوين العام يتغير قليلاً.العميل (مقدم الطلب). ينتمي هذا الدور إلى ممثل المنظمة التي أمرت بتطوير النظام. عادة ، يكون مقدم الطلب محدودًا في تفاعله ويتواصل فقط مع مديري المشروع وشهادة أو أخصائي تنفيذ. عادة ، يحق للعميل تغيير متطلبات المنتج (بالتعاون مع المديرين فقط) ، وقراءة وثائق التصميم والشهادة التي تؤثر على الميزات غير الفنية للنظام الجاري تطويره.
مدير المشروع. يوفر هذا الدور قناة اتصال بين العميل وفريق المشروع. يدير مدير المنتج توقعات العميل ويطور ويحافظ على سياق الأعمال للمشروع. لا يرتبط عمله مباشرة بالبيع ، فهو يركز على المنتج ، ومهمته هي التحديد والتقديم متطلبات العملاء. لمدير المشروع الحق في تغيير متطلبات المنتج والوثائق النهائية للمنتج.
مدير البرنامج. يدير هذا الدور الاتصالات والعلاقات داخل فريق المشروع ، ويعمل كمنسق بطريقة ما ، ويطور ويدير المواصفات الوظيفية ، ويحافظ على الجدول الزمني للمشروع ويبلغ عن حالة المشروع ، ويبدأ القرارات الحاسمة للمشروع.
اختبارات- عملية تنفيذ البرنامج لاكتشاف الخطأ.
بيانات الاختبار- المدخلات المستخدمة لاختبار النظام.
حالة الاختبار (حالة الاختبار)- مدخلات لاختبار النظام والمخرجات المتوقعة حسب المدخلات إذا كان النظام يعمل وفق مواصفات المتطلبات.
حالة اختبار جيدة- موقف به احتمال كبير لاكتشاف خطأ لم يتم اكتشافه حتى الآن.
اختبار محظوظ- اختبار يكتشف خطأ لم يتم اكتشافه حتى الآن.
خطأ- عمل المبرمج في مرحلة التطوير ، مما أدى إلى حقيقة أن البرنامج يحتوي على عيب داخلي ، والذي قد يؤدي أثناء تشغيل البرنامج إلى نتيجة غير صحيحة.
رفض- سلوك غير متوقع للنظام يؤدي إلى نتيجة غير متوقعة قد تكون ناجمة عن العيوب الموجودة فيه.
وبالتالي ، في عملية اختبار البرنامج ، كقاعدة عامة ، يتم التحقق مما يلي.
التحقق والتحقق ( التحقق والمصادقة-الخامس& الخامس)مصممة لتحليل ، والتحقق من التنفيذ الصحيح والامتثال للبرنامج مع مواصفات ومتطلبات العميل. تعني طرق التحقق من صحة البرامج والأنظمة على التوالي:
- التحقق هو التحقق من صحة إنشاء النظام وفقًا لمواصفاته ؛
- التحقق من الصحة هو التحقق من صحة استيفاء المتطلبات المحددة للنظام.
يساعد التحقق في التوصل إلى استنتاج حول صحة النظام الذي تم إنشاؤه بعد الانتهاء من تصميمه وتطويره. يتيح لك التحقق من الصحة إثبات جدوى المتطلبات المحددة ويتضمن عددًا من الإجراءات للحصول على البرامج والأنظمة الصحيحة ، وهي:
- تخطيط إجراءات التفتيش والرقابة حلول التصميموالمتطلبات ؛
- توفير مستوى أتمتة تصميم البرنامج بوسائل CASE ؛
- التحقق من الأداء الصحيح للبرامج عن طريق اختبار الطرق على مجموعات من الاختبارات المستهدفة ؛
- تكييف المنتج مع بيئة التشغيل ، إلخ.
يؤدي التحقق من الصحة هذه الأنشطة من خلال مراجعة وفحص المواصفات ومخرجات التصميم في مراحل دورة الحياة للتأكد من أن هناك تنفيذًا صحيحًا للمتطلبات الأولية وأن الشروط والقيود المحددة مستوفاة. تتضمن مهام التحقق والتحقق التحقق من اكتمال واتساق وعدم غموض مواصفات المتطلبات وصحة أداء وظائف النظام.
يخضع التحقق والمصادقة لما يلي:
- المكونات الرئيسية للنظام ؛
- واجهات المكونات (البرامج والتقنية والمعلوماتية) وتفاعلات الكائنات (البروتوكولات والرسائل) التي تضمن تنفيذ النظام في البيئات الموزعة ؛
- وسائل الوصول إلى قاعدة البيانات والملفات (المعاملات والرسائل) والتحقق من وسائل الحماية ضد الوصول غير المصرح به إلى بيانات المستخدمين المختلفين ؛
- توثيق البرنامج والنظام ككل ؛
- الاختبارات وإجراءات الاختبار وإدخال البيانات.
بمعنى آخر ، الطرق المنهجية الرئيسية لتصحيح البرنامج هي:
- تَحَقّقمكونات ومتطلبات PS التحقق من صحة مواصفات المتطلبات ؛
- فحص PSلإثبات توافق البرنامج مع المواصفات المحددة ؛
- اختباراتكود إخراج PS على بيانات الاختبار في بيئة تشغيل محددة لتحديد الأخطاء والعيوب الناتجة عن العيوب المختلفة ، أو الشذوذ ، أو أعطال المعدات أو أعطال النظام (انظر الفصل 9).
تتضمن المواصفة القياسية ISO / IEC 3918-99 و 12207 عمليات التحقق والتحقق. بالنسبة لهم ، يتم تحديد الأهداف والمهام والإجراءات للتحقق من صحة المنتج الذي تم إنشاؤه (بما في ذلك المنتجات العاملة والمتوسطة) في مراحل دورة الحياة والامتثال لمتطلباتها.
المهمة الرئيسية لعمليات التحقق والتحقق هي تحقق وتأكيدأن البرنامج النهائي مناسب للغرض ويلبي متطلبات العميل. تتيح لك هذه العمليات تحديد الأخطاء في منتجات العمل لمراحل دورة الحياة ، دون معرفة أسباب حدوثها ، وكذلك إثبات صحة البرنامج فيما يتعلق بمواصفاته.
هذه العمليات مترابطة ويتم تعريفها بمصطلح واحد - "التحقق والتحقق" (V&V 7).
يتم التحقق:
- التحقق من صحة ترجمة المكونات الفردية إلى كود الإخراج ، وكذلك أوصاف الواجهة من خلال تتبع علاقات المكونات وفقًا للمتطلبات المحددة للعميل ؛
- تحليل صحة الوصول إلى الملفات أو قاعدة البيانات ، مع مراعاة الإجراءات المعتمدة في أدوات النظام المستخدمة لمعالجة البيانات ونقل النتائج ؛
- التحقق من حماية المكونات يعني الامتثال لمتطلبات العملاء وتتبعهم.
بعد التحقق من المكونات الفردية للنظام ، يتم تنفيذ تكاملها ، وكذلك التحقق من النظام المتكامل والتحقق منه. يتم اختبار النظام على مجموعة من مجموعات الاختبار لتحديد ما إذا كانت مجموعات الاختبار كافية وكافية لإكمال الاختبار وإثبات صحة النظام.
تم اقتراح فكرة إنشاء مشروع دولي حول التحقق الرسمي من قبل T. Hoare ، وتمت مناقشتها في ندوة حول البرمجيات التي تم التحقق منها في فبراير 2005 في كاليفورنيا. ثم ، في أكتوبر من نفس العام ، في مؤتمر IFIP في زيورخ ، تم اعتماد مشروع دولي لمدة 15 عامًا لتطوير "مجموعة آلية شاملة من الأدوات للتحقق من صحة PS".
وقد صاغ المهام الرئيسية التالية:
- تطوير نظرية موحدة لبناء وتحليل البرامج ؛
- بناء مجموعة متكاملة وشاملة من أدوات التحقق لجميع مراحل الإنتاج ، بما في ذلك تطوير المواصفات والتحقق منها ، وإنشاء حالات الاختبار ، وتنقيح البرامج وتحليلها والتحقق منها ؛
- إنشاء مستودع للمواصفات الرسمية وكائنات البرامج التي تم التحقق منها أنواع مختلفةوأنواع.
يفترض هذا المشروع أن التحقق سيغطي جميع جوانب إنشاء البرنامج والتحقق من صحته وسيصبح حلاً شاملاً لجميع المشكلات المرتبطة بالحدوث المستمر للأخطاء في البرامج التي يتم إنشاؤها.
تم اختبار العديد من الأساليب الرسمية لإثبات البرامج المحددة والتحقق منها في الممارسة العملية. فعله مهمة كبيرةاللجنة الدولية ISO / IEC في إطار معيار ISO/ IEC 12207: 2002 بشأن توحيد عمليات التحقق من البرامج والتحقق من صحتها. يعد التحقق من الصحة بالطرق الرسمية لكائنات البرمجة المختلفة أمرًا واعدًا.
المستودع هو مستودع للبرامج والمواصفات والأدوات المستخدمة في التطوير والاختبار وتقييم المكونات النهائية والأدوات وفراغات الطريقة. لديها المهام العامة التالية:
- تراكم المواصفات التي تم التحقق منها ، وطرق الإثبات ، وكائنات البرامج ، وتنفيذ التعليمات البرمجية للتطبيقات المعقدة ؛
- تراكم طرق التحقق المختلفة ، وتصميمها في شكل مناسب للبحث واختيار فكرة نظرية محققة لمزيد من التطبيق ؛
- تطوير نماذج معيارية لوضع وتبادل المواصفات الرسمية لمختلف كائنات البرمجة ، وكذلك الأدوات والأنظمة الجاهزة ؛
- تطوير آليات التشغيل البيني والتفاعل لنقل المنتجات النهائية التي تم التحقق منها من المستودع إلى بيئات الشبكة والموزعة الجديدة لإنشاء PSs جديدة.
من المفترض أن يتم تطوير هذا المشروع في غضون 50 عامًا. حددت المشاريع السابقة أهدافًا متشابهة: تحسين جودة البرامج ، وإضفاء الطابع الرسمي على نماذج الخدمة ، وتقليل التعقيد من خلال استخدام PICs ، وإنشاء أدوات تصحيح الأخطاء لتشخيص الأخطاء بصريًا والقضاء عليها ، وما إلى ذلك ، ومع ذلك ، لم يحدث تغيير أساسي في البرمجة أيضًا بمعنى التصحيح المرئي أو في تحقيق جودة عاليةعلى. تستمر عملية التطوير.
يتطلب مشروع دولي جديد للتحقق من البرمجيات من المشاركين فيه ليس المعرفة فقط الجوانب النظريةمواصفات البرنامج ولكن أيضًا مبرمجين مؤهلين تأهيلا عاليا لتنفيذه في السنوات القادمة.