ابدأ من هنا
الرئيسية›أساسيات ومفاهيم جودة البرمجيات (Software Testing Concepts)›الفرق بين Functional و Non-Functional Testing

الفرق بين Functional و Non-Functional Testing

14 أيلول 2026·08:15·مبتدئأساسياتشرح

تعرّف على الفرق الأساسي بين الفحص الوظيفي (Functional Testing) والفحص غير الوظيفي (Non-Functional Testing)، مع أمثلة عملية توضح أهداف ومجالات كل نوع في فحص البرمجيات.

قبل ما تبدأ

  • مقدمة في فحص البرمجيات (Software Testing Basics)

الخلاصة بنقاط

  • الفحص الوظيفي (Functional Testing) يركز على ماذا يفعله النظام (What the system does) للتأكد من مطابقة الميزات للمتطلبات.
  • الفحص غير الوظيفي (Non-Functional Testing) يركز على كيف يعمل النظام (How the system performs) مثل الأداء، الأمان، وسهولة الاستخدام.
  • الفحص الوظيفي يغطي حالات مثل تسجيل الدخول، إنشاء الحساب، والعمليات المالية.
  • الفحص غير الوظيفي يغطي جوانب مثل الأداء تحت الضغط (Load Testing)، الأمان (Security)، وسرعة الاستجابة.

يعتبر كل من Functional Testing و Non-Functional Testing من الركائز الأساسية لضمان جودة أي تطبيق أو نظام برمجي، ولكنهما يختلفان في الهدف والتركيز:

1. الفحص الوظيفي (Functional Testing)

يركز هذا النوع على التحقق من أن النظام يعمل وفقاً للمتطلبات الوظيفية (Functional Requirements) المحددة مسبقاً.

  • السؤال الأساسي: ماذا يفعل النظام؟ (What does the system do?)
  • الهدف: التأكد من أن كل ميزة (Feature) في التطبيق تعمل بشكل صحيح وتؤدي وظيفتها المتوقعة.
  • أمثلة:
    • فحص عملية تسجيل الدخول باستخدام اسم مستخدم وكلمة مرور صحيحة.
    • فحص إمكانية إضافة منتج إلى سلة التسوق وإتمام عملية الدفع.

2. الفحص غير الوظيفي (Non-Functional Testing)

يركز على الجوانب التشغيلية وصفات الجودة للنظام بدلاً من الوظائف المباشرة.

  • السؤال الأساسي: كيف يعمل النظام؟ (How well does the system perform?)
  • الهدف: التأكد من أن النظام يعمل بكفاءة، أمان، وسرعة تحت مختلف الظروف.
  • أمثلة:
    • فحص الأداء (Performance Testing): قياس زمن استجابة الموقع عند زيادة عدد المستخدمين.
    • فحص الأمان (Security Testing): التأكد من حماية البيانات ضد الثغرات والاختراقات.
    • فحص سهولة الاستخدام (Usability Testing): تقييم مدى سهولة تصفح الواجهات بالنسبة للمستخدم.

الخلاصة: الفحص الوظيفي يضمن أن التطبيق يفعل الأشياء الصحيحة، بينما الفحص غير الوظيفي يضمن أن التطبيق يفعلها بالطريقة الصحيحة والآمنة.

تمرين

تحديد نوع الفحص للمتطلبات البرمجية

  1. اقرأ المتطلب: "يجب أن يتمكن المستخدم من إعادة تعيين كلمة المرور عبر البريد الإلكتروني." وحدد هل هو Functional أم Non-Functional.
  2. اقرأ المتطلب: "يجب أن يتحمل الموقع 10,000 مستخدم بالتزامن دون أن تتجاوز استجابة الصفحة ثانيتين." وحدد نوعه.

فكر في السؤال الأساسي: هل المتطلب يشرح ميزة وظيفية أم يقيس جودة وأداء النظام؟

اكشف الحل
  • المتطلب الأول: Functional Testing (لأنه يفحص وظيفة وميزة محددة في النظام).
  • المتطلب الثاني: Non-Functional Testing (لأنه يقيس الأداء وسرعة الاستجابة تحت الضغط).
تقدّم الشهادة0%

شاهد 90% من الفيديو حتى ينحسب هذا الدرس مكتمل.

خلصت الدرس؟ 👏خذ استراحة 60 ثانية واصطد bugsلعبة Debug Hunt — بتلعبها عالموبايل كمان
العب هسا

النقاش 🔻

اكتب سؤالك أو ملاحظتك. التعليقات بتظهر بعد المراجعة.