logo

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

قبل الشروع في الاختبار الوظيفي، يجب أن نعرف عن الاختبار، ما هو الاختبار؟

ما هو الاختبار؟

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

ما هو اختبار البرمجيات؟

اختبار البرمجيات هو أسلوب للتحقق مما إذا كانت النتيجة الفعلية مطابقة للنتيجة المتوقعة وللتأكد من عدم وجود أي عيب أو خطأ في البرنامج.

يضمن اختبار البرمجيات عدم وجود أي عيب في التطبيق أو أن المتطلبات مفقودة عن الحاجة الفعلية. يمكن للاختبار اليدوي أو الآلي إجراء اختبار البرمجيات.

يتم تعريف اختبار البرمجيات أيضًا على أنه التحقق من التطبيق قيد الاختبار (AUT).

هناك نوعان من الاختبار:

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

الاختبار الوظيفي:

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

يُطلق على الاختبار الوظيفي أيضًا اسم اختبار الصندوق الأسود، لأنه يركز على مواصفات التطبيق بدلاً من التركيز على الكود الفعلي. يجب على المُختبر اختبار البرنامج فقط وليس النظام.

الهدف من الاختبار الوظيفي

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

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

يتبع المختبرون الخطوات التالية في الاختبار الوظيفي:

  • يقوم المُختبر بالتحقق من مواصفات المتطلبات في تطبيق البرنامج.
  • بعد التحليل، سيقوم مختبر مواصفات المتطلبات بوضع خطة.
  • بعد التخطيط للاختبارات، سيقوم المختبر بتصميم حالة الاختبار.
  • بعد تصميم الاختبار، سيقوم مختبر الحالة بإعداد مستند لمصفوفة التتبع.
  • سيقوم المختبر بتنفيذ تصميم حالة الاختبار.
  • تحليل التغطية لفحص منطقة الاختبار المغطاة للتطبيق.
  • يجب أن تفعل إدارة العيوب لإدارة حل العيوب.
الاختبار الوظيفي

ما الذي يجب اختباره في الاختبار الوظيفي؟ يشرح

الهدف الرئيسي من الاختبار الوظيفي هو التحقق من وظائف نظام البرنامج. ويركز على:

    سهولة الاستخدام الأساسية:يتضمن الاختبار الوظيفي اختبار قابلية الاستخدام للنظام. فهو يتحقق مما إذا كان بإمكان المستخدم التنقل بحرية دون أي صعوبة عبر الشاشات.إمكانية الوصول:يختبر الاختبار الوظيفي إمكانية الوصول إلى الوظيفة.وظيفة الخط الرئيسي:ويركز على اختبار الميزة الرئيسية.حالة الخطأ:يتم استخدام الاختبار الوظيفي للتحقق من حالة الخطأ. فإنه يتحقق ما إذا كانت رسالة الخطأ المعروضة.

اشرح العملية الكاملة لإجراء الاختبار الوظيفي.

هناك الخطوات التالية لإجراء الاختبار الوظيفي:

  • هناك حاجة لفهم متطلبات البرنامج.
  • تحديد بيانات إدخال الاختبار
  • حساب النتيجة المتوقعة مع قيم الإدخال المحددة.
  • تنفيذ حالات الاختبار
  • مقارنة بين النتيجة الفعلية والمحسوبة
الاختبار الوظيفي

شرح أنواع الاختبارات الوظيفية.

الهدف الرئيسي من الاختبار الوظيفي هو اختبار وظيفة المكون.

ينقسم الاختبار الوظيفي إلى أجزاء متعددة.

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

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

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

يقوم المطور باختبار الوحدة. يتم اختبار الوحدة في مرحلة تطوير التطبيق.

اختبار الدخان: الاختبار الوظيفي عن طريق اختبار الدخان. يتضمن اختبار الدخان فقط الوظيفة (المميزة) الأساسية للنظام. يُعرف اختبار الدخان باسم ' بناء اختبار التحقق .' يهدف اختبار الدخان إلى التأكد من عمل الوظيفة الأكثر أهمية.

على سبيل المثال، يتحقق اختبار Smoke من تشغيل التطبيق بنجاح وسيتحقق من استجابة واجهة المستخدم الرسومية.

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

على سبيل المثال، تسجيل الدخول يعمل بشكل جيد؛ جميع الأزرار تعمل بشكل صحيح. بعد النقر على زر التنقل للصفحة يتم أم لا.

اختبار الانحدار: يركز هذا النوع من الاختبارات على التأكد من أن تغييرات التعليمات البرمجية لا ينبغي أن تؤثر بشكل جانبي على الوظيفة الحالية للنظام. يحدد اختبار الانحدار متى يظهر خطأ في النظام بعد إصلاح الخلل، ويركز اختبار الانحدار على ما إذا كانت جميع الأجزاء تعمل أم لا. يركز اختبار الانحدار على ما إذا كان هناك أي تأثير على النظام.

اختبار التكامل: اختبار التكامل دمج الوحدات الفردية واختبارها كمجموعة. والغرض من هذا الاختبار هو كشف الأخطاء في التفاعل بين الوحدات المتكاملة.

يقوم المطورون والمختبرون بإجراء اختبار التكامل.

اختبار الصندوق الأبيض: اختبار الصندوق الأبيض يُعرف باسم اختبار Clear Box، والاختبار القائم على التعليمات البرمجية، والاختبار الهيكلي، والاختبار الشامل، واختبار الصندوق الزجاجي، واختبار الصندوق الشفاف. إنها طريقة اختبار برمجية يتم من خلالها اختبار البنية / التصميم / التنفيذ الداخلي المعروف للمختبر.

