ما هو الاختبار المخصص؟ أنواع مع الأمثلة

ما هو الاختبار المخصص؟
اختبار مخصص هو من تلقاء نفسها و مرن طريقة لاختبار البرمجيات دون اتباع أي خطة أو وثائق محددة. بدلًا من تحضير حالات الاختبار مسبقًا، يمكنك البدء مباشرةً باستكشاف التطبيق. المصطلح "مخصصة" تعني "لغرض محدد" أو "غير مخطط له"، وهو ما يعكس حقًا أسلوب الاختبار هذا.
دعوني أبسط الأمر. تخيلوا أنني ثبّتتُ تطبيقًا جديدًا على جهازي. بدلًا من إتمام خطوات الاختبار، أبدأ بالنقر عليه. قد أحاول إدخال بيانات غريبة، أو استخدام التطبيق بطرق غير متوقعة، أو حتى محاولة تعطيله عمدًا. هدفي هنا هو معرفة كيفية تعامل التطبيق مع... الاستخدام غير المتوقع في العالم الحقيقي- ليس فقط السيناريوهات المثالية.
يتميز الاختبار المخصص بأنه يكشف غالبًا عن مشكلات قد تغفلها الاختبارات الرسمية. بالتفكير الإبداعي ووضع نفسي في مكان المستخدمين المختلفين، أستطيع إيجاد البق و مشاكل قابلية الاستخدام قد يغفل عنها الآخرون. تعتمد هذه الطريقة على تجربة المُختبِر الحدس والخبرة وفهمٌ عميقٌ للتطبيق. إنها طريقةٌ رائعةٌ لاكتشاف الأخطاء مُبكرًا، خاصةً عندما يكون الوقت ضيقًا أو الوثائق محدودة.
في حين أن الاختبار المخصص قد يبدو غير رسمي، فإن قيمته الحقيقية تأتي من خبرة المختبر وقدرته على فكر خارج الصندوق. غالبًا ما يُنظر إليه على أنه نوع من اختبار الصندوق الأسود لأنه يركز على كيفية عمل البرنامج على السطح، وليس على كيفية بنائه من الداخل. عند استخدامه جنبًا إلى جنب مع الاختبار المنظم، يساعد الاختبار المخصص على ضمان... الخدمة الموثوقة و منتج سهل الاستخدام.
الفيديو التالي يرشدك إلى كيفية إجراء اختبار عشوائي
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
متى يتم إجراء الاختبار المخصص؟
إن معرفة أفضل وقت لإجراء الاختبارات المخصصة يُحدث فرقًا كبيرًا في جودة برنامجك. على مر السنين، تعلمتُ أن التوقيت أساسي لهذا النهج المرن والتلقائي للاختبار. يُعدّ الاختبار المخصص مثاليًا عندما تحتاج إلى التحقق بسرعة من المشكلات التي قد تغفلها حالات الاختبار المُهيكلة. دعونا نستكشف الحالات الرئيسية التي يكون فيها الاختبار المخصص أكثر قيمة:
- في مرحلة مبكرة من التطوير: يعمل بشكل جيد حتى عندما لا تكون حالات الاختبار الرسمية جاهزة بعد. يمكنك اكتشاف الأخطاء بسرعة في الميزات الجديدة قبل وضع خطط الاختبار الرسمية.
- قبل بدء الاختبار الرسمي: استخدم الاختبارات المخصصة كفحص سريع للتأكد من عمل الأساسيات. هذا يساعد على تجنب إضاعة الوقت في عمليات البناء المعطوبة أثناء دورات الاختبار الرسمية.
- بعد الانتهاء من الاختبار الرسمي: حتى بعد متابعة جميع حالات الاختبار، قد تظهر بعض الأخطاء. يتيح لك الاختبار المخصص البحث عن العيوب التي قد يغفلها الاختبار المنظم، خاصةً تلك التي لا تندرج ضمن المتطلبات الموثقة.
- عندما يكون وقتك ضيقا: أحيانًا، لا يكفي الوقت لإجراء جولة اختبار كاملة. في هذه الحالات، يمكن للمختبرين ذوي الخبرة استخدام الاختبارات المخصصة لاكتشاف أهم المشكلات بسرعة.
- لاستكشاف ميزة ما بعمق: إذا كنت تريد أن تفهم حقًا كيف يتصرف جزء معين من البرنامج، فإن الاختبار المخصص يسمح لك بالتحقيق بحرية دون الالتزام بنص برمجي.
- للتحقق من قابلية الاستخدام: يمكنك تجربة المستخدم عن كثب لمعرفة ما إذا كانت هناك أي أجزاء مربكة أو محبطة في البرنامج. هذا يُحسّن التجربة العامة.
- أثناء الاختبار التجريبي: يستخدم العديد من مختبري النسخة التجريبية بشكل طبيعي اختبارات مخصصة أثناء تجربة البرنامج في مواقف حقيقية، مما يؤدي إلى اكتشاف مشكلات لا تظهر إلا في الاستخدام الحقيقي.
أنواع الاختبارات المخصصة
قد لا يتبع الاختبار المخصص خطة رسمية، ولكن مع مرور الوقت، ظهرت عدة أساليب مفيدة. هذه ليست فئات صارمة، لكنها تعكس كيفية تكيف المختبرين بناءً على احتياجات الواقع. من تجربتي، يُمكن لاستخدام هذه الأساليب في الظروف المناسبة أن يكشف عن الأخطاء الخفية بشكل أسرع وأكثر فعالية.
- Buddy الاختبار: تجمع هذه الطريقة بين مطوّر ومختبر للعمل جنبًا إلى جنب. يشرح المطور كيفية بناء الميزة، بينما يستكشفها المختبر من منظور المستخدم. يساعد هذا المزيج من معرفة البرمجة ومهارات الاختبار على اكتشاف المشكلات مبكرًا، وغالبًا ما يكون ذلك بعد انتهاء البرمجة مباشرةً.
- اختبار الزوج: يعمل مُختبِران معًا على الجهاز نفسه. أحدهما يستكشف التطبيق، بينما يقترح الآخر مُدخلات مُختلفة ويراقب سلوكه. يتبادلان الأدوار ويتشاركان الملاحظات. هذا التعاون الفوري يُعزز الإبداع، وغالبًا ما يكتشف عيوبًا أكثر من الاختبار المُنفرِد.
- اختبار القرد: هذا هو الأسلوب الأكثر صعوبة في التنبؤ. يقوم المُختبِر أو الأداة بالنقر أو الكتابة أو التنقل عبر التطبيق عشوائيًا. الهدف هو دفع النظام إلى أن يتعطل. قد يبدو هذا فوضويًا، إلا أنه طريقة رائعة لاكتشاف الأعطال أو نقاط الضعف. تذكر فقط أن إعادة إنتاج الأخطاء المكتشفة بهذه الطريقة قد يكون صعبًا.
لكلٍّ من هذه الأساليب نقاط قوة خاصة به. يعتمد اختيار الأسلوب المناسب على احتياجات مشروعك، وديناميكيات الفريق، وسرعة الحصول على الملاحظات. بناءً على ما رأيته، يُمكن لدمج هذه الأساليب أن يُحقق أقصى استفادة من الاختبارات المخصصة، كاشفًا عن مشاكل قد يغفل عنها الاختبار النصي.
مزايا الاختبار المخصص
يقدم الاختبار المخصص (AdHoc) قيمة فريدة غالبًا ما يغفلها الاختبار المنظم. فهو مرن وسريع ويعتمد على حدس المُختبِر بدلًا من الإجراءات الثابتة. من تجربتي، يُعد هذا النوع من الاختبار رفيقًا قويًا للأساليب الرسمية، خاصةً في بيئات التطوير سريعة التطور.
- يكشف الأخطاء المخفية: بدون حدود حالات الاختبار المحددة مسبقًا، فإنه يستكشف المسارات غير المتوقعة حيث تختبئ الأخطاء غالبًا.
- إعداد سريع وبسيط: لا حاجة إلى خطط اختبار مفصلة أو توثيق، مما يوفر الكثير من الوقت عندما تكون هناك حاجة إلى ردود فعل سريعة.
- فعّال من حيث التكلفة عندما يكون الوقت ضيقًا: مثالي للمواقف التي تكون فيها الموارد محدودة ولكن لا تزال هناك حاجة إلى العثور على الأخطاء الحرجة بسرعة.
- رؤى المستخدم الحقيقي: نظرًا لأن المختبرين يتصرفون مثل المستخدمين النهائيين، فإن عملية الاختبار يمكن أن تسلط الضوء على عيوب قابلية الاستخدام التي قد تفوتها الاختبارات الرسمية.
- يستخدم حدس المختبر: يمكن للمختبرين المهرة الاعتماد على خبرتهم لاكتشاف العيوب الدقيقة التي قد تتغاضى عنها الأدوات أو البرامج النصية.
- تعزيز الاختبار الرسمي: إنه لا يحل محل الاختبارات الرسمية، بل يُضيف طبقةً أخرى من الثقة بتوسيع نطاق الاختبارات.
- حلقة التغذية الراجعة الفورية: مفيد بشكل خاص في الإعدادات السريعة حيث يجب العثور على الأخطاء وإصلاحها بسرعة لإبقاء الأمور في وضع الحركة.
عيوب الاختبار المخصص
للاختبارات غير التقليدية قيودٌ عديدة قد تؤثر على جودة الاختبار ونتائج المنتج. دعوني أشرحها بوضوح من واقع خبرتي في الاختبار.
- الأخطاء التي يصعب إعادة إنتاجها: نظرًا لعدم وجود نهج منظم أو سجل تفصيلي، قد يكون تكرار المشكلة أمرًا صعبًا، مما يُصعّب على المطورين حلها.
- يعتمد على خبرة المختبر: يعتمد نجاح هذه الطريقة بشكل كبير على مهارة المُختبِر أو إلمامه بالمنتج. قد يغفل المُبتدئ عن عيوب مهمة قد يكتشفها المُختبِر المُحنَّك.
- لا يوجد تغطية اختبار كاملة: الاختبارات العشوائية لا تتبع مسارًا مُخططًا له. هذا يعني أن بعض المجالات المهمة قد تُترك دون اختبار دون أن يلاحظها أحد حتى فوات الأوان.
- يفتقر إلى التتبع والمقاييس: بدون أي حالات اختبار أو سجلات، يصعب قياس التقدم، أو تحديد الأنماط، أو فهم ما تم اختباره. هذا يُقلل من وضوح الرؤية للفرق وأصحاب المصلحة.
- غير مناسب للتطبيقات عالية المخاطر: تتطلب المشاريع في مجال الرعاية الصحية، أو الخدمات المصرفية، أو الأنظمة الحساسة للسلامة توثيقًا دقيقًا وتحققًا دقيقًا. الاختبارات المخصصة وحدها لا تلبي هذه المعايير الصارمة.
- هل يمكن أن نضيع الوقت دون التركيز؟ إذا لم يكن لدى المُختبِر أهدافٌ غير رسمية، فقد يُضيّع وقتًا طويلًا في استكشاف الميزات ذات الأولوية المنخفضة، مما يُبطئ دورة الاختبار الإجمالية.
أفضل الممارسات للاختبار المخصص الفعال
ولتعظيم فوائد الاختبارات المخصصة على الرغم من طبيعتها غير الرسمية، ضع في اعتبارك الممارسات التالية:
1) المعرفة الجيدة بالأعمال
يجب أن يتمتع القائمون على الاختبار بمعرفة جيدة بالأعمال التجارية وفهم واضح للمتطلبات. ستساعد المعرفة التفصيلية بعملية الأعمال الشاملة في العثور على العيوب بسهولة. يجد المختبرون ذوو الخبرة المزيد من العيوب لأنهم أفضل في تخمين الأخطاء.
2) اختبار وحدات المفاتيح
وينبغي تحديد وحدات الأعمال الرئيسية واستهدافها للاختبار المخصص. يجب اختبار وحدات الأعمال المهمة أولاً لاكتساب الثقة في جودة النظام.
3) تسجيل العيوب
يجب تسجيل جميع العيوب أو كتابتها في المفكرة. يجب تعيين العيوب للمطورين لإصلاحها. بالنسبة لكل عيب صالح، يجب كتابة حالات الاختبار المقابلة ويجب إضافتها إلى حالات الاختبار المخطط لها.
تشبه خلل يجب أن تكون النتائج بمثابة درس مستفادة ويجب أن تنعكس في نظامنا التالي بينما نخطط لحالات الاختبار.
4) قم بالاقتران
كما رأينا في Buddy أو من خلال الاختبار الثنائي، يمكن للتعاون أن يؤدي إلى إيجاد وجهات نظر متنوعة وتحسين اكتشاف العيوب.
أمثلة على الاختبارات المخصصة
يعتمد الاختبار العشوائي على استكشاف تطبيق دون خطة ثابتة. فبدلاً من اتباع البرامج النصية، نعتمد على الحدس والخبرة السابقة. وكثيراً ما وجدتُ هذا النهج مفيداً عند محاولة اكتشاف أخطاء غير عادية أو غير متوقعة قد تغفلها الاختبارات النصية.
- اختبار الضغط لميزة تسجيل الدخول: يقوم أحد المختبرين بتسجيل الدخول والخروج بشكل متكرر باستخدام بيانات اعتماد مختلفة، بعضها غير صحيحة، لمعرفة ما إذا كان النظام يتعطل أو يتفاعل بشكل غريب.
- إدخال المستخدم غير المعتاد: إدخال رموز، أو سلاسل نصية طويلة جدًا، أو تنسيقات ملفات غير متوقعة للتحقق من استجابة النظام. يساعد ذلك في معرفة مدى كفاءة عملية التحقق من صحة المدخلات.
- النقرات العشوائية والتنقل: يقوم المختبر بالنقر على التطبيق بشكل عشوائي - القفز بين الصفحات، وتشغيل الأزرار خارج التسلسل - لتحديد السلوكيات غير المتوقعة.
- فوضى تحميل الملفات: تحميل أنواع الملفات غير المدعومة أو الملفات التالفة لاختبار قوة ميزة التحميل.
- اختبار المقاطعة: مقاطعة عملية ما (مثل إغلاق علامة تبويب أثناء الحفظ أو قطع اتصال الإنترنت) لمعرفة كيفية استعادة النظام.
التحليل المقارن مع الاختبار الاستكشافي
على الرغم من الخلط المتكرر بين الاختبارات المخصصة والاستكشافية، فإنها تُظهر معايير تشغيلية مميزة:
| مميز | الاختبار المخصص | اختبار استكشافي |
|---|---|---|
| توثيق | بعد التنفيذ فقط | تسجيل مستمر |
| التخطيط | بدون سلوفان | ميثاق خفيف قائم على |
| هيكل الجلسة | غير منظم تماما | التكرارات المحددة بالوقت |
| إعادة إنتاج العيوب | 33% إمكانية إعادة الإنتاج | 78% إمكانية إعادة الإنتاج |
| تكامل الأتمتة | تطبيق محدود | 42% دمج الأدوات |
خاتمة
لا يزال الاختبار المخصص وسيلة فعّالة لاكتشاف الأخطاء الخفية التي قد تغفلها طرق الاختبار الأخرى. فهو يعتمد على خبرة المُختبِر وفطرته وإبداعه. من خلال خبرتي الممتدة لعقود في الاختبار، لاحظتُ كيف يكشف هذا النهج غالبًا عن مشاكل واقعية تغفلها الاختبارات المنظمة.
مع ذلك، من المهم استخدام الاختبارات المخصصة بعناية. فبدون تخطيط أو توثيق، قد يصعب تكرار النتائج أو مشاركتها. لذلك، أنصح دائمًا بدمجها مع ملاحظات مناسبة واستخدام أدوات تتبّع ما تم اختباره. هذا يُحقق توازنًا بين الحرية والتحكم.
مع استمرار نمو الذكاء الاصطناعي، أعتقد أننا سنشهد اختباراتٍ آنيةً أكثر ذكاءً مدعومةً بتقنيات التعلم الآلي. تُمكّن هذه الأدوات المُختبرين من تركيز قدراتهم على ما هو أكثر حاجةً إليها. في حين أن الاختبارات الآنية بدأت كممارسةٍ مرنةٍ تعتمد على العنصر البشري، إلا أنها تزداد قابليةً للقياس وقيمةً في سير عمل ضمان الجودة اليوم.


