اختبار البرمجيات

أدوات اختبار البرامج - دليل مفصل

30 أكتوبر 2021

جدول المحتويات

  • أدوات اختبار البرمجيات
  • 1. خطة الاختبار
  • أنواع خطط الاختبار
  • نموذج خطة الاختبار
  • إرشادات خطة الاختبار
  • 2. مجموعة الاختبار
  • ما هي مجموعة الاختبار؟
  • ماذا يعني الجناح؟ أوضح بالمثال
  • أنواع أجنحة الاختبار
  • ميزات مجموعات الاختبار
  • قوالب مجموعات الاختبار
  • الفرق بين سيناريو الاختبار ومجموعة الاختبار وخطة الاختبار وحالة الاختبار
  • استنتاج
  • 3. حالة الاختبار
  • ما هي حالة الاختبار؟
  • كيف تكتب حالات اختبار جيدة؟
  • نموذج حالة الاختبار
  • نموذج حالة الاختبار لصيغة حالات الاختبار القياسية
  • اختبار أدوات إدارة الحالة
  • 4. اختبار البرنامج النصي
  • ما هو نص الاختبار؟
  • اختبار لغة النص مع مثال
  • ما نوع الكود المستخدم؟
  • كيفية إنشاء نص اختبار؟
  • كيفية تشغيل اختبار البرنامج النصي؟
  • 5. بيانات الاختبار
  • ما هي بيانات الاختبار؟
  • أهمية بيانات الاختبار
  • أنواع بيانات الاختبار
  • بيانات الاختبار في الاختبار
  • خصائص بيانات الاختبار الجيدة
  • تقنيات لإعداد أو توليد بيانات الاختبار
  • مناهج اختبار توليد البيانات
  • اختبار أدوات توليد البيانات
  • اختبار إدارة البيانات (TDM)
  • حدود بيانات الاختبار
  • استنتاج
  • مقالات مقترحة

4. اختبار البرنامج النصي

ما هو نص الاختبار؟

img 617dd4e96d22c

يُعرَّف البرنامج النصي للاختبار على أنه مجموعة من التعليمات المكتوبة بلغة بشرية (يدوية) أو لغة برمجة / برمجة (آلية) للتحقق من أن النظام قيد الاختبار يعمل على النحو المتوقع.

إنها جزء من حالة اختبار يمكن أن تحتوي على نصوص اختبار متعددة.

يُطلق على محرك تنفيذ الاختبار ، جنبًا إلى جنب مع مستودع نصوص الاختبار ، اسم أداة اختبار.

يمكن أن تحتوي حالة الاختبار الفردية على نصوص اختبار متعددة عندما:

  • يمكن أن تكون حالات الاختبار يدوية وباستخدام البرامج النصية الآلية.
  • يوفر كل نص اختبار سيناريو مختلف لاختبار حالة الاختبار.

عادةً ما يؤدي رمز البرنامج النصي للاختبار ما يلي مرة أو مرتين:

  1. تحديد عناصر الإدخال من واجهة المستخدم
  2. انتقل إلى مكون واجهة المستخدم وانتظر وتحقق من عناصر الإدخال التي تظهر.
  3. محاكاة إدخال المستخدم.
  4. تحديد عناصر الإخراج
  5. انتظر وتحقق من عناصر الإخراج لعرض النتيجة.
  6. اقرأ نتيجة عنصر الإخراج.
  7. تأكيد قيمة المخرجات تساوي القيمة المتوقعة.

اختبار لغة النص مع مثال

يمكن إجراء الاختبار الآلي باستخدام اللغات التالية:

  • TCL
  • بايثون
  • جافا سكريبت
  • VBScript
  • بيرل
  • روبي
  • يونكس شل سيناريو

يمكن لبعض أدوات أتمتة الاختبار أو الأطر التي تحتوي على لغة البرمجة النصية الخاصة بها إنشاء نصوص اختبار بدون تشفير فعلي.

مثال: تستخدم Sikuli ، وهي أداة آلية لواجهة المستخدم الرسومية ، لغة Python لاختبار حالات الاختبار. على سبيل المثال ، ما يلي هو مثال على برنامج نصي للاختبار في بايثون:

