ما هو تسخير الاختبار؟ (أمثلة)

⚡ ملخص ذكي

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

  • 🧩 فريف: تجمع أداة الاختبار حالات الاختبار، والنماذج الأولية، وبرامج التشغيل، وتفاصيل منفذ النشر المستهدف، وملف المصدر قيد الاختبار في وحدة واحدة قابلة للتنفيذ.
  • 🎯 لماذا يهم: يبدأ الاختبار قبل وجود قواعد البيانات أو البوابات أو وحدات الواجهة الخلفية، لذلك تظهر العيوب مبكراً عندما تكون تكلفة الإصلاح في أدنى مستوياتها.
  • 🔧 الأجزاء الأساسية: يتحمل كل من محرك التنفيذ، ومستودع البرامج النصية، ومخزن بيانات الاختبار، والنماذج الأولية، وبرامج التشغيل، ومدقق الإخراج، وطبقة إعداد التقارير مسؤولية واحدة.
  • 🔁 العمل: قم بتحميل البرامج النصية، واستدعاء التطبيق قيد الاختبار، واستبدال الوحدات النمطية المفقودة، والتقاط المخرجات، ومقارنتها بالتوقعات، ونشر تقرير.
  • 🛠 الأدوات: JUnit نوبات Java، يتوافق NUnit مع .NET، بينما Selenium, TestNGوPyTest، و JMeter توسيع نطاق تغطية نظام الحماية ليشمل أعمال الشبكة، والأعمال المتوازية، وأعمال التحميل.
  • 📈 الاقوي: حافظ على توافق النماذج الأولية مع سلوك الوحدة النمطية الحقيقية، وقم بتخزين بيانات الاختبار خارج البرامج النصية، وقم بتشغيل أداة الاختبار في كل عملية بناء للتكامل المستمر.

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

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

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

لماذا استخدام تسخير الاختبار؟

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

اختبار السرج

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

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

المكونات الرئيسية لحزمة الاختبار

لا يمثل نظام الحماية برنامجًا واحدًا، بل هو عبارة عن مجموعة من الأجزاء، كل جزء منها يزيل عقبة واحدة من شأنها أن تمنع الاختبار من العمل دون تدخل.

  • نصوص الاختبار: تعليمات آلية توضح الخطوات الواجب اتباعها والنتيجة المتوقعة، مكتوبة وفقًا لـ نص الاختبار الاتفاقيات.
  • محرك تنفيذ الاختبار: البرنامج الذي يقرأ النصوص البرمجية بالترتيب، ويحل التبعيات، ويشغل التنفيذ المتسلسل أو المتوازي.
  • مستودع بيانات الاختبار: يتم تخزين قيم الإدخال خارج البرنامج النصي في ملفات CSV أو JSON أو XML أو قاعدة بيانات مُهيأة، وغالبًا ما يتم ملؤها بواسطة أدوات اختبار توليد البيانات.
  • برامج التشغيل: وحدات استدعاء وهمية تستدعي المكون قيد الاختبار عندما تكون الطبقة العليا الحقيقية، مثل واجهة المستخدم، غير مكتملة.
  • الملاحق: وحدات وهمية تُرجع إجابات جاهزة، على سبيل المثال خدمة دفع ترد بعبارة "تم الدفع بنجاح" دون الاتصال بالبنك.
  • مدقق المخرجات: منطق التأكيد الذي يقارن الناتج الفعلي بالقيمة المتوقعة ويحدد ما إذا كانت كل حالة ناجحة أم فاشلة.
  • طبقة التسجيل والإبلاغ: الطوابع الزمنية، ولقطات الشاشة، ومخرجات وحدة التحكم، وملخص التشغيل الذي يوضح كل فشل tracمتاح بعد ذلك.

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

كيف يعمل جهاز اختبار الأسلاك؟

يُكرر نظام التثبيت نفس الحلقة في كل عملية تنفيذ. معرفة تلك الحلقة تُخبرك بالضبط أين يقع نظامك الخاص اختبار الأتمتة يتم توصيل الأصول، وتحديد الخطوة التي تفشل عندما يتحول التشغيل إلى اللون الأحمر.

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

💡 نصيحة: قم بتحديث نماذجك كلما تغيرت الوحدة الفعلية. سيُظهر النموذج الذي لا يزال يستجيب بتنسيق الربع الأخير تشغيلًا ناجحًا بينما يكون التكامل المباشر معطلاً بالفعل.

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

هناك سياقان حيث يتم استخدام اختبار تسخير

تخدم هذه الآلية نفسها غرضين متميزين، وتتغير المفردات قليلاً اعتمادًا على أي منهما أنت فيه.

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