يحتاج اختبار الصندوق الأبيض إلى تحليل البنية الداخلية للمكون أو النظام.

اختبار الصندوق الأسود: ومن المعروف أيضا باسم الاختبار السلوكي. في هذا الاختبار، الهيكل الداخلي/ التصميم/ التنفيذ غير معروف للمختبر. هذا النوع من الاختبارات هو اختبار وظيفي. لماذا نطلق على هذا النوع من الاختبار اسم اختبار الصندوق الأسود، في اختبار الاختبار هذا، لا يمكنه رؤية الكود الداخلي.

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

اختبار قبول المستخدم: هو نوع من الاختبارات التي يقوم بها العميل لاعتماد النظام وفقًا للمتطلبات. المرحلة الأخيرة من الاختبار هي اختبار قبول المستخدم قبل طرح البرنامج في السوق أو بيئة الإنتاج. UAT هو نوع من اختبار الصندوق الأسود حيث سيشارك فيه مستخدمان نهائيان أو أكثر.

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

اختبار قاعدة البيانات: اختبار قاعدة البيانات هو نوع من الاختبار الذي يتحقق من المخطط والجداول والمشغلات وما إلى ذلك لقاعدة البيانات قيد الاختبار. قد يتضمن اختبار قاعدة البيانات إنشاء استعلامات معقدة لتحميل/اختبار الضغط على قاعدة البيانات والتحقق من استجابتها. يتحقق من سلامة البيانات واتساقها.

دمج خوارزمية الفرز

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

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

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

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

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

لماذا نستخدم الاختبار الثابت؟

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

اختبار المكونات: اختبار المكونات هو أيضًا نوع من اختبارات البرامج حيث يتم إجراء الاختبار على كل مكون على حدة دون التكامل مع الأجزاء الأخرى. اختبار المكونات هو أيضًا نوع من اختبار الصندوق الأسود. يُشار إلى اختبار المكونات أيضًا باسم اختبار الوحدة، أو اختبار البرنامج، أو اختبار الوحدة.

اختبار الصندوق الرمادي: اختبار الصندوق الرمادي تم تعريفه على أنه مزيج من اختبار الصندوق الأبيض والصندوق الأسود. اختبار الصندوق الرمادي هو أسلوب اختبار يتم إجراؤه بمعلومات محدودة حول الوظائف الداخلية للنظام.

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

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

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

إنها إحدى التقنيات المهمة وذات الأولوية القصوى والتي تم تحديدها وتحديدها قبل عملية التطوير.

الأدوات المستخدمة للاختبار الوظيفي هي:

أدوات الميزات / الخصائص
في الحقيقة
  • إنها أداة اختبار مفتوحة المصدر وأتمتة، تم إصدارها بموجب ترخيص Apache License مفتوح المصدر، وتستخدم لاختبار تطبيق الويب.
  • يتم كتابة Sahi بلغة Java وJavaScript ويتم استخدامه في معظم تقنيات الاختبار.
  • يعمل كخادم وكيل. إنه مستقل عن المتصفح.
SoapUI
  • إنها أداة اختبار وظيفية مفتوحة المصدر، تستخدم لاختبار تطبيقات الويب.
  • إنها بسيطة وسهلة التصميم.
  • وهو يدعم بيئات متعددة، أي أنه في أي حالة، قد يتم إعداد البيئة المستهدفة.
ماء
  • Watir، هو نموذج مختصر لاختبار تطبيقات الويب بلغة روبي، وهو أداة مفتوحة المصدر لأتمتة متصفح الويب./li>
  • ويستخدم لغة برمجة نصية روبي، وهي موجزة وسهلة الاستخدام./li>
  • يدعم Watir متصفحات متعددة على منصات مختلفة.
السيلينيوم
  • أداة مفتوحة المصدر، تُستخدم للاختبار الوظيفي على كل من تطبيقات الويب وتطبيقات سطح المكتب.
  • يقوم بأتمتة المتصفحات وتطبيقات الويب لغرض الاختبار.
  • إنه يوفر المرونة لتخصيص حالة الاختبار الآلي
  • يوفر ميزة كتابة نصوص الاختبار، حسب المتطلبات، باستخدام برنامج تشغيل الويب.
اختبار ويب كانو
  • أداة مفتوحة المصدر لإجراء الاختبار الوظيفي لتطبيق الويب.
  • منصة مستقلة
  • سهل وسريع
  • من السهل تمديدها لتلبية المتطلبات المتزايدة والواردة.
خيار
  • Cucumber هي أداة اختبار مفتوحة المصدر مكتوبة بلغة روبي. تعمل هذه الأداة بشكل أفضل للتطوير القائم على الاختبار. يتم استخدامه لاختبار العديد من اللغات الأخرى مثل Java وC# وPython. خيار للاختبار باستخدام بعض البرمجة.

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

مزايا الاختبار الوظيفي هي:

  • وتنتج منتجًا خاليًا من العيوب.
  • ويضمن رضا العميل.
  • ويضمن تلبية جميع المتطلبات.
  • فهو يضمن العمل السليم لجميع وظائف التطبيق/البرنامج/المنتج.
  • فهو يضمن أن البرنامج / المنتج يعمل كما هو متوقع.
  • ويضمن الأمن والسلامة.
  • أنه يحسن جودة المنتج.

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

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

عيوب الاختبار الوظيفي هي:

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

يتم إحتوائه

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