def demo_script (self): type ('ABCD') click (ImageButtonX) assertExist (ImageResultX)

مثال على نص اختبار

دعونا نفكر في الاختبار التلقائي لوظيفة الإضافة في موقع التجارة الإلكترونية. سينفذ البرنامج النصي التجريبي للموقع ما يلي:

  1. حدد كيفية تحديد موقع الزر 'إضافة منتج إلى عربة التسوق' من صفحة سلة التسوق. على سبيل المثال. باستخدام معرفات عناصر CSS.
  2. قم بتحميل الصفحة الرئيسية لموقع الويب ، وانقر فوق رمز عربة التسوق ، وتحقق من ظهور صفحة سلة التسوق ، وأظهر شاشة سلة التسوق فارغة.
  3. ابحث عن أي عنصر من كتالوج المنتج. على سبيل المثال ، أضف فستانًا. ثم اضغط على إضافة إلى عربة التسوق.
  4. حدد كيفية عرض العنصر المضاف إلى سلة التسوق للمستخدم.
  5. انتظر وتحقق مما إذا تمت إضافة العنصر بنجاح مع ظهور تفاصيل كافية على شاشة سلة التسوق.
  6. اقرأ صفحة عربة التسوق.
  7. تأكد من ظهور اسم المنتج وتفاصيله

ما نوع الكود المستخدم؟

يمكن أن يكون نوع الترميز لإنشاء برنامج نصي للاختبار من الأنواع الثلاثة التالية:

التسجيل / التشغيل

ليست هناك حاجة لكتابة التعليمات البرمجية إذا تم تسجيل إجراءات المستخدم ، ويتم إنشاء البرنامج النصي تلقائيًا.

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

ومع ذلك ، يعد هذا أبسط من كتابة البرنامج النصي من نقطة الصفر لأن النص موجود أمام المختبر مباشرة ويتم ترميزه بشكل عام بلغات مبسطة مثل VBScript.

كود لغة برمجة حقيقي

حتى إذا كان لدى المُختبِر القدرة على تسجيل / تشغيل الكود أو إنشاء كود برمجي بسيط ، فقد يحتاج المُختبِرون في النهاية إلى تعلم كيفية البرمجة بأنفسهم.

يمكن للمختبرين اختيار أي لغة برمجة بغض النظر عن لغة البرمجة المستخدمة لكتابة البرنامج. على سبيل المثال ، حتى إذا كان البرنامج مكتوبًا بلغة جافا ، لكن المختبِر يجيد لغة بايثون ، فيمكنه كتابة نص اختبار بايثون.

الكلمات الرئيسية / البرمجة النصية المستندة إلى البيانات

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

هذه الطريقة مفيدة للمختبرين ولكنها تعتمد بشكل كبير على تطوير الموارد لوظائف جديدة للاختبار تلقائيًا.

كيفية إنشاء نص اختبار؟

توجد ثلاث طرق لإنشاء برنامج نصي للاختبار:

1. تسجيل / تشغيل

للمبتدئين ، أدوات مثل HP محترف اختبار سريع يمكن أن يساعد محترفي ضمان الجودة في إنشاء نصوص اختبار مؤتمتة.

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

أنها تجعل من الممكن تحرير وتعديل الاختبارات عن طريق تحديد الكائنات وتحديد إجراءات المستخدم لمحاكاتها.

الفرق بين المحاكاة والتحقق من الصحة في هذه الطريقة هو:

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

2. كود لغة برمجة حقيقي

المختبرين المتقدمين ، بدلاً من استخدام وظائف التسجيل / التشغيل ، يفضلون كتابة التعليمات البرمجية الخاصة بهم. تسمح الأطر مثل Appium و Microsoft Coded UI و Selenium للمختبرين بكتابة نصوص اختبار من البداية باستخدام لغات مثل Java أو C ++ أو PHP أو JavaScript.

قد تكون هذه اللغات مشابهة للغة المستخدمة في التطبيق الذي يتم اختباره وقد لا تكون كذلك.

توفر الأطر أوامر خاصة مثل تحديد عناصر الشاشة وتحديد خيارات القائمة والنقر والكتابة والمزيد على التطبيق قيد الاختبار حاليًا.

توفر معظم أطر أتمتة الاختبار أيضًا دعمًا للبرمجة النصية للتسجيل / التشغيل.

الفرق بين المحاكاة والتحقق من الصحة في هذه الطريقة هو:

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

3. الكلمات الرئيسية / البرمجة النصية المستندة إلى البيانات

في بعض أدوات الاختبار مثل Robot Framework ، يحدد المختبرون الكلمات الأساسية لإنشاء برنامج نصي تلقائيًا للنظام قيد الاختبار لتنفيذ الإجراءات المطلوبة.

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

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

تتمثل الميزة الرئيسية لهذا النوع من إنشاء نص الاختبار في عدم الحاجة إلى محاكاة عمليات المستخدم بشكل متكرر لكل نص اختبار. بدلاً من ذلك ، يتم تحديدها في مكان واحد للمختبِر لاستخدامها في نصوص اختبار متعددة.

دعونا نفكر في ملف مثال الخروج باستخدام خيار الدفع ببطاقة الخصم:

تحدد ميزة التحقق من الكلمات الرئيسية أن البرنامج النصي يجب أن ينتقل إلى صفحة سلة التسوق ويسمح للمستخدم بإدخال تفاصيل الدفع. يقوم المطور بعد ذلك بكتابة الكود لتنفيذ هذه الوظيفة. سيكون الجدول المقدم من قبل المختبر هو:

رقم البطاقة انقضاء CVV الاسم على البطاقة
أدخل تفاصيل الدفع 1234-1234-1234-12342/20***يوحنا

يمكن للمختبِر أيضًا توفير أسطر نصية مثل:

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

سيتم إنشاء نص اختبار يعرف كيفية تنفيذ سطور النص أعلاه.

الفرق بين المحاكاة والتحقق من الصحة في هذه الطريقة هو:

    محاكاة:يمكن التعامل مع هذا الجزء من البرنامج النصي بسهولة عن طريق كلمة رئيسية واحدة تحدد إجراء المستخدم.تصديق:يتطلب هذا الجزء كلمات رئيسية متعددة وقيم بيانات متوقعة لكل جزء من واجهة المستخدم التي يجب التحقق من صحتها. ليس من الصعب جدًا على المُختبِر تحديد كلمات رئيسية مختلفة لوظائف مختلفة ، ولكن هذا يعني أن لدى المختبرين خيارات محدودة للتحقق وسيتعين عليهم الاعتماد على التطوير لإضافة المزيد من الخيارات.

كيفية تشغيل اختبار البرنامج النصي؟

لا يمكن للمختبِر إنتاج نص اختبار عام لتشغيله على أي نظام أتمتة أو نقل الاختبارات من نظام إلى آخر دون التوافق مع إطار عمل الاختبار.

تعمل أطر الأتمتة ، التي تسمى أحيانًا أدوات الاختبار ، على تشغيل البرامج النصية للاختبار.

يمكن أن تأخذ هذه الأطر (Selenium و Appium و HP QTP و Robot Framework) نصًا مكتوبًا وفقًا للمواصفات وتحميل واجهة المستخدم ومحاكاة إجراءات المستخدم على الواجهة والإبلاغ عن النتائج.

لإجراء الاختبارات ، يتم استخدام الطرق التالية:

    بيئة التكامل المستمر:إذا قام المطورون ببناء البرنامج تلقائيًا باستخدام أدوات مثل Jenkins أو Teamcity ، فيمكن تشغيل البرامج النصية للاختبار التلقائي كجزء من عملية الإنشاء.

لذلك ، سيتم تشغيل اختبارات آلية محددة لواجهة المستخدم والإبلاغ عن نتائج كل إصدار جديد. يمكن استخدامه لاختبارات الوزن الخفيف مثل اختبارات الوحدة.

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