لنفترض وجود وحدة تسجيل دخول ووحدة ملف تعريف، ويجب عليهما تبادل رمز المستخدم. في سياق التكامل، يقوم برنامج تشغيل بمحاكاة تسجيل دخول ناجح، ثم يُسلّم الرمز إلى منطق ملف التعريف، وبالتالي خريطة البيانات.pingيمكن التحقق من فحص الأذونات وعرض الشاشة قبل انتهاء خدمة المصادقة الفعلية. في سياق التشغيل الآلي، تُضاف نفس الحالتين إلى مجموعة من الاختبارات وتُعاد تشغيلها في كل إصدار دون أي تدخل يدوي.

أنواع أسلاك الاختبار

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

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

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

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

أدوات تسخير الاختبار

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

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

أداة أفضل مناسبة ل الدور داخل الحزام
JUnit Java وحدات ومجموعات تكامل محركات الإمداد، والتجهيزات، والتأكيدات
NUnit كتابة أكواد بلغة C# و VB.NET على منصة .NET نفس الدور كـ JUnit للغات .NET
Selenium تدفقات من البداية إلى النهاية تعتمد على المتصفح يعمل كمحرك لطبقة واجهة المستخدم
TestNG 
كبير Java الأجنحة التي تحتاج إلى مجموعاتping والتشغيل المتوازي يعمل كمحرك لتنفيذ الاختبارات
باي تيست Python الخدمات وفحوصات مستوى واجهة برمجة التطبيقات تُستخدم المباريات كبدائل ومزودي بيانات
Apache JMeter سيناريوهات التحميل والإجهاد والأداء يقوم بتوليد حركة مرور اصطناعية على التطبيق قيد الاختبار
Postman واجهة برمجة تطبيقات RESTtracالتحقق من t يوفر خوادم وهمية تحل محل نقاط النهاية غير المكتملة.

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

تسخير الاختبار مقابل إطار الاختبار

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

اختبار السرج إطار أتمتة الاختبار
تتكون أداة الاختبار من برامج تشغيل وكعب، وهي برامج وهمية صغيرة تتفاعل مع البرنامج قيد الاختبار هي مجموعة من العمليات والإجراءات، وtracمفهوم t وبيئة يتم فيها تصميم وتنفيذ الاختبارات الآلية
لا يمكنك "التسجيل والتشغيل" النصي في أداة الاختبار يمكن للمختبر أن يقوم يدويًا بـ "التسجيل والتشغيل" في هذا الإطار
تحتوي مجموعة أدوات الاختبار على جميع المعلومات اللازمة لتجميع الاختبار وتشغيله، مثل حالات الاختبار، ومنفذ النشر المستهدف (TDP)، والملف المصدر قيد الاختبار، والعقبات، وما إلى ذلك. يحتوي إطار أتمتة الاختبار على معلومات مثل مكتبة الاختبار وأدوات الاختبار وممارسات الاختبار الآلي ومنصة الاختبار وما إلى ذلك.
يتم تصنيف تسخير الاختبار إلى
اختبار الأتمتة
اختبار التكامل
إطار الأتمتة أمثلة
اختبار يعتمد على البيانات
اختبار يعتمد على الكلمات الرئيسية
اختبار نمطي مدفوع
اختبار الهجين
الاختبار القائم على النموذج
Code الاختبار الموجه
الاختبار المبني على السلوك

الأسئلة الشائعة

بيئة الاختبار هي مجموعة الأجهزة ونظام التشغيل والشبكة وقاعدة البيانات التي تُجرى عليها الاختبارات. أما برنامج التشغيل فهو طبقة البرمجيات التي تعلوها، والتي توفر البرامج التجريبية وبرامج التشغيل والبيانات والتقارير. أحدهما هو الموقع، والآخر هو الآلية.

التسجيل والتشغيل غير متاحين، لذا فإن مهارة البرمجة النصية مطلوبة Java, Pythonأو يتطلب الأمر .NET. يتطلب الإعداد الأولي جهدًا حقيقيًا، وتنفصل النماذج الأولية عن الوحدات النمطية الحقيقية إذا تم إهمالها، ويمكن أن يؤدي المحاكاة المكثفة إلى إخفاء عيوب التكامل حتى وقت متأخر.

يقوم خط الأنابيب باستدعاء أداة الربط بعد كل عملية إيداع. Jenkins، تقوم GitHub Actions أو GitLab CI بتشغيل التشغيل، ويقوم النظام بتنفيذ البرامج النصية على النماذج الأولية، ويفشل البناء تلقائيًا عندما لا يتحقق التأكيد.

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

نعم. تقوم النماذج التوليدية بإنتاج استجابات أولية من مواصفات واجهة برمجة التطبيقات، وصياغة رمز التشغيل من توقيعات الوحدات النمطية، وتوليف مجموعات بيانات واقعية. Revراجع المخرجات قبل الاستخدام، لأن نموذجًا أوليًا يبدو معقولًا قد يتعارض مع النتيجة الحقيقية.tract.

تلخيص هذه التدوينة بـ: