इस प्रकार उत्तरों के ढेरों के बीच किसी ने भी हाथ में सवाल के जवाब में महत्वपूर्ण विभाजन और सीमा मूल्य विश्लेषण , महत्वपूर्ण विचारों को नहीं छुआ है । अन्य सभी उत्तर, जबकि उपयोगी, गुणात्मक हैं, लेकिन यह संभव है - और बेहतर - यहां मात्रात्मक होना। @fishtoaster कुछ ठोस दिशा निर्देश प्रदान करता है, बस परीक्षण परिमाण के कवर के तहत झांकता है, लेकिन तुल्यता विभाजन और सीमा मूल्य विश्लेषण हमें बेहतर करने की अनुमति देता है।
में तुल्यता विभाजन , आप अपेक्षित परिणाम के आधार पर समूहों में सभी संभव आदानों के सेट विभाजित करते हैं। एक समूह के किसी भी इनपुट से समकक्ष परिणाम मिलेंगे, इस प्रकार ऐसे समूहों को समतुल्य कक्षाएं कहा जाता है । (ध्यान दें कि समान परिणाम का मतलब समान परिणाम नहीं है।)
एक साधारण उदाहरण के रूप में एक प्रोग्राम पर विचार करें जो कि लोअरकेस ASCII वर्णों को अपरकेस वर्णों में बदलना चाहिए। अन्य पात्रों को पहचान परिवर्तन से गुजरना चाहिए, अर्थात अपरिवर्तित रहना चाहिए। यहाँ तुल्यता वर्गों में एक संभावित टूट है:
| # | Equivalence class | Input | Output | # test cases |
+------------------------------------------------------------------------+
| 1 | Lowercase letter | a - z | A - Z | 26 |
| 2 | Uppercase letter | A - Z | A - Z | 26 |
| 3 | Non-alphabetic chars | 0-9!@#,/"... | 0-9!@#,/"... | 42 |
| 4 | Non-printable chars | ^C,^S,TAB... | ^C,^S,TAB... | 34 |
यदि आप उन सभी की गणना करते हैं, तो अंतिम कॉलम परीक्षण मामलों की संख्या की रिपोर्ट करता है। तकनीकी रूप से, @ फिशटोस्टर के नियम 1 के अनुसार, आप 52 परीक्षण मामलों को शामिल करेंगे - जो ऊपर दी गई पहली दो पंक्तियों के लिए "सामान्य मामले" के अंतर्गत आते हैं। @ फिशटोस्टर का नियम 2 पंक्तियों 3 और 4 से कुछ या सभी को जोड़ देगा। लेकिन समतुल्यता विभाजन के साथ प्रत्येक समकक्ष वर्ग में किसी एक परीक्षण मामले का परीक्षण पर्याप्त है। यदि आप "a" या "g" या "w" चुनते हैं तो आप समान कोड पथ का परीक्षण कर रहे हैं। इस प्रकार, आपके पास 52 + के बजाय कुल 4 परीक्षण मामले हैं।
सीमा मूल्य विश्लेषण एक मामूली शोधन की सिफारिश करता है: अनिवार्य रूप से यह बताता है कि एक समतुल्य वर्ग का प्रत्येक सदस्य, अच्छी तरह से, समतुल्य नहीं है। यही है, सीमाओं पर मूल्यों को भी अपने आप में एक परीक्षण मामले के योग्य माना जाना चाहिए। (इसके लिए एक आसान औचित्य कुख्यात ऑफ-बाय-वन त्रुटि है !) इस प्रकार, प्रत्येक तुल्यता वर्ग के लिए आपके पास दो इनपुट हो सकते हैं। उपरोक्त इनपुट डोमेन को देखते हुए - और ASCII मूल्यों के कुछ ज्ञान के साथ - मैं इन परीक्षण मामलों के इनपुट के साथ आ सकता हूं:
| # | Input | # test cases |
| 1 | a, w, z | 3 |
| 2 | A, E, Z | 3 |
| 3 | 0, 5, 9, !, @, *, ~ | 7 |
| 4 | nul, esc, space, del | 4 |
(जैसे ही आपको 3 से अधिक सीमा मूल्य मिलते हैं, जो सुझाव देते हैं कि आप अपने मूल समतुल्य श्रेणी के पुनर्विचारों को पुनर्विचार करना चाह सकते हैं, लेकिन यह काफी सरल था कि मैं उन्हें संशोधित करने के लिए वापस नहीं गया।) इस प्रकार, सीमा मूल्य विश्लेषण हमें सिर्फ ऊपर लाता है। 17 परीक्षण मामले - संपूर्ण कवरेज के उच्च आत्मविश्वास के साथ - संपूर्ण परीक्षण करने के लिए 128 परीक्षण मामलों की तुलना में। (इस बात का उल्लेख नहीं है कि कॉम्बिनेटरिक्स यह सुनिश्चित करते हैं कि संपूर्ण परीक्षण किसी भी वास्तविक दुनिया के अनुप्रयोग के लिए बस संभव है!)