ومن المشاكل الاساسية في اختبار البرمجيات ان الاختبار تحت جميع مجموعات المدخلات والشروط الاساسية (الدولة الاولية) غير ممكن, حتى مع منتج بسيط.: 17-18 هذا يعني ان عدد العيوب في منتج البرمجيات يمكن ان يكون كبيرا جدا والعيوب التي تحدث نادرا ما يكون من الصعب العثور عليها في الاختبار. والاهم من ذلك, ان الابعاد غير الوظيفية للجودة (كيف من المفترض ان تكون مقابل ما يجب ان تفعله) -امكانية الاستخدام, امكانية التوسع, الاداء, توافق, الموثوقية- يمكن ان تكون ذاتية للغاية ؛ شيء ما يشكل قيمة كافية للجميع. شخص واحد قد يكون لا يطاق الى شخص اخر.
ما هي الابعاد الاخرى غير الوظيفية التي يمكن ان تتسبب في اعادة تشغيل البرمجيات وتسبب مشاكل اخرى?
امكانية الاستخدام, امكانية التوسع, الاداء, توافق, الموثوقية