اختبار غير وظيفي

⚡ ملخص ذكي

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

  • 🎯 التركيز على الجودة: يقيس الاختبار غير الوظيفي كيفية أداء النظام بدلاً من ما يفعله.
  • 📏 معايير قابلة للقياس: يتم تحديد كل متطلب كمياً، مما يلغي الحاجة إلى استخدام عبارات ذاتية مثل جيد، أو أفضل، أو الأفضل.
  • 🔐 المعايير الحرجة: تُهيمن معايير الأمان والموثوقية وقابلية التوسع وسهولة الاستخدام وقابلية النقل على التحقق غير الوظيفي.
  • 🧪 أنواع اختبارات متنوعة: تتناول اختبارات الأداء والحمل والإجهاد والتعافي والتوافق مخاطر جودة محددة.
  • 📊 تأثير الأعمال: يؤدي الاختبار غير الوظيفي القوي إلى تقليل تكلفة الإنتاج، ووقت التوقف، وعدم رضا العملاء عبر الإصدارات.

اختبار غير وظيفي

ما هو الاختبار غير الوظيفي؟

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

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

مخطط عام لاختبارات الوظائف غير الوظيفية

أهداف الاختبارات غير الوظيفية

تُجرى الاختبارات غير الوظيفية لتحسين الجودة الشاملة للمنتج وإطالة عمره. وتشمل الأهداف الرئيسية ما يلي:

  • زيادة سهولة الاستخدام والكفاءة وسهولة الصيانة وقابلية نقل المنتج.
  • تقليل مخاطر الإنتاج والتكاليف المرتبطة بالعيوب غير الوظيفية.
  • تحسين طريقة تثبيت المنتج وإعداده وتشغيله وإدارته ومراقبته.
  • جمع القياسات والمؤشرات لأغراض البحث والتطوير الداخلي.
  • تحسين فهم سلوك المنتج والتقنيات المستخدمة.
#1 الأفضل بشكل عاماختبار التطبيق العالمي
9.8/ 10
★ ★ ★ ★ ★
احصل على عرض تجريبي مجاني
PractiTest
9.5/ 10
★ ★ ★ ★ ★
قم بزيارة : PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
قم بزيارة : Testiny
أفضل من أجلاختبار الجمهور وضمان الجودةإدارة الاختبارفرق ضمان الجودة الصغيرة والمتوسطة
ميزة رئيسية✓اختبار التكامل مع جهات خارجية✓إدارة الاختبارات المركزية✓حالات الاختبار اليدوية والآلية
آلية الربط✓جيرا، Slack, TestRail✓جيرا، Jenkins, Slack✓Jira، GitHub، GitLab
تجربة مجانيّةالتجريب المجانيشنومكس يوم التجربة المجانيةالتجريب المجاني
احصل على عرض تجريبي مجانيقم بزيارة : PractiTestقم بزيارة : Testiny

خصائص الاختبارات غير الوظيفية

تحدد السمات التالية كيفية تخطيط وتنفيذ الاختبارات غير الوظيفية:

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

معايير الاختبار غير الوظيفية

