فحص البرمجيات
اختبار البرمجيات أو فحص البرمجيات هي عملية استقصاء للبرمجيات بشكل تجريبي بهدف تقديم معلومات تتعلق بالجودة لأصحاب المصلحة عن المنتج أو الخدمة. من أهداف اختبار البرمجيات التحقق من أنها تلائم احتياجات المستخدمين أصحاب المصلحة من استخدام البرمجية على اختلاف أنماطهم وأنواعهم، وأنها خالية من الأخطاء. إلا أن عملية اختبار البرمجيات لا يمكن أن تضمن خلو البرنامج أو النظام من الأخطاء نهائياً.
الجودة هي ليست بالأمر المطلق، بل تختلف من شخص لآخر بحسب احتياجاته. بأخذ هذه العبارة الشهيرة في علم الجودة، يصبح من المستحيل تحقيق عملية فحص للبرمجيات أن تقوم بالتحقق من صحة أي برنامج حاسوبي، حيث تتعرض عملية الاختبار للنقد بسبب عدم التحقيق الكامل للمواصفات الموضوعة للبرنامج من قبل وجهة نظر المستخدم الذي يقوم بالاختبار. وعليه فإن جودة البرمجيات يجب أن تعتمد على مقاييس أكثر موضوعية مثل تأكيد جودة البرمجيات وهي العملية التي تضمن الحصول على برنامج جيد باتباع خطوات واضحة ودقيقة أثناء عملية تصنيعه.
مع ازدياد انتشار التكنولوجيا يوما بعد يوم ودخول البرمجيات في أغلب نواحي الحياة،أصبح من الضروري جدا القيام بفحص تلك البرمجيات قبل طرحها للاستخدام من قبل المستخدمين المعنيين، وذلك لأن البرمجية التي تعمل بشكل سيء أو غير مرغوب فيه أو بطريقة خاطئة قد تؤدي إلى عدة مشاكل منها:تمر عملية فحص البرمجية بعدد من الخطوات المنهجية التي تهدف إلى تحقيق أفضل النتائج بغض النظر عن منظومة البرمجة المتبعة لتطوير تلك البرمجية 
سواءً كانت المنظومة التقليدية أو البرمجة منظومة الأجايل (البرمجة المرنة)، وتلك الخطوات تتلخص في:تعتبر عملية التخطيط للاختبار العملية الأساسية لوضع القواعد التي ستقوم عليها عملية الاختبار على المدى القريب والبعيد، حيث يتم ضمن هذه العملية تقدير الجداول الزمنية لنشاطات عملية الاختبار جميعها والموارد البشرية المشاركة وأنواع الاختبارات التي ستنفذ ومستوياتها وأنواع المهارات والتخصصات المطلوبة خلال عملية الاختبار وغيرها من الأمور.
كما و يتم أثناء عملية التخطيط وضع معيار إنهاءالفحص لتتم عملية تقييم سير العملية نسبة لهذا المعيار ليساعد في الحكم على جهوزية عملية الاختبار و اكتمالها أو نقصها .
أما عملية المراقبة فتقوم على جمع البيانات عن معايير معينة خلال عملية الاختبار ليتم الحكم من خلالها على عدة أمور والقيام باتخاذ إجراءات معينة إذا استدعى الأمر ذلك وهو ما يسمى "التحكم".
يتم ضمن هذه الخطوة تحليل متطلبات البرمجية تبعا للاحتياجات والوظائف المطلوبة منها.
يتم ضمن هذه الخطوة تصميم حالات الاختبار التي سيتم استخدامها لفحص البرمجية، حيث تستخدم عدة تقنيات لهذا الغرض.
يتم ضمن هذه الخطوة تحضير ما يلزم للبدء بتنفيذ عملية الفحص من:
وغيرها من الأمور المطلوبة للبدء بعملية الفحص.
يتم ضمن هذه الخطوة تنفيذ الاختبارات المحدد ترتيبها في الخطوة السابقة على بيئة الفحص - تشغيل الاختبارات تلقائيا.
يتم ضمن هذه المرحلة مقارنة النتائج التي تم التوصل إليها مع معيار القبول أو الإنهاء التي تم الاتفاق عليها في مرحلة التخطيط للفحص، وإصدار التقارير المتعلقة باتخاذ القرارات المتعددة للمعنين بالبرمجية تحت الفحص.
يتم ضمن هذه المرحلة القيام بعدة نشاطات يكون الغرض منها الاحتفاظ بالوثائق والبيانات الناتجة من عملية الفحص ضمن المكان المخصص لذلك، حيث يتم الاستفادة من هذه الوثائق والبيانات في مشاريع قادمة. علاوة على ذلك يتم ضمن هذه المرحلة إغلاق جميع المتعلقات المفتوحة واتخاذ الإجراءات فيما يخصها.
تعامل هذه الطريقة البرنامج على أنه صندوق أسود بدون فهم سلوكه الداخلي. وتهدف لفحص مزايا البرنامج وقدرته على أداء الوظيفة المطلوبة منه.
الصندوق الأبيض على عكس طريقة الصندوق الأسود، في هذه الطريقة يتمكن القائم بعملية الفحص من الولوج إلى شيفرة البرنامج والإطلاع على مكوناته والخوارزميات المستخدمة فيه، ويعتمد فاحص النظام (المختبِر) في هذه الحالة على هذه المعلومات عن التركيبة الداخلية للنظام أو البرمجية ليفصل خطة اختباره بما يتوافق مع ذلك، وبشكل يستفيد من هذه التفاصيل.
من الممكن لطريقة الصندوق الأبيض ان تستخدم من أجل فحص واختبار وتقييم وتحسين شيفرة البرنامج على أرض الواقع من قبل مبرمجيه الأصليين.
بدأ استخدام مصطلح الصندوق الرمادي في السنوات الأخيرة، حيث تشمل هذه الطريقة إمكانية الوصول إلى الشيفرة الداخلية للبرنامج، بينما تكون عملية فحص ميزات البرنامج من قبل المستخدم الفعلي.