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