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

ما هو الإطار في اختبار الأتمتة؟
A إطار أتمتة الاختبار هي مجموعة من الإرشادات مثل معايير الترميز، ومعالجة بيانات الاختبار، ومعالجة مستودع الكائنات وما إلى ذلك... والتي عند اتباعها أثناء كتابة النصوص البرمجية الآلية تنتج نتائج مفيدة مثل زيادة إعادة استخدام التعليمات البرمجية، وزيادة قابلية النقل، وتقليل تكلفة صيانة النصوص البرمجية وما إلى ذلك. هذه مجرد إرشادات وليست قواعد؛ فهي ليست إلزامية ولا يزال بإمكانك كتابة النصوص البرمجية دون اتباع الإرشادات. ولكنك ستفقد مزايا وجود إطار عمل.
لماذا تحتاج إلى الإطار؟
دعونا نفكر في مثال لفهم سبب حاجتك إلى إطار عمل.
أنا متأكد من أنك حضرت ندوة/محاضرة/مؤتمرًا حيث طُلب من المشاركين مراعاة الإرشادات التالية -
- يجب على المشاركين شغل مقاعدهم قبل 5 دقائق من بدء المحاضرة.
- أحضر معك دفترًا وقلمًا لتدوين الملاحظات.
- اقرأ الملخصtracلذلك، ستكون لديك فكرة عما سيتناوله العرض التقديمي.
- يجب ضبط الهواتف المحمولة على الوضع الصامت.
- استخدم بوابات الخروج الموجودة في الطرف المقابل للمتحدث إذا كنت بحاجة إلى المغادرة في منتصف المحاضرة.
- سيتم طرح الأسئلة في نهاية الجلسة.
هل تعتقد أنه يمكنك إجراء ندوة WITHOUT هل تلتزم بهذه الإرشادات؟
الجواب كبير نعم فعلا! بالتأكيد، يمكنك إجراء ندوة/محاضرة/مؤتمر/عرض توضيحي بدون المبادئ التوجيهية المذكورة أعلاه.. في الواقع، البعض منا لن يتبعها على الرغم من أنها محددة!
لكن إذا تم اتباع الإرشادات، فسيؤدي ذلك إلى نتيجة مفيدة مثل تقليل تشتت انتباه الجمهورtracأثناء المحاضرات، زادت مشاركة الطلاب وفهمهم للمادة الدراسية.
وبناء على ما سبق فإن أ يمكن تعريف الإطار بأنه مجموعة من المبادئ التوجيهية التي، عند اتباعها، تؤدي إلى نتائج مفيدة.
إطار أتمتة الاختبار Archiالبنية: المكونات الرئيسية
قبل مقارنة الأنواع، من المفيد معرفة ما يحتويه كل إطار عمل. Archiيصف مصطلح "البنية" كيفية ترتيب هذه الأجزاء في طبقات بحيث لا يؤدي التغيير في طبقة واحدة إلى كسر الطبقات الأخرى.
- طبقة نص الاختبار: يحتوي على حالات الاختبار. تبقى البرامج النصية قصيرة لأنها تستدعي وظائف قابلة لإعادة الاستخدام بدلاً من تكرار خطوات التنقل.
- مكتبة الدوال: يخزن الإجراءات المشتركة مثل تسجيل الدخول والبحث وتسجيل الخروج، بحيث يتم إجراء تغيير سير العمل مرة واحدة فقط.
- مستودع الكائنات: يربط هذا النظام أسماءً سهلة الاستخدام بمحددات عناصر واجهة المستخدم الرسومية. عند تغيير الواجهة، يتم تعديل هذه الطبقة فقط.
- طبقة بيانات الاختبار: يحتفظ بالمدخلات والقيم المتوقعة في مصادر Excel أو CSV أو قواعد البيانات بدلاً من داخل الكود.
- طبقة التكوين: بيئة تحتوي على URLخيارات المتصفح، والمهلات، وبيانات الاعتماد.
- طبقة التقارير: يقوم بإنتاج تقارير التنفيذ، ولقطات شاشة الأعطال، وسجلات التشخيص.
- طبقة التنفيذ: يقوم بتشغيل مجموعات من خادم البناء، ويربط الأتمتة بـ التكامل المستمر.
تختلف أنواع الأطر أدناه بشكل أساسي في مدى صرامة فصلها لهذه الطبقات.
أنواع أطر أتمتة الاختبار
فيما يلي الأنواع المختلفة لأطر عمل الاختبار الآلي:
- البرمجة الخطية
- مكتبة الاختبارات Archiالإطار الفني.
- البيانات المدفوعة الاختبار إطار العمل.
- إطار اختبار يعتمد على الكلمات المفتاحية أو الجداول.
- إطار عمل أتمتة الاختبارات الهجينة.
دعونا ننظر إليها بالتفصيل -
1) البرمجة الخطية – التسجيل والتشغيل
إنه الأبسط من بين جميع أطر عمل الاختبار الآلي ويعرف أيضًا باسم "التسجيل والتشغيل". في هذا اختبار الأتمتة الإطار، يقوم المختبر بتسجيل كل خطوة يدويًا (التنقل ومدخلات المستخدم)، وإدراج نقاط التفتيش (خطوات التحقق من الصحة) في الجولة الأولى. ثم يقوم بتشغيل النص المسجل في الجولات اللاحقة.
على سبيل المثال: فكر في تسجيل الدخول تطبيق حجز الطيران والتحقق مما إذا كان التطبيق قد تم تحميله عند تسجيل الدخول الناجح. هنا، سيقوم المُختبر ببساطة بتسجيل الخطوات وإضافة خطوات التحقق من الصحة.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
المزايا
- أسرع طريقة لإنشاء البرنامج النصي
- خبرة الأتمتة غير مطلوبة
- أسهل طريقة للتعرف على ميزات أداة الاختبار
عيوب
- إعادة استخدام قليلة للنصوص
- يتم ترميز بيانات الاختبار في البرنامج النصي
- كابوس الصيانة
2) مكتبة الاختبار Archiالإطار الفني
ومن المعروف أيضا باسم "البرمجة النصية المنظمة" or "التحلل الوظيفي".
في إطار عمل اختبار الأتمتة هذا، يتم تسجيل البرامج النصية للاختبار مبدئيًا بواسطة "التسجيل والتشغيل" طريقة. Later، يتم تحديد المهام الشائعة داخل البرامج النصية وتجميعها في وظائف. يتم استدعاء هذه الوظائف بواسطة برنامج نصي للاختبار الرئيسي يسمى سائق بطرق مختلفة لإنشاء حالات الاختبار.
على سبيل المثال: باستخدام نفس المثال المذكور أعلاه، ستبدو وظيفة تسجيل الدخول إلى حجز الطيران كما يلي.
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
الآن، سوف تقوم باستدعاء هذه الوظيفة في البرنامج النصي الرئيسي على النحو التالي
Call Login() --------------------------- 'Other Function calls / Test Steps. ---------------------------
المزايا
- يتم تحقيق مستوى أعلى من إعادة استخدام التعليمات البرمجية في البرمجة النصية المنظمة مقارنةً بـ "التسجيل والتشغيل"
- يعد تطوير البرامج النصية للأتمتة أقل تكلفة نظرًا لزيادة إعادة استخدام التعليمات البرمجية
- صيانة أسهل للبرنامج النصي
عيوب
- الخبرة الفنية ضرورية لكتابة البرامج النصية باستخدام Test Library Framework
- هناك حاجة إلى مزيد من الوقت لتخطيط وإعداد نصوص الاختبار.
- يتم ترميز بيانات الاختبار بشكل ثابت داخل البرامج النصية
3) إطار الاختبار المبني على البيانات
في هذا الإطار، في حين حالة الاختبار تُدمج منطق البرمجة في نصوص الاختبار، بينما تُفصل بيانات الاختبار وتُحفظ خارجها. تُقرأ بيانات الاختبار من ملفات خارجية (ملفات Excel، ملفات نصية، ملفات CSV، مصادر ODBC، كائنات DAO، كائنات ADO) وتُحمّل في متغيرات داخل نص الاختبار. تُستخدم هذه المتغيرات لقيم الإدخال وقيم التحقق. تُعدّ نصوص الاختبار إما باستخدام البرمجة الخطية أو إطار عمل مكتبة الاختبار. يُشرح هذا الأسلوب بالتفصيل في... اختبار يعتمد على البيانات البرنامج التعليمي.
على سبيل المثال: ديفيلوping سيتضمن برنامج تسجيل الدخول لحجز الرحلات الجوية باستخدام هذه الطريقة خطوتين.
الخطوة 1) قم بإنشاء اختبار - ملف بيانات يمكن أن يكون Excel أو CSV أو أي مصدر قاعدة بيانات آخر.
| اسم العميل | كلمة المرور |
|---|---|
| جيمي | Mercury |
| تينا | MERCURY |
| Bill | الزئبق |
الخطوة 2) قم بتطوير برنامج نصي للاختبار وقم بالإشارة إلى مصدر بيانات الاختبار الخاص بك.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") 'Note "dtGlobalSheet" is the default excel sheet provided by QTP.
المزايا
- لا تؤثر التغييرات التي يتم إجراؤها على البرامج النصية للاختبار على بيانات الاختبار
- يمكن تنفيذ حالات الاختبار باستخدام مجموعات متعددة من البيانات
- يمكن تنفيذ مجموعة متنوعة من سيناريوهات الاختبار بمجرد تغيير بيانات الاختبار في ملف البيانات الخارجية
عيوب
- هناك حاجة إلى مزيد من الوقت لتخطيط وإعداد كل من البرامج النصية للاختبار وبيانات الاختبار
4) إطار الاختبار المبني على الكلمات الرئيسية أو القائم على الجدول
استخدم مدفوع بالكلمات المفتاحية أو يتطلب تطوير إطار عمل الأتمتة القائم على الجداول جداول بيانات وكلمات مفتاحية، مستقلة عن أداة التشغيل الآلي للاختبار تستخدم لتنفيذها. يمكن تصميم الاختبارات مع أو بدون التطبيق. في الاختبار المبني على الكلمات الرئيسية، يتم توثيق وظيفة التطبيق قيد الاختبار في جدول بالإضافة إلى إرشادات خطوة بخطوة لكل اختبار.
هناك ثلاثة مكونات أساسية لإطار عمل قائم على الكلمات الرئيسية وهي: الكلمة الرئيسية، وخريطة التطبيق، ووظيفة المكون.
الكلمة الأساسية هي إجراء يمكن تنفيذه على أحد مكونات واجهة المستخدم الرسومية. على سبيل المثال، بالنسبة لمربع نص مكون واجهة المستخدم الرسومية، فإن بعض الكلمات الأساسية (الإجراء) ستكون InputText وVerifyValue وVerifyProperty وما إلى ذلك.
ما هي خريطة التطبيق؟
توفر خريطة التطبيق مراجع مسماة لمكونات واجهة المستخدم الرسومية. خرائط التطبيقات ليست سوى "مستودع الكائن"
ما هي وظيفة المكون؟
وظائف المكونات هي تلك الوظائف التي تتعامل بشكل فعال مع مكون واجهة المستخدم الرسومية أو تستجوبه. مثال على الوظيفة هو النقر على زر الويب مع معالجة جميع الأخطاء، وإدخال البيانات في تحرير الويب مع معالجة جميع الأخطاء. يمكن أن تكون وظائف المكونات معتمدة على التطبيق أو مستقلة.
مثال: لفهم طريقة عرض الكلمات الرئيسية، لنأخذ نفس المثال. أنها تنطوي على خطوتين
الخطوة 1:: إنشاء جدول البيانات (يختلف عن جدول بيانات الاختبار الذي تم إنشاؤه في إطار العمل المبني على البيانات). يحتوي جدول البيانات هذا على الإجراء الذي سيتم تنفيذه على كائنات واجهة المستخدم الرسومية والوسائط المقابلة لها إن وجدت. يمثل كل صف خطوة اختبار واحدة.
| هدف | اكشن | |
|---|---|---|
| (خريطة التطبيق) | (الكلمات الدالة) | حجة |
| WinEdit(اسم الوكيل) | بكج | Guru99 |
| WinEdit(كلمة المرور) | بكج | Mercury |
| زر وين (موافق) | انقر | |
| النافذة(حجز الطيران) | تحقق | موجود |
الخطوة 2:: كتابة Code في شكل دوال مكونة.
بمجرد إنشاء جدول (جداول) البيانات الخاصة بك، ما عليك سوى كتابة برنامج أو مجموعة من البرامج النصية التي تقرأ في كل خطوة، وتنفيذ الخطوة بناءً على الكلمة الأساسية الموجودة في حقل الإجراء، وإجراء فحص الأخطاء، وتسجيل أي معلومات ذات صلة. سيبدو هذا البرنامج أو مجموعة البرامج النصية مشابهًا للكود الزائف أدناه:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions. Like Set(Object Name, Argument) ex. Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
هذا كل شيء بالنسبة للإطار المبني على الكلمات الرئيسية.
تتمثل ميزة إطار عمل الكلمات الرئيسية في إمكانية إعادة استخدام الكلمات الرئيسية. لفهم هذا، ضع في اعتبارك أنك تريد التحقق من عملية تسجيل الدخول لموقع ويب، على سبيل المثال YAHOO MAIL. سيبدو الجدول على هذا النحو -
| هدف | اكشن | |
|---|---|---|
| (خريطة التطبيق) | (الكلمة الرئيسية) | حجة |
| تحرير الويب (اسم المستخدم) | بكج | abc@yahoo.com |
| تحرير الويب (كلمة المرور) | بكج | كسكسكسكسكس |
| زر الويب (موافق) | انقر | |
| نافذة (ياهو Mail) | تحقق | الأحمال |
إذا لاحظت في هذه الحالة أن الكلمات المفتاحية Set و Click و Verify تبقى كما هي، والتي تم تطوير وظائف المكونات المقابلة لها بالفعل، فكل ما عليك فعله هو تغيير خريطة التطبيق.ping (مستودع الكائنات) من حجز رحلة طيران سابق إلى ياهو Mail ، مع تغيير قيم الوسيطة وسيعمل نفس البرنامج النصي!
المزايا
- يوفر إمكانية إعادة استخدام التعليمات البرمجية عالية
- أداة اختبار مستقلة
- مستقل عن التطبيق قيد الاختبار، نفس البرنامج النصي يعمل مع AUT (مع بعض القيود)
- يمكن تصميم الاختبارات مع أو بدون AUT
عيوب
- نظرًا لأن الاستثمار الأولي مرتفع جدًا، فلا يمكن تحقيق فوائد ذلك إلا إذا كان التطبيق كبيرًا إلى حد كبير وتم الحفاظ على البرامج النصية للاختبار لبضع سنوات.
- مطلوب خبرة عالية في الأتمتة لإنشاء إطار عمل يحركه الكلمات الرئيسية.
NOTE: رغم أن OpenText UFT واحد (المعروف سابقًا باسم مايكرو فوكس) UFT) الذي يُعلن عن نفسه كإطار عمل يعتمد على الكلمات المفتاحية، لا يمكنك تحقيق استقلالية كاملة بين أدوات الاختبار والتطبيقات باستخدامه.
5) إطار أتمتة الاختبار الهجين
كما يوحي الاسم، فإن إطار العمل هذا عبارة عن مزيج من واحد أو أكثر من أطر عمل الأتمتة التي تمت مناقشتها أعلاه للاستفادة من نقاط قوتها ومحاولة التخفيف من نقاط ضعفها. إن إطار عمل أتمتة ضمان الجودة للاختبار المختلط هو ما تتطور إليه معظم أطر أتمتة الاختبار بمرور الوقت ومشاريع متعددة. يستخدم الحد الأقصى للصناعة Keyword Framework في مزيج من طريقة تحليل الوظائف.
PS: أطر الأتمتة الأخرى الجديرة بالذكر هي
اختبار إطار نمطية
في هذا الإطار، يتم تجميع المهام الشائعة في البرنامج النصي للاختبار معًا كوحدات.
مثالاستخدام الإجراءات في QTP يمكن استخدام البرنامج لإنشاء نصوص برمجية معيارية
نموذج البرنامج النصي لتسجيل الدخول
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
الآن يمكنك استدعاء هذا الإجراء في البرنامج النصي الرئيسي على النحو التالي –
RunAction ("Login[Argument]", oneIteration)
اختبار العمليات التجارية (BPT)
تعمل أطر الأتمتة هذه على تقسيم العمليات التجارية الكبيرة إلى مكونات يمكن إعادة استخدامها عدة مرات في نفس البرامج النصية للاختبار أو في برامج نصية مختلفة. على سبيل المثال، يتم تقسيم العملية التجارية لحجز رحلة طيران إلى مكونات مثل تسجيل الدخول والبحث عن الرحلات الجوية والحجز والدفع وتسجيل الخروج والتي يمكن إعادة استخدامها في نفس عملية الأعمال أو عمليات مختلفة. كما تعمل BPT على تسهيل التنسيق الوثيق بين الشركات الصغيرة والمتوسطة ومهندسي الأتمتة.
كيفية اختيار إطار عمل أتمتة الاختبار المناسب
لا يوجد نوع واحد يفوز دائمًا. يعتمد الاختيار الصحيح على مهارة الفريق، وحجم التطبيق، ومدة بقاء النظام. يقارن الجدول أدناه الأنواع الخمسة بناءً على العوامل التي تحدد النتيجة.
| نوع الإطار | جهد الإعداد | Code إعادة استخدام | تكلفة الصيانة | أفضل مناسب لـ |
|---|---|---|---|---|
| البرمجة الخطية | منخفض جدا | منخفض جدا | عالي جدا | مظاهرات وعمليات تفتيش لمرة واحدة للكشف عن الدخان |
| مكتبة الاختبار Architecture | متوسط | متوسط | متوسط | تطبيقات مستقرة ذات سير عمل متكرر |
| تعتمد على البيانات | متوسط | متوسط | منخفض | النماذج والحسابات التي تتطلب العديد من مجموعات المدخلات |
| مدفوع بالكلمات المفتاحية | مرتفع | عالي جدا | منخفض | أجنحة كبيرة تتم صيانتها بواسطة فرق فنية متنوعة |
| مهجنة | مرتفع | عالي جدا | منخفض | برامج المشاريع طويلة الأمد |
أجب عن هذه الأسئلة قبل اتخاذ القرار:
- كم ستدوم هذه الوحدة السكنية؟ سنوات من الصيانة تبرر الاستثمار الأولي المرتفع لتصميم يعتمد على الكلمات المفتاحية أو تصميم هجين. أما المشاريع القصيرة فلا تبرر ذلك.
- من يكتب الاختبارات؟ إذا ساهم المختبرون اليدويون في حل الحالات، فإن جدول الكلمات الرئيسية يسمح لهم بالعمل دون تعلم لغة البرمجة النصية.
- ما مدى تقلب واجهة المستخدم؟ إن التغيير المتكرر للشاشة يجعل وجود مستودع كائنات منفصل أمرًا ضروريًا، وإلا فإن كل نص برمجي يحتاج إلى تعديل.
- ما مقدار التباين المطلوب في البيانات؟ تشير العديد من مجموعات المدخلات بشكل مباشر إلى تصميم يعتمد على البيانات.
- ما هي الأداة المستخدمة حاليًا؟ يجب أن يتناسب الإطار مع ما تم اختياره أداة الأتمتة ولغة يعرفها الفريق، مثل Selenium مع Java or Cucumber.
تبدأ معظم الفرق بنهج يعتمد على المكتبة أو البيانات، ثم تتطور نحو نموذج هجين مع مرور الوقت. تراجع تتوسع المجموعة.
فوائد إطار أتمتة الاختبار Architecture
فيما يلي فوائد بنية إطار عمل أتمتة الاختبار:
- يساعد إطار أتمتة الاختبار على تقليل المخاطر ونفقات التكلفة
- أنه يحسن كفاءة الاختبارات
- فهو يساعد على تقليل تكلفة الصيانة
- يسمح بإعادة استخدام التعليمات البرمجية
- يسمح بتحقيق أقصى تغطية للاختبار
- إنه يزيد من وظائف التطبيق
- يساعد على تقليل تكرار حالة الاختبار
- فهو يساعد على تحسين كفاءة الاختبار والأداء من خلال أتمتة الاختبار
