اختبار البرمجيات غير المتلف (NDT): ما هو، استراتيجية الاختبار
⚡ ملخص ذكي
يتحقق الاختبار غير المتلف من أن التطبيق يعمل بشكل صحيح عند تلقيه مدخلات صحيحة، ولذلك يُطلق عليه أيضًا اختبار المسار الإيجابي أو اختبار المسار السليم. وهو يؤكد النتائج المتوقعة مقابل المتطلبات الموثقة.
ما هو اختبار البرمجيات غير المدمرة؟
اختبار غير مدمر هو نوع من اختبارات البرامج يتضمن اختبار التطبيق البرمجي والتفاعل معه بشكل صحيح. بمعنى آخر، يمكن أيضًا تسمية اختبار البرامج غير المدمرة (NDT) بالاختبار الإيجابي أو اختبار المسار السعيد. إنه يعطي النتائج المتوقعة ويثبت أن التطبيق البرمجي يعمل كما هو متوقع.
يُستعار هذا المصطلح من مجال الهندسة، حيث يُستخدم الاختبار غير المتلف لفحص المكونات المادية دون إتلافها. وفي مجال البرمجيات، الفكرة نفسها: يُشغَّل التطبيق بالطريقة التي صُمِّمَ من أجلها، ويجتاز الاختبار بنجاح.
على سبيل المثال: إدخال البيانات الصحيحة في وحدة تسجيل الدخول والتحقق مما إذا كانت تقبل بيانات الاعتماد وتنتقل إلى الصفحة التالية.
تُظهر لقطة الشاشة أدناه نموذج تسجيل الدخول، مع إدخال قيمة صحيحة في حقل اسم المستخدم قبل تنفيذ الاختبار.
لإجراء اختبار غير مُتلف على المثال أعلاه، أدخل اسم مستخدم وكلمة مرور صحيحين في نموذج تسجيل الدخول. ولأن المدخلات تتطابق مع المتطلبات، فإن النتيجة المرجوة إيجابية، ويؤكد المُختبِر ببساطة أن التطبيق ينتقل إلى الصفحة التالية.
لماذا يتم إجراء اختبار البرامج غير المدمرة (NDT)؟
يجيب الاختبار غير المتلف على السؤال الأول الذي يطرحه كل صاحب مصلحة حول أي إصدار: هل تؤدي الميزة بالفعل ما طُلب منها القيام به؟ هذه هي الأسباب التي تدفع الفرق إلى إجرائه.
- تتمثل الفائدة الرئيسية لطريقة الاختبار غير المتلف في أنها تؤدي إلى تحسين جودة البرمجيات، لأن العيوب التي يتم اكتشافها في التدفق الرئيسي يتم إصلاحها مبكراً.
- لإثبات أن وظائف البرنامج تعمل وفقًا للمواصفات.
- للتحقق من استيفاء متطلبات الأداء.
- للتأكد من تلبية متطلبات المستخدمين النهائيين.
- للتأكد من أن جزءًا صغيرًا من التعليمات البرمجية أو الوظائف يعمل كما هو متوقع ولا يعطل الوظائف ذات الصلة.
- لإنتاج أدلة يمكن عرضها في اختبار قبول المستخدم الموافقة النهائية، حيث يرغب العميل في رؤية السلوك المقصود بدلاً من أنماط الفشل.
متى يتم إجراء الاختبار غير المدمر (NDT)؟
يُعد التوقيت أكثر أهمية هنا مما هو عليه بالنسبة لمعظم التقنيات، لأن المسار الأمثل يغلق كل شيء في اتجاه المصب.
- يُعد هذا أول شكل من أشكال الاختبار الذي يُجريه المختبر على التطبيق، أي في المرحلة الأولية من SDLC.
- عادة ما يتم إجراء الاختبارات غير المدمرة عندما لا يكون هناك وقت كافٍ لدورة اختبار كاملة، لأنها لا تزال تثبت استيفاء معايير القبول.
- يتم تشغيله قبل السيناريوهات السلبية والمدمرة. إذا انقطع التدفق الرئيسي، فإن اختبارات معالجة الأخطاء تُبلغ عن تشويش بدلاً من العيوب الحقيقية.
- يتكرر ذلك بعد كل عملية إصلاح عيب، وهذا هو موضع التداخل مع اختبار الانحدار.
استراتيجية الاختبار للاختبارات غير المدمرة
إن استراتيجية الاختبار غير المدمر بسيطة عن قصد، ويكمن الانضباط في الحفاظ على الإيجابية بدلاً من الأدوات.
- ينبغي أن يكون النهج المتبع في الاختبارات غير المدمرة إيجابياً.
- تهدف تقنية الاختبار غير المتلف إلى إثبات أن التطبيق سيعمل عند إعطائه بيانات إدخال صحيحة.
- لا توجد متطلبات أو بيئة خاصة مطلوبة لإجراء الاختبارات غير المدمرة.
- أفضل ممارسة للاختبار غير المدمر هي التحقق مما إذا كان النظام يقوم بما يفترض أن يقوم به.
يلخص الرسم البياني أدناه كيفية تنظيم هذه الاستراتيجية عادةً خلال دورة الاختبار.
كيفية كتابة حالات اختبار غير مدمرة (إيجابية)
لا تكون حالة الاختبار غير المدمرة مفيدة إلا عندما تكون مدخلاتها صحيحة بشكل مثبت، وتكون نتيجتها المتوقعة نابعة من متطلب وليس من افتراضات المختبِر. الخطوات التالية تُنتج هذا النوع من الاختبارات. حالة اختبار.
الخطوة 1) اختر معيار قبول واحد. اقرأ المتطلبات وأعد صياغتها كعبارة واحدة قابلة للتحقق، على سبيل المثال "يقبل حقل اسم المستخدم من ستة إلى عشرين حرفًا أبجديًا رقميًا".
الخطوة الثانية: اختر بيانات إدخال صالحة. اختر القيم التي تقع ضمن النطاق المسموح به. تقسيم متكافىء يساعد هذا هنا - قيمة تمثيلية واحدة لكل قسم صالح تكفي عادةً.
الخطوة 3) اكتب النتيجة المتوقعة قبل التنفيذ. يجب كتابة النتيجة المتوقعة من المواصفات. كتابتها بعد التشغيل يحول الاختبار إلى وصف لما حدث أثناء عملية البناء.
الخطوة الرابعة) حافظ على ترتيب الخطوات حسب المستخدم. ينبغي أن يتطابق التسلسل مع كيفية قيام المستخدم الحقيقي بإكمال المهمة، لأن الهدف من هذه التقنية هو تأكيد المسار المقصود.
الخطوة 5) سجل مُعرّف المتطلبات. Tracإن إعادة القضية إلى معيارها هو ما يسمح للفريق بإثبات التغطية أثناء المراجعة.
يبدو مثال عملي لوحدة تسجيل الدخول كالتالي.
| الحقل | حالة اختبار غير مدمرة |
|---|---|
| متطلبات | يقبل اسم المستخدم من 6 إلى 20 حرفًا أبجديًا رقميًا |
| بيانات الاختبار | اسم المستخدم guru99testerكلمة مرور مطابقة صالحة |
| خطوات | افتح صفحة تسجيل الدخول، وأدخل بيانات الاعتماد، ثم حدد "تسجيل الدخول". |
| نتيجة متوقعة | يتم قبول بيانات الاعتماد وعرض الصفحة الرئيسية |
| النوع | مسار إيجابي / سعيد |
لاحظ أنه لا يوجد في هذه الحالة ما يحاول كسر الحقل. الحالة التي تُدخل خمسة أحرف لعرض رسالة الخطأ هي حالة نتيجة سلبية، وليس نوعاً غير مدمر.
أمثلة على الاختبارات غير المدمرة
يوضح المثال أدناه كيف يتصرف الاختبار غير المدمر عبر تطبيق متعدد الوحدات بعد إصلاح عيب ما.
- يحتوي التطبيق على خمس وحدات: صفحة تسجيل الدخول، والصفحة الرئيسية، وصفحة تفاصيل المستخدم، وإنشاء مستخدم جديد، وإنشاء المهام.
- لنفترض وجود خطأ برمجي في صفحة تسجيل الدخول: حقل اسم المستخدم يقبل أقل من ستة أحرف وأرقام. هذا مخالف للمتطلبات المحددة، والتي تنص على ألا يقل عدد الأحرف في اسم المستخدم عن ستة، لذا يُعد هذا السلوك عيبًا.
- تم الإبلاغ عن الخلل لفريق التطوير عبر القنوات المعتادة. عملية إدارة العيوبتم إصلاح المشكلة، وتم إرسال النسخة مرة أخرى إلى فريق الاختبار.
- لا يقتصر عمل فريق الاختبار على فحص صفحة تسجيل الدخول التي تم إصلاح الخلل فيها، بل يشمل أيضاً اختبار الوحدات الأخرى. وأثناء اختبار جميع الوحدات ببيانات صحيحة، يُجري الفريق اختبارات غير مُتلفة، وذلك للتأكد من أن التطبيق بأكمله لا يزال يعمل بشكل سليم.
الاختبارات غير المدمرة مقابل الاختبارات المدمرة
غالباً ما يتم تدريس التقنيتين معاً لأنهما تجيبان على أسئلة متناقضة حول نفس البنية. اختبار المدمرة يبحث عن النقطة التي ينهار عندها البرنامج، بينما يؤكد الاختبار غير المدمر أن السلوك المقصود قائم.
| البعد | اختبار غير مدمر | اختبار المدمرة |
|---|---|---|
| نية | تفاعل مع التطبيق بشكل صحيح وتحقق من النتائج الإيجابية | قم بإدخال بيانات غير عادية أو غير صالحة لتحديد نقطة الفشل |
| ادخال البيانات | بيانات صحيحة مستمدة من المتطلبات | بيانات غير صالحة أو تالفة أو غير متسلسلة |
| المتطلبات اللازمة | نعم، تُكتب القضايا وفقًا لمعايير القبول. | ليس بالضرورة؛ يعمل المختبرون دون تحيز تجاه قصة المستخدم. |
| ما يكشفه | نقاط الضعف في الأداء الوظيفي مقارنةً بالمواصفات | نقاط ضعف في التصميم والمتانة وقابلية الاسترداد |
| التقنيات ذات الصلة | اختبار الدخان, الاختبار الوظيفي | اختبار القرود, الاختبار الاستكشافي |
إنهما متكاملان وليسا بديلين. فإجراء الاختبارات غير المدمرة وحدها لا يضمن التحقق من معالجة الأخطاء، كما أن إجراء الاختبارات المدمرة وحدها لا يثبت أبداً أن المنتج يؤدي وظيفته.
مزايا وقيود اختبار البرمجيات غير المتلف
إن معرفة متى تتوقف التقنية عن كونها مفيدة لا تقل أهمية عن معرفة ما تغطيه.
المزايا
- سريع التصميم والتنفيذ، لأن بيانات الاختبار تأتي مباشرة من المواصفات.
- لا يتطلب بيئة خاصة، أو حقن أعطال، أو مجموعة بيانات تالفة.
- ينتج أدلة تتوافق بشكل مباشر مع المتطلبات، وهو ما يناسب عمليات التدقيق والموافقات.
- يعمل بنفس الكفاءة الاختبار اليدوي وكما هو مكتوب في السيناريو اختبار الأتمتةوبالتالي، يمكن إعادة استخدام نفس الحالات في مجموعة اختبارات الانحدار.
- يُعطي إشارة مبكرة وصادقة حول صحة المبنى على أي مستوى، من الوحدة إلى اختبار التكامل إلى اختبار النظام.
القيود
- لا يُشير المرور الكامل إلى كيفية تصرف التطبيق مع المدخلات غير الصالحة، لذا يمكن أن تستمر عيوب معالجة الأخطاء الخطيرة بعد ذلك.
- تُحدد التغطية بجودة المتطلبات. أي شيء غير محدد لا يتم اختباره مطلقاً.
- قد يخلق ذلك ثقة زائفة عندما يكون المسار السعيد هو المسار الوحيد الذي يتم اتباعه قبل الإصدار.
- لا يقيس هذا المقياس المتانة أو التعافي أو الأداء تحت الضغط، وهي أمور تتطلب تقنيات خاصة بها من مجموعة أوسع من التقنيات. أنواع اختبار البرمجيات.
اعتبر الاختبار غير المدمر بمثابة الأساس الذي تُبنى عليه جميع التقنيات الأخرى، وجدوله ضمن الإطار الأوسع. دورة حياة اختبار البرمجيات بدلاً من أن يكون نشاطاً لمرة واحدة.


