यह दिखाने के लिए कि अंतर्निहित सिस्टम या तो निर्दोष हैं
क) सबूत की जरूरत है कि वे निर्दोष हैं
- गणितीय प्रमाण
- तुच्छ कार्यक्रमों के लिए केवल वास्तविक रूप से संभव है
बी) एक संपूर्ण परीक्षण करें
- केवल तुच्छ कार्यक्रमों और कुछ सरल कार्यक्रमों के लिए ही संभव है
- जैसे ही कोई टाइमिंग तत्व टेस्ट में प्रवेश करता है वैसे ही एग्जॉस्ट टेस्ट करना संभव नहीं होता क्योंकि समय को अनिश्चित रूप से विभाजित किया जा सकता है।
- तुच्छ कार्यक्रमों से परे संभावित निष्पादन विकल्प तेजी से विस्फोट होते हैं।
सॉफ्टवेयर परीक्षण में संपूर्ण परीक्षण केवल कुछ सरल कार्यों की इकाई परीक्षण में उपयोग किया जाता है।
उदाहरण: आप किसी क्षेत्र में 8 वर्ण utf-8 इनपुट का परीक्षण करना चाहते हैं, आप इनपुट को कट करने के लिए 8 गुना बाइट्स में utf-8 की अधिकतम लंबाई 6 गुना करने का विकल्प बनाते हैं जो वास्तव में 8 * 6 = 48 बाइट देता है संभावनाओं की परिमित मात्रा।
अब आप सोच सकते हैं कि आपको केवल 8 वर्णों में से प्रत्येक के 1,112,064 वैध कोड बिंदुओं का परीक्षण करने की आवश्यकता है , अर्थात। 1,112,064 ^ 8 (कहते हैं 10 ^ 48) परीक्षण (जो पहले से ही संभव नहीं है), लेकिन आपको वास्तव में 48 बाइट्स या 256 ^ 48 में से प्रत्येक के प्रत्येक मूल्य का परीक्षण करना होगा जो लगभग 10 ^ 120 है जो शतरंज के समान ही जटिलता है लगभग 10 ^ 80 के ब्रह्मांड में परमाणुओं की कुल संख्या की तुलना में।
इसके बजाय आप उपयोग कर सकते हैं, प्रयास के बढ़ते क्रम में और प्रत्येक परीक्षण में पिछले सभी को शामिल करना चाहिए:
a) एक अच्छे और बुरे नमूने का परीक्षण करें।
बी) कोड कवरेज, यानी। कोड की प्रत्येक पंक्ति का परीक्षण करने का प्रयास करें, जो कि अधिकांश कोड के लिए सापेक्ष सरल है। अब आप आश्चर्य कर सकते हैं कि आपके द्वारा परीक्षण नहीं किया जा सकने वाला कोड का अंतिम 1% क्या है ... बग, मृत कोड, हार्डवेयर अपवाद आदि।
ग) पथ कवरेज, सभी संयोजनों में सभी शाखाओं के सभी परिणामों का परीक्षण किया जाता है। अब आप जानते हैं कि जब आपके कार्यों में 10 से अधिक शर्तें होती हैं तो परीक्षण विभाग आपसे घृणा क्यों करता है। इसके अलावा आपको आश्चर्य है कि अंतिम 1% का परीक्षण क्यों नहीं किया जा सकता है ... कुछ शाखाओं को पिछली शाखाओं पर निर्भर किया गया है।
डी) डेटा परीक्षण, सीमा मूल्य, सामान्य समस्याग्रस्त मूल्यों और जादू की संख्या, शून्य, -1, 1, न्यूनतम +/- 1, अधिकतम +/- 1, 42, rnd मान के साथ कई नमूने का परीक्षण करें। यदि यह आपको पथ कवरेज नहीं देता है, तो आप जानते हैं कि आपने अपने विश्लेषण में सभी मूल्यों को नहीं पकड़ा है।
यदि आप पहले से ही ऐसा करते हैं तो आपको ISTQB फाउंडेशन परीक्षा के लिए तैयार होना चाहिए।