لنبدأ بالأساسيات استكشاف وضعَي الاختبار العامَين والأنواع الثلاثة الشائعة من التشغيل الآلي للاختبار.
لقد صادفنا جميعًا هذا النوع من المشاركات: ما هي مجرّد مشاركة مضحكة متكررة عن الترميز يحدث في أغلب الأحيان في الحياة اليومية؟
تلخص هذه المشاركة المضحكة الأمر بشكل جيد: يعمل كل درج بشكل جيد تمامًا على حدة، ولكن جنبًا إلى جنب مع الدرج الآخر، فإنه يحجب بعضها بعضًا ولا يعمل. تريد أن يعمل كلا الدرجَين بشكل جيد مع بعضهما البعض وأن يكونا قابلَين للتشغيل في الوقت نفسه.
طبِّق هذا الأمر على تطوير البرامج على الويب: قد تكون قد كتبت بعض الاختبارات، أو ربما حققت ما يصل إلى 100% من تغطية الاختبار، ولكن لا يزال تطبيقك بحاجة إلى العمل بعد وضع الأجزاء الأخرى. قد تعمل الوحدات بشكل جيد في حد ذاتها ولكن ليس في ضوء بعضها البعض. تعد كتابة بعض الاختبارات أمرًا بالغ الأهمية ولكنها جزء واحد فقط من إعداد الاختبار المثالي لمشروعك. كخطوة أولى، تحتاج إلى تحديد أجزاء جودة التطبيق التي تحتاج إلى ضمانها وكيفية تحقيق ذلك.
ببساطة، أنت بحاجة إلى خطة قبل البدء في كتابة رمز الاختبار الفعلي. لمعالجة موضوع كيفية إجراء الاختبار عمليًا، لنبدأ بجدول نظيف ونجيب عن سؤالين أساسيين:
- كيف تريد إجراء الاختبار؟
- ما الذي تريد اختباره؟
تركز هذه المقالة على الأشياء العامة التي تحتاج إلى معرفتها للإجابة على السؤال الأول. للبدء، لنبدأ من أرضية مشتركة، لنتعرف أولاً على أوضاع الاختبار الموجودة ثم نركز على الأنواع الشائعة من الاختبار. في المقالات اللاحقة، سنجيب عن السؤال الثاني، ونجمع الإجابات، ونعثر على استراتيجية الاختبار الأفضل لمشروعك. البدء 🙌
البدء بالأساسيات: أوضاع الاختبار العامة
عند الإجابة عن السؤال المتعلق بكيفية الاختبار، تكون النقطة الأولى التي يجب توضيحها مجرّدة للغاية. هل يجب عليك إجراء الاختبار يدويًا أم السماح للكمبيوتر بتولي الأمر؟ ومع ذلك، فمن المهم عدم الوقوع في التفكير الثنائي هنا.
الاختبار اليدوي والاختبار الآلي
إذا طلبت من مهندسي ضمان الجودة تحديد الاختبار، فمن المحتمل أن يقسموه إلى "وضعين" أولاً:
- الاختبار اليدوي: هذه طريقة اختبار نموذجية يتم إجراؤها بواسطة أشخاص فعليين. ينقر مهندس ضمان جودة على التطبيق، ويتحقق من أنه يعمل، وفي الوقت نفسه يحاول كسره. الطريقة الأكثر شيوعًا هي الاختبار الاستكشافي، حيث يقوم المهندس بالتحقيق في التطبيق باستخدام معرفته بالتطبيق مقابل مسار أو قائمة تحقق محددة مسبقًا.
- الاختبار المبرمَج: هذا نوع من الاختبارات التي يتم إجراؤها بواسطة الكمبيوتر. وينفذ مهندسو ضمان الجودة هذه الأداة لإجراء الاختبارات المتكررة والرتيبة تلقائيًا.
ستركّز هذه السلسلة من الأدلة في المقام الأول على الاختبار المبرمَج. ومع ذلك، يجب ألا تركز على طريقة واحدة فقط للاختبار. حتى إذا وفرت الأتمتة الكثير من الوقت والجهد، يلعب المستخدمون والاختبار اليدوي دائمًا دورًا حيويًا. بدلاً من ذلك، يجب أن يتيح أتمتة الاختبار للأشخاص التركيز على الاختبار الاستكشافي وحل المشكلات الإبداعي. على سبيل المثال، ضمان جودة تجارب المستخدم أو حماية منطق الأعمال الذي يشكّل خطرًا كبيرًا. بمعنى آخر، عليك الاستفادة من الأساليب المبرمَجة. ❤️
المربع المعتم مقابل المربع الشفاف
إذن، لقد حددت الأوضاع العامة للاختبار. مع ذلك، هذا ليس كافيًا بعد. ولتخطيط استراتيجية الاختبار، هناك سؤال آخر يجب الإجابة عنه: هل يجب أن تعرف آلية عمل تطبيقك بالتفصيل أم من الأفضل الاختبار بدون هذه المعرفة؟ اعتمادًا على الإجابة، هناك إجراءان للاختيار من بينهما لاستنباط حالات الاختبار واختيارها:
- اختبار الصندوق المعتم (أو اختبار الصندوق الأسود). وهو يعتمد على تحليل المتطلبات الوظيفية أو غير الوظيفية أو غير الوظيفية للمكون أو النظام (المواصفات) دون مراعاة هيكله الداخلي.
- اختبار الصندوق الواضح (أو اختبار الصندوق الأبيض) هو إجراء يأخذ في الاعتبار البنية الداخلية للصندوق المذكور. أو بعبارةٍ أخرى، سيتم عرض تفاصيل آلية عمل تطبيقك.
يمكن تطبيق كلا الإجراءين على الاختبار اليدوي والتلقائي. ومع ذلك، قد تركز بعض جوانب أوضاع الاختبار العامة بشكل أكبر على أحد الاثنين - سنتناول ذلك لاحقًا. في الوقت الحالي، دعنا نقسم التشغيل الآلي للاختبار إلى أنواع.
اختبار أنواع الأساليب المبرمَجة: كيف تريد إجراء الاختبار؟
كلما اقتربت من الإجابة عن سؤال "كيف"، تكون قد قررت بالفعل إجراء بعض الاختبارات اليدوية. ومع ذلك، فإنّ اختيار أنواع التشغيل الآلي للاختبار وتطبيقها أكثر صعوبة. ترتبط أنواع الاختبار التلقائي ارتباطًا وثيقًا بالمقاييس التي تريد إنشاءها في مشاريعك. لذلك دعنا نلقي نظرة فاحصة على أهم هذه البيانات.
كما هو موضّح في المشاركة المضحكة المذكورة سابقًا، لقد صادفت نوعَين من الاختبارات: اختبار الوحدات واختبار التكامل. الاختبار الشامل هو ثالث اختبار مهم يجب مراعاته. لكن هذا ليس كلها حتى الآن. دعنا نلقي نظرة فاحصة.
اختبار الوحدات
اختبار الوحدات هو نوع اختبار يتم فيه اختبار الأجزاء أو الوحدات البسيطة القابلة للاختبار في أحد التطبيقات بشكل فردي وبشكل مستقل لضمان التشغيل السليم. يمكن أن تختلف هذه الوحدات في النطاق من وظائف أو فئات أو واجهات أو خدمات أو مكونات كاملة. وسماتها الأساسية هي سرعة التنفيذ والعزلة وإمكانية الصيانة المريحة. وإذا كنت تريد التعمّق أكثر في اختبار الوحدات، يمكنك الانتقال إلى هذا الدليل حول اختبار الوحدات.
اختبار الدمج
يركز اختبار التكامل على التفاعلات بين المكونات أو الأنظمة. بعبارة أخرى، حول مدى نجاحهم في العمل معًا. ومن الأمثلة النموذجية على اختبارات الدمج اختبارات واجهة برمجة التطبيقات أو اختبارات المكوّنات.
الاختبار الشامل
غالبًا ما يُطلق على هذه الاختبارات اسم اختبارات واجهة المستخدم ويوضح هذا الاسم وظيفتها بشكل أفضل. تتفاعل هذه الاختبارات مع واجهة المستخدم للتطبيق، بما في ذلك حزمة التطبيقات الكاملة، واختبار تطبيقك من طرف إلى آخر.
وهي تشبه اختبار النظام إذا كنت تشير إلى نظرية ضمان الجودة. تحاكي هذه الاختبارات مستخدمًا حقيقيًا وتفاعلاته. تستغرق الاختبارات الشاملة وقتًا أطول في التشغيل لأنّها تشتمل على النظام بأكمله ووقت تشغيل أطول تتطلّب قدرة حوسبة أكبر. ونتيجة لذلك، ينتج عن هذا الجهد الإضافي زيادة تكاليف الصيانة.
اختبار واجهة المستخدم المرئية
إحدى الفئات الفرعية المثيرة للاهتمام من اختبارات واجهة المستخدم هي الاختبارات المرئية. وهذه الاختبارات عبارة عن اختبارات موسّعة وشاملة توفّر وسيلة للتحقّق من المخرجات المرئية للتطبيق. يأخذ هذا الاختبار لقطة شاشة بعد التغيير ولقطة شاشة أخرى تحتوي على "الوضع الراهن" (أو الملف الذهبي)، ثم يقدّم هذه النتائج لمراجع للفحص والتحقق منها. بعبارة أخرى، إنّه يساعد في العثور على "الأخطاء المرئية" في مظهر الصفحة، بدلًا من الأخطاء الوظيفية البحتة وعدم تدوينها صراحةً في تأكيدات.
التحليل الثابت
يوجد شيء آخر يجب تقديمه هنا: التحليل الثابت. إنه ليس نوع اختبار بمعنى الكتاب المدرسي. ومع ذلك، ستكون جانبًا أساسيًا في استراتيجيات ضمان الجودة في وقت لاحق. يمكنك أن تتخيل أنها تعمل كدالة التدقيق الإملائي: فإنها تفحص التعليمات البرمجية الخاصة بك بحثًا عن المزيد من العيوب الكبيرة وأخطاء بناء الجملة دون تشغيل البرنامج، وبالتالي اكتشاف مشكلات نمط التعليمات البرمجية. ومن خلال هذا الإجراء البسيط، يمكنك منع ظهور العديد من الأخطاء. هذه نقطة جيدة للتعرف على التحليل الثابت إذا كنت تريد التعرف عليه بمزيد من التفصيل.
إجراء الاختبار في جميع الأشكال: كيف يمكن تحقيق ذلك معًا؟
أثناء البحث عن إجابات لكل هذه الأسئلة، قد تجد حلاً ممكنًا في بعض المقارنات. في مجتمعات الويب والاختبار على وجه التحديد، يميل المطوّرون إلى استخدام هذه التشابهات لإعطائك فكرة عن عدد الاختبارات التي يجب عليك استخدامها لكل نوع.
الاستراتيجيات الخمس التالية الموضحة في هذه الصورة هي الأكثر شيوعًا:
- هرم اختباري
- ماسي تجريبي
- اختبار مخروط الجليد (المعروف أيضًا باسم Test Pizza)
- قرص عسل تجريبي
- كأس الاختبار
هذه معلومات كثيرة حقًا يجب معالجتها. كيف يجب أن تقرر أي استراتيجية اختبار مطابقة استنادًا إلى كل هذه العوامل؟ لا تقلق، فقد وفرنا لك ذلك. في المقالة التالية، سنناقش هذه الاستراتيجيات المختلفة بمزيد من التفصيل وسنشرح كيفية اختيار أفضل ما يناسب مشروعك. يُرجى متابعة أخبارنا باستمرار. 🔥