सॉफ्टवेयर परीक्षण के साथ एक मुख्य समस्या है कि इनपुट और प्री-कंडीशन (प्रारम्भिक स्थिति) के "सारे" कॉम्बिनेशन के अन्तर्गत परीक्षण संभव नहीं है, यहाँ तक कि एक सामान्य उत्पाद के साथ भी नहीं। इसका मतलब है कि सॉफ्टवेयर उत्पाद में दोषों की संख्या काफी अधिक हो सकती हैं और जो दोष कभी-कभी होते हैं उन्हें परीक्षण में खोजना मुश्किल है। अधिक महत्वपूर्ण रूप से, गुणवत्ता के ग़ैर-कार्यात्मक आयाम (इसे कैसा "होना" चाहिए बनाम इसे क्या "करना" चाहिए)- उपयोग-क्षमता, आरोहण-क्षमता, निष्पादन, संगतता, विश्वसनीयता-अत्यंत व्यक्तिपरक हो सकते हैं; कुछ ऐसा, जो एक व्यक्ति के लिए पर्याप्त मूल्य का गठन करता है, जो दूसरे के लिए असहनीय है।

यूनिट परीक्षण
इंटीग्रेशन परीक्षण
इनपुट कॉम्बिनेशन और प्री-कंडीशन
शीघ्र ग़लतियाँ खोजना