تُستخدم عادةً إحدى عشرة معياراً لتحديد نطاق جهود الاختبار غير الوظيفي:

  1. الأمن: يقيس هذا المقياس مدى حماية النظام من الهجمات المتعمدة وغير المتعمدة من مصادر داخلية أو خارجية. ويتم التحقق منه من خلال اختبارات الأمان.
  2. الموثوقية: مدى قدرة النظام على أداء وظائفه المحددة باستمرار دون أي عطل. يتم التحقق من ذلك من خلال اختبارات الموثوقية.
  3. البقاء على قيد الحياة: يؤكد هذا أن النظام يستمر في العمل ويستعيد نفسه بعد حدوث عطل. تم التحقق من ذلك من خلال اختبار الاستعادة.
  4. المخزون: يحدد هذا مدى اعتماد المستخدم على النظام أثناء التشغيل. تم التحقق من ذلك من خلال اختبارات الاستقرار.
  5. سهولة الاستخدام: سهولة تعلم المستخدمين للنظام، وتشغيله، وإعداد المدخلات، واستخدام المخرجات منه. تم التحقق من ذلك من خلال اختبارات سهولة الاستخدام.
  6. التدرجية: مدى قدرة تطبيق برمجي على توسيع طاقته المعالجة لتلبية الطلب المتزايد. يتم التحقق من ذلك من خلال اختبار قابلية التوسع.
  7. العمل المشترك: يتحقق من كيفية تفاعل نظام برمجي مع أنظمة برمجية أخرى. يتم التحقق من ذلك من خلال اختبار التوافق التشغيلي.
  8. كفاءة: مدى قدرة النظام على التعامل مع السعة والكمية ووقت الاستجابة تحت الضغط.
  9. المرونة: سهولة عمل التطبيق عبر تكوينات الأجهزة والبرامج المختلفة، مثل مواصفات ذاكرة الوصول العشوائي أو وحدة المعالجة المركزية المتغيرة.
  10. قابلية التنقل: مرونة البرنامج في الانتقال من بيئة الأجهزة أو البرامج الحالية إلى بيئة أخرى.
  11. إعادة الاستخدام: يشير إلى جزء من نظام البرمجيات الذي يمكن تكييفه للاستخدام في تطبيق آخر.

مخطط معايير الاختبار غير الوظيفي

نوع اختبار البرمجيات

يُصنف اختبار البرمجيات بشكل عام إلى ثلاث فئات:

  • الاختبار الوظيفي
  • اختبار غير وظيفي
  • اختبار الصيانة

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

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

أنواع الاختبارات غير الوظيفية

تشمل أكثر أنواع الاختبارات غير الوظيفية شيوعًا التي تجريها فرق ضمان الجودة ما يلي:

  • اختبار أداء
  • اختبار الحمل
  • اختبار تجاوز الفشل
  • اختبار التوافق
  • اختبار قابلية الاستخدام
  • اختبار الإجهاد
  • اختبار قابلية الصيانة
  • اختبار قابلية التوسع
  • اختبار الحجم
  • اختبار الأمان
  • اختبار التعافي من الكوارث
  • اختبار الامتثال
  • اختبار النقل
  • اختبار الكفاءة
  • اختبار الموثوقية
  • اختبار خط الأساس
  • اختبار التحمل
  • اختبار التوثيق
  • اختبار الاسترداد
  • اختبار التدويل

أمثلة على حالات الاختبار لاختبار الوظائف غير الوظيفية

توضح الأمثلة التالية كيفية كتابة حالات الاختبار غير الوظيفية في المشاريع الحقيقية:

حالة اختبار # حالة الاختبار نطاق
1 يجب ألا يتجاوز وقت تحميل التطبيق 5 ثوانٍ عندما يصل عدد المستخدمين إلى 1000 مستخدم في وقت واحد. اختبار أداء
2 يجب أن يكون البرنامج قابلاً للتثبيت على جميع الإصدارات المدعومة من Windows و macOS. اختبار التوافق
3 ينبغي أن تتضمن جميع صور الويب علامات بديلة وصفية. اختبار الوصول

الأسئلة الشائعة

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

تشمل الأدوات الشعبية JMeter وLoadRunner لتحسين الأداء، Selenium لأتمتة سهولة الاستخدام، Burp Suite وOWASP ZAP للأمان، وBrowserStack للتوافق. تستهدف كل أداة مجالًا محددًا غير وظيفي ترغب فرق ضمان الجودة في قياسه.

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

يتم قياس كل معيار وفقًا لعتبات قابلة للقياس الكمي. ويُقاس الأداء من خلال وقت الاستجابة والإنتاجية، والأمان من خلال عدد الثغرات الأمنية، وسهولة الاستخدام من خلال معدلات إنجاز المهام، والموثوقية من خلال متوسط ​​الوقت بين الأعطال. Numbers استبدال الآراء الشخصية.

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

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

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

تلخيص هذه التدوينة بـ: