نقاط التفتيش في QTP/UFT مع المثال

⚡ ملخص ذكي

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

  • 🔎 فريف: تقوم نقطة التفتيش بمقارنة القيمة المتوقعة التي تم التقاطها مع القيمة الحالية لخاصية الكائن أثناء التشغيل.
  • 🎯 الغرض: تحوّل نقاط التفتيش نص التشغيل المسجل إلى اختبار وظيفي بنتيجة قابلة للقياس، إما ناجحة أو فاشلة.
  • 🧩 الأنواع: UFT/QTP يوفر عشرة أنواع من نقاط التحقق، بما في ذلك القياسي، والصورة النقطية، وقاعدة البيانات، والجدول، وXML، والصفحة، والصورة، والنص، ومنطقة النص، وإمكانية الوصول.
  • ؟؟؟؟ التميز: تقوم نقطة التفتيش بالتحقق من الخطوة ويمكن أن تفشل، بينما تقوم قيمة الإخراج فقط بالتقاط البيانات لإعادة استخدامها لاحقًا.
  • 🛠️ إدراج: تتم إضافة معظم أنواع نقاط التفتيش فقط أثناء التسجيل، من خلال القائمة الفرعية لنقاط التفتيش.
  • ⚠️ مأزق شائع: تُصدر نقطة التفتيش خطأً أثناء التشغيل إذا أغلقت الخطوة السابقة الكائن الذي تستهدفه.
  • 🚀 أفضل ممارسة: يفضل استخدام نقاط التحقق من صحة البيانات باستخدام قواعد البيانات أو XML بدلاً من نقاط التحقق من صحة البيانات باستخدام الصور النقطية.

ما هي نقطة التفتيش في UFT/QTP?

A نقطة تفتيش in UFT/QTP هي نقطة تحقق تقارن القيمة الحالية لخاصية كائن محددة، أو سمة صفحة، أو مصدر بيانات، مع قيمة متوقعة تم الحصول عليها سابقًا في الاختبار. إذا تطابقت القيمتان الحالية والمتوقعة، UFT يسجل حالة النجاح؛ وإذا لم ينجح، فإنه يسجل حالة الفشل.

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

لماذا نستخدم نقاط التفتيش في أتمتة الاختبار؟

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

  • قم بتحويل عملية التشغيل إلى عملية تحقق، بحيث ينتج عن كل تشغيل نتيجة واضحة (نجاح أو فشل) بدلاً من مجرد نص برمجي مكتمل.
  • اكتشف حالات التراجع مبكراً، قبل أن يصل العيب إلى إصدار يفترض المختبرون أنه مستقر.
  • التحقق من صحة البيانات غير المرئية أثناء المراقبة اليدوية، مثل حمولات XML أو صفوف قاعدة البيانات أو خصائص الكائنات المخفية.
  • قم بتوثيق السلوك المتوقع، حتى يفهم أي شخص يقرأ البرنامج النصي ما تعنيه كلمة "صحيح" في تلك الخطوة.

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

أنواع نقاط التفتيش في UFT/QTP

UFT/QTP يُوفر هذا النظام أنواعًا متعددة من نقاط التحقق، مما يُمكّن المُختبِر من التحقق من الجانب المُحدد من التطبيق الذي يُهم في خطوة مُعينة، سواءً كان خاصية ثابتة، أو كتلة نصية، أو صورة نقطية، أو سجل قاعدة بيانات، أو مستند XML كامل. ويُساعد اختيار النوع المُطابق للكائن قيد الاختبار على تركيز الخطوة وسهولة صيانتها.

  1. نقطة تفتيش قياسية: يقارن هذا البرنامج القيم المتوقعة لخصائص الكائن التي تم التقاطها أثناء التسجيل مع القيم الحالية للكائن أثناء جلسة التشغيل. وهو مدعوم من قبل جميع بيئات الإضافات.
  2. نقطة تفتيش الصفحة: نقطة تفتيش قياسية تم إنشاؤها لصفحة ويب. تتحقق من العدد الإجمالي للروابط والصور الموجودة على الصفحة ويمكنها قياس وقت تحميل الصفحة.
  3. نقطة التحقق من النص: يتحقق من ظهور نص معين ضمن منطقة محددة من صفحة ويب أو Windowsتطبيق قائم على نظام التشغيل.
  4. نقطة تفتيش منطقة النص: يتحقق من عرض سلسلة نصية ضمن منطقة شاشة محددة من Windowsتطبيق قائم على - وفقًا لمعايير مثل مطابقة حالة الأحرف أو مطابقة الأحرف البديلة.
  5. نقطة تفتيش الصورة النقطية: يقوم بفحص الصورة النقطية أو صفحة الويب بأكملها من خلال مقارنة بكسل ببكسل بين الصورة الفعلية والصورة المتوقعة.
  6. نقطة التحقق من الصورة: يتحقق من خصائص صورة الويب، مثل موقع ملفها المصدر. على عكس نقطة فحص الصور النقطية، فهو لا يقارن وحدات البكسل.
  7. نقطة التحقق من إمكانية الوصول: يتحقق من الامتثال لإرشادات اتحاد شبكة الويب العالمية (W3C) الخاصة بتقنية الويب، مما يسهل على الأشخاص ذوي الإعاقة استخدام التطبيق.
  8. نقطة تفتيش قاعدة البيانات: يقوم بتشغيل استعلام في وقت التسجيل ويخزن قيم قاعدة البيانات المُعادة كقيم متوقعة؛ ويتم تشغيل نفس الاستعلام مرة أخرى في وقت التشغيل حتى يمكن مقارنة القيم الفعلية والمتوقعة.
  9. نقطة تفتيش الجدول: يقوم هذا النظام بفحص محتويات الخلايا في جدول أو شبكة بشكل ديناميكي، بالإضافة إلى خصائص الجدول مثل ارتفاع الصف وعرض الخلية. وهو يشبه نقطة التحقق في قاعدة البيانات.
  10. نقطة تفتيش XML: يتحقق من بيانات XML ومخطط XML وموارد XML المضمنة في صفحة ويب أو في مستند .xml مستقل.

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

نوع نقطة التفتيش يتحقق أفضل استخدام لـ
Standard قيم خصائص الكائن التحقق من الصحة للأغراض العامة على أي كائن إضافي
صفحة الروابط، الصور، وقت التحميل تأكيد تحميل صفحة الويب بالكامل
نص وجود نص محدد تأكيد ظهور رسالة أو تسمية
منطقة النص نص داخل منطقة الشاشة Windows التطبيقات التي تحتوي على عناصر تحكم نصية غير قياسية
نقطية مطابقة الصور على مستوى البكسل التراجع البصري للرسوم البيانية والشعارات والتصاميم
صورة خصائص مصدر الصورة تأكيد عرض ملف الصورة الصحيح
سهولة الوصول والشمولية الامتثال لمعايير W3C تدقيق صفحات الويب بحثًا عن ثغرات في إمكانية الوصول
قاعدة البيانات قيم نتائج الاستعلام التأكد من تطابق بيانات الواجهة الخلفية مع واجهة المستخدم
طاولات محتويات وتخطيط خلية الشبكة التقارير ونتائج البحث وجداول البيانات
XML بيانات ومخطط XML خدمات الويب والصفحات التي تعتمد على لغة XML

نقطة التحقق مقابل قيمة الإخراج: ما الفرق؟

مختبرون جدد في UFT/QTP غالباً ما يخلط الناس بين نقاط التحقق وقيم الإخراج، لأن كليهما يُدرج من نفس القائمة ويقرأ خاصية حية من كائن. تخدم هاتان الميزتان غرضين متعاكسين.

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

استخدم نقطة تفتيش كلما احتاج البرنامج النصي إلى دليل على النجاح/الفشل، وقيمة إخراج كلما احتاجت خطوة لاحقة إلى البيانات التي تم التقاطها كمدخلات.

كيفية إدراج نقطة تفتيش في UFT/QTP

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

انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو

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

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

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

Dim Result ' Holds the PASS/FAIL outcome of the checkpoint

Browser("Flight Reservation").Page("Flight Reservation").WinEdit("Agent Name:").Set "Diana"
Browser("Flight Reservation").Page("Flight Reservation").WinButton("OK").Click

' Run the Standard Checkpoint that was inserted after the OK click
Result = Browser("Flight Reservation").Page("Flight Reservation").Check(CheckPoint("Flight Reservation Window"))

If Result Then
    Reporter.ReportEvent micPass, "Checkpoint Passed", "Flight Reservation window matches expected values"
Else
    Reporter.ReportEvent micFail, "Checkpoint Failed", "Flight Reservation window does not match expected values"
End If

يُوضح هذا الفيديو أنواع نقاط التفتيش المختلفة المتاحة في UFT/QTP، بما في ذلك نقاط التحقق القياسية، ونقاط التحقق الخاصة بالصور النقطية، ونقاط التحقق الخاصة بقواعد البيانات أثناء العمل.

أفضل ممارسات استخدام نقاط التفتيش بفعالية

لا تكون نقطة التحقق موثوقة إلا بقدر موثوقية الكائن والخاصية التي تستهدفها. تضمن الممارسات التالية دقة نقاط التحقق مع تغير التطبيق قيد الاختبار.

  • تحقق من الكائن المحدد، وليس الصفحة بأكملها، لتجنب الاختبارات الهشة التي تفشل عند حدوث تغييرات غير ذات صلة في واجهة المستخدم.
  • أبقِ الكائن المحدد مفتوحًا عند تنفيذ نقطة التحقق؛ فإعادة ترتيب الخطوة غالبًا ما تكون الحل لخطأ وقت التشغيل "الكائن غير موجود" الموضح أعلاه.
  • تفضل قاعدة البيانات أو نقاط التحقق من XML على نقاط التحقق من Bitmap للتحقق من صحة البيانات - تتعطل مقارنات bitmap عند تغييرات الخط أو الدقة أو المظهر التي لا علاقة لها بالبيانات.
  • قم بتحديد قيم نقاط التفتيش من جدول البيانات عندما يلزم تشغيل نفس الفحص عبر عدة تكرارات اختبار.
  • قم بتسمية كل نقطة تفتيش بشكل وصفي ليسهل تحديد موقع الفشل في نافذة نتائج الاختبار.
  • قم بربط نقاط التحقق بالتزامن، مثل عبارة الانتظار أو Sync الطريقة، لذلك لا يتم إجراء أي فحص قبل اكتمال تحميل الصفحة.

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

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

نعم. انقر بزر الماوس الأيمن على عبارة التحقق في عرض الكلمات الرئيسية أو عرض الخبراء وحدد خصائص نقطة التحقق لتغيير الخصائص المحددة أو القيم المتوقعة أو اسم نقطة التحقق في أي وقت.

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

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

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

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