ضمان الجودة/اختبار/تنظيم حالات الاختبار

    From The Document Foundation Wiki

    مقدمة

    هذه الصفحة سوف تعطي وصفاً مفصلاً عن طريقة واستراتيجية تنظيم حالات الاختبار التي ظهرت فيTestLink سياق مشروع LibreOffice.


    البنية الأساسية

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

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

    المزيد من الوصف التشغيلي المحدد في سياق LibreOffice يأتي في الأقسام التالية.


    المنتج

    جميع حالات الاختبار تنتمي إلى المنتج الوحيد LibreOffice.


    إصدار المنتج

    تنقسم حالات الاختبار لإصدارات LibreOffice المختلفة إلى نسخ منتج مختلفة. نقوم بإنشاء نسخ جديدة لكل نسخة اصدار رئيسية (3.6، 4.0، 4.1، X.Y، الخ). هناك اصدار خاص يُسمى " الاصدار صفر" في TestLink. انشاء حالة اختبار جديدة في هذا الاصدار يسمح لنا بتطبيقها في كل اصدارات المنتج الحالية.

    تشغيل اختبار

    يتم انشاء "تشغيل اختبار" عندما نحتاج لتكرار اختبار التراجع (regression test). هذا يحدث غالباً في مرحلة الإصدار المرشح (RC) لنسخة اصدار LibreOffice الرئيسية (3.6، 4.0، 4.1، X.Y، الخ) أو تحديث النسخة الثانوية (3.6.1، 3.6.2، 3.6.3، الخ). تشغيل اختبار للإصدار الرئيسي يشمل جميع حالات الاختبار، بينما تشغيل الاختبار للإصدار الثانوي يشمل حالات الاختبار ذاتالأولوية العالية فقط.

    حزمة اختبار

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


    حالة اختبار

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

    الوسم

    حالياً تم تعريف نوعين من الوسوم لـ

    • أولوية الاختبار – p1، p2، p3، p4
    • عناصر الاختبار – تم تصميم حالة اختبار مكون LibreOffice لـ General/Writer/Calc/Impress/Base/Draw/Math

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


    المصطلحات

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


    نوع الاختبار

    بسبب الاختلاف الكلي في عملية وفكرة الاختبار، نقوم بتصنيف كل الاختبارات في نوعين: 1- اختبار التراجع 2- اختبار ميزة. لمعرفة المزيد حول أفكار اختبار التراجع واختبار الميزة، الرجاء الطلاع على صفحتي اختبار التراجع و اختبارات الميزة.


    الأولوية

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

    حالياً تم تقسيم الاختبار على 4 مستويات من الأولوية، كما هو موضح أدناه:

    • اختبار P1 : اختبارات الأولوية العاجلة تستهدف الاختبارات الأساسية جداً، مثل تثبيت LibreOffice، اصدار العناصر، تحميل أو حفظ بعض مستندات الاختبار الخ. بمعنى آخر هو نوع من smoketest.
    • اختبار P2 : الاختبارات عالية الأولوية تستهدف الوظائف الشائعة جداً والتي تستخدم من قبل أغلب المستخدمين. على سبيل المثال تحرير النصوص، ادراج الصور،رسم العناصر، انشاء الجداول، استخدام الدوال في calc، انشاء الرسم البياني، تشغيل العروض التقديمية الخ.
    • اختبار P3 : الاختبارات متوسطة الأولوية تستهدف الوظائف الشائعة والتي تستخدم من قبل مستخدمين LibreOffice ذوي الخبرة. على سبيل المثال: انشاء الحدود حول الجداول، تحديد الرسوم المتحركة بين الشرائح، تعديل نمط النص، تحرير صفحة الشريحة الرئيسية الخ.
    • اختبار P4 :الاختبارت منخفضة الأولوية تستهدف الوظائف التي تستخدم من قبل المستخدمين الخبراء. على سبيل المثال: كتابة الماكرو، عمليات معقدة مع قاعدة البيانات.


    تبعية اللغة

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

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

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