تنجح شركات البرامج الضخمة ، مثل Google ، على الرغم من الأخطاء المنخفضة في برمجياتها ، ولكن الشركات الصغيرة والشركات الناشئة لا تملك هذا الترف.
يتوقع العملاء من المنتجات أن تفعل ما يدعونه في صفحة المبيعات ، أو في الوثائق. مع وجود العديد من الخيارات ، لن يفكروا مرتين في القفز على السفينة إذا كان المنتج يضيع وقتهم ومالهم. لذلك ، يخضع البرنامج لاختبارات صارمة قبل الإصدار من أجل:
تمييز الفروق بين المفهوم الأصلي والناتج النهائي
تحقق من أن البرنامج يعمل بالطريقة التي يخطط بها المصممون
التحقق من صحة المنتج النهائي - يجب أن يستوفي المنتج متطلبات العميل
تقييم الميزات والجودة
يتبع الاختبار مخططًا صارمًا. يعمل ذلك على تحسين استخدام الموارد القيّمة - المهارات والوقت والأموال ، مع تزويد الجهات المعنية بالمعلومات الضرورية للمضي قدمًا بالمنتج. والهدف هو تسهيل تجربة المستخدم النهائي الجيدة من خلال برنامج قوي لضمان الجودة . نظرًا لأن المخاطر عالية جدًا ، فإن مديري ضمان الجودة هم من بين كبار الأشخاص في مجال التكنولوجيا. يتبع الاختبار عادةً الخطوات التالية:
تحليل المتطلبات حيث يحدد المديرون خطة لوضع استراتيجية اختبار مناسبة في مكانها الصحيح.
تبدأ الاختبارات والنتائج تخضع لتحليل.
يتم تصحيح أي عيوب ، ويمر البرنامج من خلال اختبار الانحدار - نظام للتحقق من البرنامج لا يزال يعمل بعد التعديلات.
تقرير اختبار إغلاق ثم تفاصيل العملية بأكملها والنتائج.
طرق اختبار البرمجيات
فيما يلي الطرق المختلفة المستخدمة للحكم على سلوك المنتج وأدائه.
الصندوق الأسود واختبار المربع الأبيض هما طريقتان أساسيتان.
- اختبار الصندوق الأسود - ويسمى أيضًا الاختبار الوظيفي أو القائم على المواصفات ، تركز هذه الطريقة على المخرجات. لا يهم المختبرون الآليات الداخلية. انهم فقط تحقق من البرنامج يفعل ما يفترض به. معرفة الترميز ليست ضرورية ، ويعمل المختبر على مستوى واجهة المستخدم.
- اختبار المربع الأبيض - تستخدم هذه الطريقة المعرفة البرمجية كجزء من إجراء الاختبار. عند فشل أحد المنتجات ، يدخل المختبر في عمق الشفرة حسب الضرورة للعثور على السبب. يقوم مطورو البرامج بذلك لأنهم يحددون كيفية عمل المنتج. إن اختبار الصندوق القائم على الهيكل و الزجاج هي أسماء أخرى لهذه الطريقة.
- اختبار ثابت - يختبر المختبر رمز البرنامج وتوثيقه ولكن لا يقوم بتنفيذ البرنامج. تبدأ الاختبارات الثابتة في وقت مبكر من تطوير المنتج أثناء عملية التحقق.
- الاختبار الديناميكي - يتم تنفيذ البرنامج باستخدام مدخلات مختلفة ، ويقوم المختبر بمقارنة النتائج مع السلوك المتوقع باستخدام هذه الطريقة.
- اختبار واجهة المستخدم الرسومية - يختبر هذا خصائص واجهة المستخدم الرسومية - تنسيق النص ومربعات النص والأزرار والقوائم والتخطيط والألوان والخطوط وأحجام الخطوط وما إلى ذلك. يستغرق اختبار GUI وقتًا طويلاً ، وغالبًا ما تأخذ الشركات التابعة لجهات خارجية المهمة بدلاً من المطورين.
مستويات الاختبار
هذه ضرورية لتحديد مجالات الضعف والتداخل في كل مرحلة من دورة حياة تطوير البرمجيات.
- اختبار الوحدة - يقوم المطورون باختبار الأجزاء الأساسية من الكود مثل الطبقات والواجهات والوظائف / الإجراءات. ﻳﻌﺮف آﻴﻒ ﻳﺠﺐ أن ﺕﺴﺘﺠﻴﺐ آﻮدﺗﻬﺎ وﻳﻤﻜﻦ إﺟﺮاء ﻋﻤﻠﻴﺎت ﺗﻌﺪیﻞ ﺕﺒﻌﺎً ﻟﻠﻤﺨﺮﺟﺎت
- اختبار مكون - أسماء أخرى هي اختبار الوحدة النمطية أو برنامج. يشبه اختبار الوحدة ولكنه يحتوي على مستوى أعلى من التكامل. يتم اختبار وحدات البرنامج للعيوب للتحقق من وظيفتها الفردية.
- اختبار التكامل - يحدد ذلك الأخطاء عند دمج الوحدات. اختبارات التكامل المختلفة من الأعلى إلى الأعلى ، من الأعلى إلى الأسفل ، والتزايد الوظيفي.
- اختبار النظام - يتم اختبار مكونات المشروع ككل في بيئات مختلفة باستخدام هذه الطريقة. وهو يندرج تحت طريقة الصندوق الأسود ويعد أحد الاختبارات النهائية في هذه العملية. ويحدد ما إذا كان النظام يعمل كما ينبغي لتلبية احتياجات العمل والمستخدم.
- اختبار ألفا - يقوم الموظفون الداخليون باختبار البرنامج في موقع المطور في بيئة محاكاة أو فعلية. بعد ذلك ، يقوم المطورون بتصحيح الأخطاء وغيرها من المشكلات.
- اختبار تجريبي - يعرف الاختبار الميداني كذلك ، يقوم العميل باختبار المنتج على موقعه الخاص في ظروف حقيقية. قد يقدم العميل لمجموعة من المستخدمين النهائيين فرصة اختبار البرنامج من خلال الإصدارات التجريبية أو التجريبية. ثم يتم إرسال التعليقات على التحسينات الممكنة إلى المطور.
- اختبار القبول - أيضا تحت نطاق اختبار الصندوق الأسود ، يقوم العميل باختبار البرنامج لمعرفة ما إذا كان المطور قد أنشأ البرنامج وفقًا للمواصفات المطلوبة.
أنواع الاختبار
تركز اختبارات البرامج هذه على أهداف محددة.
- اختبار التثبيت - يقوم مهندس اختبار البرامج ومدير التوصيف بإجراء هذا الاختبار لضمان قدرة المستخدم النهائي على تثبيت البرنامج وتشغيله. وهي تغطي مناطق مثل ملفات التثبيت ومواقع التثبيت والامتيازات الإدارية.
- اختبار التطوير - يطبق هذا مجموعة من الاستراتيجيات المتزامنة لاكتشاف العيوب ومنعها. ويشمل تحليل الكود الثابت ومراجعات أكواد الأقران وإمكانية التتبع وتحليل المقاييس. الهدف هو تقليل المخاطر وتوفير التكاليف.
- اختبار قابلية الاستخدام - تأتي تجربة المستخدم تحت دائرة الضوء مع هذا الاختبار. وهو يقيس مدى جودة تصميم واجهة المستخدم الرسومية وسهولة استخدامها. يتحقق الاختبار من دقة وكفاءة الوظائف والاستجابات الانفعالية لموضوعات الاختبار.
- اختبار السلامة - هذا يدل على ما إذا كان البرنامج يستحق الوقت والتكلفة لمواصلة اختبارات أخرى. الكثير من العيوب والاختبارات الأكثر عدوانية لا تتبع.
- اختبار الدخان - يكشف اختبار الدخان عن حالات الفشل الأساسية التي تكون خطيرة بدرجة كافية لمنع إطلاقها. عندما يتم تنفيذ ذلك على بنية جديدة ، يطلق عليه اختبار التحقق من البناء.
- اختبار الانحدار - عندما يخضع النظام للتعديل ، يقوم اختبار الانحدار بمراقبة السلوك غير المتوقع. يشير إلى تأثيرات ضارة على وحدات أو مكونات.
- اختبار تدميري - يدخل المختبر مدخلات غير طبيعية ويميز قدرة البرنامج على إدارة المدخلات غير المتوقعة. يوضح ذلك للمطورين مدى قوة البرنامج في إدارة الأخطاء.
- اختبار الاسترداد - عندما يفشل الجهاز أو وظائف أخرى ، يوضح هذا الاختبار مدى قدرة البرنامج على استعادة العملية ومتابعتها.
- الاختبار الآلي - يؤدي هذا الأمر الوظائف التي يصعب تنفيذها يدويًا. ويستخدم برنامجًا معينًا لتشغيل الاختبارات وتقديم بيانات حول النتائج الفعلية مقابل النتائج المتوقعة.
- اختبار التوافق - يجب أن يعمل البرنامج في بيئات حوسبة مختلفة ، بحيث يتحقق ذلك من التوافق مع أنظمة مختلفة. على سبيل المثال ، هل يعمل البرنامج مع مختلف أنظمة التشغيل ومتصفحات الويب؟
- اختبار الأداء - يعد هذا اختبارًا تفصيليًا يفحص أداء البرامج في سيناريوهات مختلفة. يتم جمع المعلومات حول الاستجابة والاستقرار وتخصيص الموارد والسرعة. علاوة على ذلك ، تلعب الاختبارات الفرعية مثل الحجم والسعة واختبار الارتفاع دورًا في هذه العملية.
- اختبار الأمان - يقيس هذا قدرة البرنامج على حماية أمان المستخدمين. وهذا يعني وظائف التخويل والمصادقة والسرية والسلامة والتوافر وعدم التنصل.
- اختبار إمكانية الوصول - هذا ليس هو نفسه اختبار قابلية الاستخدام. هذا يحدد مدى قدرة مستخدمي القدرات المختلفة - التعلم والإعاقات البدنية المدرجة ، على استخدام البرنامج.
- اختبار التدويل والتوطين - توضح النتائج كيف يمكن للبرنامج التكيف مع اللغات المختلفة والمتطلبات الإقليمية. يتضمن ذلك إضافة مكونات لمواقع محددة وترجمة نص.
يعد اختبار البرمجيات جزءًا أساسيًا في جلب المنتج إلى السوق. وبدون استخدام أجهزة اختبار ، لن تكون هناك مجموعة كبيرة من البرامج المتاحة. أصبح اختبارًا معتمدًا للبرامج من خلال منظمات مثل BCS ، ومعهد تشارترد لتقنية المعلومات ، و ISTQB (مجلس اختبارات المؤهلات الدولية) ، و ASQ (الجمعية الأمريكية للجودة سابقًا).