كيف نصل لأعلي معايير الجودة في البرمجيات ~ اركان

السبت، 25 ديسمبر 2021

كيف نصل لأعلي معايير الجودة في البرمجيات

 


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

 

اختبارات الأداء الوظيفي (Functionality Tests)

يتم إجراؤها للتأكد من أن التطبيق يقوم بالوظائف المطلوبة بشكل صحيح وخالي من الأخطاء كما خطط لها في قصص المستخدم (User stories) ويجب أن تتكرر هذه الاختبارات كلما تمت إضافة أي تحديثات الي المنتج. مثال: يمكن للمستخدم تحميل صورة الملف شخصي بنجاح.

 

اختبارات واجهة المستخدم (User Interface Tests)

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

 

اختبارات الأداء (Performance Tests)

تساعد اختبارات الأداء في معرفة أداء التطبيق الفعلي اثناء الاستخدام وغالبًا ما تكون هذه الاختبارات آلية وتساعد أتمتة هذه الاختبارات وتشغيلها بشكل متكرر في كشف السيناريوهات التي لا يعمل فيها التطبيق بشكل صحيح. حيث يقوم اختبار الأداء بالتحقق من مدي الاستجابة والفعالية للتطبيق. مثال1: بعد تنفيذ إجراء ما، كم من الوقت يستغرقه النظام للرد؟

مثال 2: عند تسجيل دخول عدة أشخاص في نفس الوقت، هل يبقى التطبيق مستقرًا؟

 

اختبارات التكامل (Integration Tests)

تركز اختبارات التكامل بشكل أساسي على سلامة تدفق البيانات/المعلومات بين الوحدات المختلفة (Modules)، أي انها تتحقق من أن الوحدات (Modules) التي تعمل بالفعل بشكل فردي، قادرة أيضًا على العمل معًا بشكل صحيح. مثال: التحقق من الرابط بين الصفحة الرئيسية وقسم "المفضلة". عند إضافة عنصر كـ "مفضل"، من الصفحة الرئيسية، هل يظهر في قسم "المفضلة"؟

 

اختبارات قابلية الاستخدام (Usability Tests)

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

غالبا ما يتم إعداد حالات الاختبار هذه من قبل فريق التصميم جنبًا إلى جنب مع فريق الاختبار.

مثال: هل يمكن للمستخدم إضافة أكثر من عنصر بسهولة إلى سلة التسوق الخاصة به؟

 

اختبارات قاعدة البيانات (Database Tests)

تُستخدم اختبارات قاعدة البيانات للتحقق من قيام المطور بكتابة الكود بطريقة تخزن البيانات وتعالجها بشكل صحيح وآمن. مثال: عندما يقدم المستخدم ملفه الشخصي. هل قام التطبيق بتخزين البيانات المدخلة في قاعدة البيانات؟ هل فقدت أي بيانات في هذه العملية؟

 

اختبارات الأمن والحماية (Security Tests)

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

 

اختبارات قبول المستخدم (User Acceptance Tests)

الغرض من هذا الاختبار هو التحقق من صحة تدفق العمل من البداية إلى النهاية، وتكون حالات الاختبار موسعة وتغطي جميع مجالات التطبيق، وليس الغرض منها هو العثور على أخطاء (نأمل أن يكون قد تم العثور عليها بالفعل وتم إصلاحها في الاختبارات السابقة) ولكن للتحقق من أن التطبيق مقبول لدى المستخدم ويلبي كافة طلباته. وغالباً ما يتم إجراء UAT بواسطة المستخدمين المقصودين ويعتبر هذه الاختبار بمثابة المرحلة النهائية للاختبار قبل نقل التطبيق إلى بيئة العمل النهائية (Production environment)

 

المصدر: Moezeldin Elbakshishy

 

https://www.linkedin.com/in/moezeldin-elbakshishy

0 comments:

إرسال تعليق