वर्गीकरण वृक्ष विधि

वर्गीकरण वृक्ष विधि परीक्षण अभिकल्पना के लिए एक विधि है, क्योंकि इसका उपयोग सॉफ्टवेयर विकास के विभिन्न क्षेत्रों में किया जाता है। इसे 1993 में Grimm और Grochtmann द्वारा विकसित किया गया था। वर्गीकरण वृक्ष विधि के संदर्भ में वर्गीकरण वृक्ष को निर्णय वृक्ष के साथ विभ्रांत नहीं होना चाहिए।

वर्गीकरण वृक्ष विधि में दो प्रमुख चरण होते हैं:
 * 1) परीक्षण प्रासंगिक पहलुओं की पहचान (तथाकथित वर्गीकरण) और उनके संबंधित मूल्य (जिन्हें वर्ग कहा जाता है) और साथ ही
 * 2) परीक्षण प्रकरण में सभी वर्गीकरणों से विभिन्न वर्गों का संयोजन।

परीक्षण प्रासंगिक पहलुओं की पहचान सामान्यतः परीक्षण के अंतर्गत प्रणाली के (कार्यात्मक) विनिर्देश (जैसे आवश्यकताओं, उपयोग प्रकरणो ...) का विशेष विवरण करती है। ये पहलू परीक्षण वस्तु के निवेश और प्रक्षेपण डेटा स्थान का निर्माण करते हैं।

परीक्षण अभिकल्पना का दूसरा चरण तब संयोजी परीक्षण अभिकल्पना के सिद्धांतों का अनुसरण करता है।

जबकि विधि को कलम और काग़ज़ का उपयोग करके उपयोजित किया जा सकता है, सामान्य प्रकार में वर्गीकरण वृक्ष विधि का उपयोग सम्मिलित है, जो वर्गीकरण वृक्ष विधि को उपयोजित करने वाला एक सॉफ्टवेयर साधन है।

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

परीक्षण के अंतर्गत एक चयनित प्रणाली के साथ, वर्गीकरण वृक्ष विधि का पहला चरण परीक्षण प्रासंगिक पहलुओं की पहचान है। परीक्षण के अंतर्गत किसी भी प्रणाली को वर्गीकरण के एक समुच्चय द्वारा वर्णित किया जा सकता है, जिसमें निवेश और प्रक्षेपण प्राचल दोनों सम्मिलित हैं। (निवेश प्राचल में वातावरण की स्थिति, पूर्व प्रतिबंध और अन्य, असामान्य प्राचल भी सम्मिलित हो सकते हैं)। प्राचल की उपस्थिति का वर्णन करते हुए प्रत्येक वर्गीकरण में कई अलग-अलग वर्ग हो सकते हैं। वर्गों का चयन सामान्यतः ठोस परीक्षण प्रकरणो के लिए सार परीक्षण प्रकरणो और सीमा-मूल्य विश्लेषण के लिए समकक्ष विभाजन के सिद्धांत का पालन करता है। सभी वर्गीकरण के साथ वर्गीकरण वृक्ष बनाते हैं। शब्दार्थ उद्देश्य के लिए, वर्गीकरण को रचनाओं में बांटा जा सकता है।

परीक्षण प्रकरणो की अधिकतम संख्या वृक्ष में सभी वर्गीकरणों के सभी वर्गों का कार्टेशियन उत्पाद है, जिसके परिणामस्वरूप यथार्थवादी परीक्षण समस्याओं के लिए बड़ी संख्या में परिणाम मिलते हैं। परीक्षण प्रकरणो की न्यूनतम संख्या वर्गीकरण में वर्गों की संख्या है जिसमें सबसे अधिक वर्ग हैं।

दूसरे चरण में, वर्गीकरण वृक्ष के प्रत्येक वर्गीकरण से ठीक एक वर्ग का चयन करके परीक्षण प्रकरणो की रचना की जाती है। मूल रूप से परीक्षण प्रकरणो का चयन परीक्षण अभियन्ता द्वारा किया जाने वाला एक हस्तेन कार्य था।

उदाहरण
डेटाबेस प्रणाली के लिए, परीक्षण अभिकल्पना का प्रदर्शन किया जाना है। वर्गीकरण वृक्ष विधि को उपयोजित करते हुए, परीक्षण प्रासंगिक पहलुओं की पहचान वर्गीकरण देती है: उपयोगकर्ता विशेषाधिकार, संचालन और अभिगम विधि। उपयोगकर्ता विशेषाधिकारों के लिए, दो वर्गों की पहचान की जा सकती है: नियमित उपयोगकर्ता और प्रशासक उपयोगकर्ता। तीन संचालन हैं: जोड़ें, संपादित करें और हटाएं। अभिगम विधि के लिए, फिर से तीन वर्गों की पहचान की जाती है: मूल उपकरण, वेब ब्राउज़र, एपीआई। वेब ब्राउजर वर्ग को परीक्षण पहलू ब्रांड के साथ और परिष्कृत किया गया है, यहां तीन संभावित वर्ग सम्मिलित हैं: इंटरनेट एक्सप्लोरर, मोज़िला फ़ायरफ़ॉक्स और एप्पल सफारी।

वर्गीकरण वृक्ष विधि का पहला चरण अब पूरा हो गया है। निस्सन्देह, सम्मिलित करने के लिए और भी संभावित परीक्षण पहलू हैं, उदा. संयोजन की अभिगम गति, डेटाबेस में उपस्थित डेटाबेस अभिलेख की संख्या, आदि। एक वृक्ष के संदर्भ में चित्रमय प्रतिनिधित्व का उपयोग करके, चयनित पहलुओं और उनके संबंधित मूल्यों की शीघ्रता से समीक्षा की जा सकती है।

आँकड़ों के लिए, कुल 30 संभावित परीक्षण प्रकरण हैं (2 विशेषाधिकार * 3 संचालन * 5 अभिगम विधियाँ)। न्यूनतम व्यापकता के लिए, 5 परीक्षण प्रणाली पर्याप्त हैं, क्योंकि 5 अभिगम विधियाँ हैं (और अभिगम विधि वह वर्गीकरण है जिसमें सबसे अधिक संख्या में असंयुक्त वर्ग हैं)।

दूसरे चरण में, तीन परीक्षण प्रकरण हस्तेन रूप से चयन किए गए हैं:
 * 1) एक नियमित उपयोगकर्ता मूल उपकरण का उपयोग करके डेटाबेस में एक नया डेटा समुच्चय जोड़ता है।
 * 2) व्यवस्थापक उपयोगकर्ता फ़ायरफ़ॉक्स ब्राउज़र का उपयोग कर उपस्थित डेटा समुच्चय संपादित करता है।
 * 3) एक नियमित उपयोगकर्ता एपीआई का उपयोग करके डेटाबेस से डेटा समुच्चय को हटा देता है।

पृष्ठभूमि
सीटीएम ने ऑस्ट्रैंड और बालसर द्वारा श्रेणी विभाजन विधि पर निम्नलिखित लाभ प्रस्तुत किए:
 * अंकन: सीपीएम में केवल एक शाब्दिक संकेतन था, जबकि सीटीएम एक चित्रमय, वृक्ष के आकार का प्रतिनिधित्व करता है।
 * परिशोधन एक प्रतिनिधि का चयन करने से अन्य प्रतिनिधियों की घटना पर प्रभाव पड़ सकता है।
 * सीपीएम केवल इस परिदृश्य को संभालने के लिए प्रतिबंध प्रदान करता है।
 * CTM वर्गीकरण वृक्ष में पदानुक्रमिक परिशोधन की प्रतिरूपण की अनुमति देता है, जिसे 'अंतर्निहित निर्भरता' भी कहा जाता है।


 * उपकरण समर्थन: ऑस्ट्रैंड और बाल्सर द्वारा प्रस्तुत उपकरण केवल परीक्षण प्रकरण उत्पादन का समर्थन करता है, लेकिन स्वयं विभाजन का नहीं।
 * ग्रोचटमैन और वेगेनर ने अपना उपकरण, वर्गीकरण वृक्ष विधि (सीटीई) प्रस्तुत किया, जो विभाजन के साथ-साथ परीक्षण प्रकरण उत्पादन दोनों का समर्थन करता है।



अंतः स्थापित प्रणाली के लिए वर्गीकरण वृक्ष विधि
वर्गीकरण वृक्ष विधि पहले सार परीक्षण प्रकरणो के अभिकल्पना और विनिर्देश के लिए अभिप्रेत थी। अंतः स्थापित प्रणाली के लिए वर्गीकरण वृक्ष विधि के साथ, परीक्षण कार्यान्वयन भी किया जा सकता है। कई अतिरिक्त विशेषताएं विधि के साथ एकीकृत हैं: मॉड्यूल और इकाई परीक्षण उपकरण टेस्सी इस प्रसार पर निर्भर करते है।
 * 1) परमाणु परीक्षण प्रकरणो के अलावा, कई परीक्षण पद वाले परीक्षण अनुक्रमों को निर्दिष्ट किया जा सकता है।
 * 2) प्रत्येक परीक्षण पद के लिए एक ठोस समय (जैसे सेकंड, मिनट ...) निर्दिष्ट किया जा सकता है।
 * 3) विभिन्न परीक्षण पद के चयनित वर्गों के मध्य संकेत परिवर्तन (जैसे रैखिक, स्प्लाइन, साइन ...) निर्दिष्ट किया जा सकता है।
 * 4) घटना और स्थिति के मध्य एक अंतर को मॉडल किया जा सकता है, एक परीक्षण में विभिन्न दृश्य चिह्नों द्वारा दर्शाया गया है।

निर्भरता नियम और स्वचालित परीक्षण प्रकरण उत्पादन
प्रतिरूपण बाधाओं का एक प्रकार वर्गीकरण वृक्ष विधि में शोधन तंत्र का उपयोग कर रहा है। तथापि, यह विभिन्न वर्गीकरणों के वर्गों के मध्य प्रतिरूपण बाधाओं की अनुमति नहीं देता है। लेहमन और वेगेनर ने सीटीई के अपने अवतरण के साथ बूलियन अभिव्यक्तियों पर आधारित निर्भरता नियम प्रस्तुत किए। आगे की विशेषताओं में मिश्रित परीक्षण अभिकल्पना (उदाहरण के लिए सभी जोड़े परीक्षण) का उपयोग करके परीक्षण सूट की स्वचालित पीढ़ी सम्मिलित है।

प्राथमिकता परीक्षण प्रकरण उत्पादन
वर्गीकरण वृक्ष विधि में अभिनव संवर्द्धन में प्राथमिकता परीक्षण प्रकरण निर्माण सम्मिलित है: घटना और त्रुटि संभावना या जोखिम के संदर्भ में वर्गीकरण वृक्ष के तत्वों को भार देना संभव है। परीक्षण प्रकरणो को प्राथमिकता देने के लिए परीक्षण प्रकरण निर्माण के समय इन भारों का उपयोग किया जाता है। असतत संभाव्यता वितरण के रूप में तत्व भार की व्याख्या करके सांख्यिकीय परीक्षण भी उपलब्ध है (उदाहरण के लिए पहनने और श्रांति परीक्षणों के लिए)।

परीक्षण अनुक्रम उत्पादन
एक वर्गीकरण के अलग-अलग वर्गों के मध्य मान्य संक्रमणों को जोड़ने के साथ, वर्गीकरण को स्थिति यंत्र के रूप में व्याख्या किया जा सकता है, और इसलिए पूरे वर्गीकरण वृक्ष को एक स्टेटचार्ट के रूप में समझा जा सकता है। यह परीक्षण चरणों में वर्ग के उपयोग के अनुमत क्रम को परिभाषित करता है और स्वचालित रूप से परीक्षण अनुक्रम बनाने की अनुमति देता है। विभिन्न विस्तृत स्तर उपलब्ध हैं, जैसे स्थिति विस्तृत, मूल विस्तृत, स्थिति जोड़े और संक्रमण जोड़े का विस्तृत।

संख्यात्मक प्रतिबंध
बूलियन आश्रयता नियम के अलावा, वर्गीकरण वृक्ष के वर्गो को संबंधित करते हुए, संख्यात्मक बाध्यताएं, परिवर्ती के रूप में वर्गीकरण के साथ सूत्रों को निर्दिष्ट करने की अनुमति देते हैं, जो एक परीक्षण प्रकरण में चयनित वर्ग का मूल्यांकन करेगा।

वर्गीकरण वृक्ष संपादक
वर्गीकरण वृक्ष संपादक (सीटीई) परीक्षण अभिकल्पना के लिए एक सॉफ्टवेयर उपकरण है जो वर्गीकरण वृक्ष विधि को उपयोजित करता है।

समय के साथ, सीटीई उपकरण के कई संस्करण सामने आए हैं, जो कई (उस समय तक लोकप्रिय) क्रमादेशन भाषा में लिखे गए हैं और कई कंपनियों द्वारा विकसित किए गए हैं।

सीटीई 1
सीटीई का मूल संस्करण बर्लिन में डेमलर बेंज औद्योगिक अनुसंधान सुविधाओं में विकसित किया गया था।  बर्लिन में सुविधाएं। यह 1993 में प्रदर्शित हुआ और पास्कल में लिखा गया था। यह केवल यूनिक्स प्रणाली पर उपलब्ध था।

सीटीई 2
1997 में एक प्रमुख पुनर्कार्यान्वयन किया गया, जिससे सीटीई 2 का निर्माण हुआ। विकास फिर से डेमलर-बेंज औद्योगिक अनुसंधान में था। यह C (प्रोग्रामिंग भाषा) में लिखा गया था और win32 प्रणाली के लिए उपलब्ध था।

सीटीई 2 को 1997 में Razorcat को लाइसेंस दिया गया था और यह TESSY इकाई परीक्षण उपकरण का भाग है। अंतः स्थापित प्रणाली के लिए वर्गीकरण वृक्ष संपादक भी इस संस्करण पर आधारित है।

Razorcat 2001 से सीटीई का विकास कर रहा है और सीटीई ने 2003 में एक ब्रांड नाम पंजीकृत किया है।

अंतिम संस्करण सीटीई 3.2 को 2016 में TESSY 4.0 उपकरण के साथ प्रकाशित किया गया था। नीचे दी गई संस्करण तालिका पर ध्यान दें।

सीटीई 4
सीटीई 4 को TESSY 4.1.7 में 2018 में प्रच्छन्न प्लगनीय के रूप में उपयोजित किया गया था। नवीनतम सीटीई 4 संस्करण अभी भी 2021 में TESSY 4.3 के भाग के रूप में विकसित किया जा रहा है।

सीटीई एक्सएल
2000 में, लेहमन और वेगेनर ने सीटीई, सीटीई एक्सएल (एक्सटेंडेड लॉजिक्स) के अपने अवतार के साथ निर्भरता नियम प्रस्तुत किए।  आगे की विशेषताओं में मिश्रित परीक्षण अभिकल्पना (उदाहरण के लिए सभी जोड़े परीक्षण) का उपयोग करके परीक्षण सूट की स्वचालित पीढ़ी सम्मिलित है।

विकास डेमलर क्रिसलर द्वारा किया गया था। सीटीई XL जावा में लिखा गया था और win32 प्रणाली पर समर्थित था। सीटीई एक्सएल मुफ्त डाउनलोड के लिए उपलब्ध था।

2008 में, बर्नर और मैटनर ने सीटीई एक्सएल पर सभी अधिकार हासिल कर लिए और सीटीई एक्सएल 1.9.4 तक विकास जारी रखा।

सीटीई एक्सएल व्यवसायिक
2010 में प्रारम्भ होकर, सीटीई एक्सएल व्यवसायिक को बर्नर और मैटनर द्वारा विकसित किया गया था। जावा का उपयोग करते हुए एक पूर्ण पुन: कार्यान्वयन किया गया था, लेकिन इस बार एक्लिप्स आधारित था। सीटीई एक्सएल व्यवसायिक win32 और win64 प्रणाली पर उपलब्ध था।

नए विकास में सम्मिलित हैं:
 * प्राथमिकता परीक्षण प्रकरण निर्माण: घटना और त्रुटि संभावना या जोखिम के संदर्भ में वर्गीकरण वृक्ष के तत्वों को भार देना संभव है। परीक्षण प्रकरणो को प्राथमिकता देने के लिए परीक्षण प्रकरण निर्माण के समय इन भारों का उपयोग किया जाता है। जोखिम-आधारित और सांख्यिकीय परीक्षण भी उपलब्ध है।
 * परीक्षण अनुक्रम उत्पादन बहु-साधक प्रणाली का उपयोग करके परीक्षण अनुक्रम उत्पादन
 * संख्यात्मक प्रतिबंध

टेस्टोना
2014 में, बर्नर और मैटनर ने टेस्टोना ब्रांड नाम के अंतर्गत अपने वर्गीकरण वृक्ष संपादक को जारी करना प्रारंभ कर दिया।

टेस्टोना का मुफ्त संस्करण अभी भी मुफ्त डाउनलोड के लिए उपलब्ध है, तथापि, कम कार्यक्षमता के साथ।

लाभ

 * परीक्षण प्रासंगिक पहलुओं का चित्रमय प्रतिनिधित्व
 * प्रासंगिक परीक्षण पहलुओं की पहचान और परीक्षण प्रकरणो में उनके संयोजन दोनों के लिए विधि

सीमाएं

 * जब उचित परीक्षण अपघटन के बिना वर्गीकरण वृक्ष विधि के साथ परीक्षण अभिकल्पना किया जाता है, तो वर्गीकरण वृक्ष बड़े और बोझिल हो सकते हैं।
 * नए उपयोगकर्ता बहुत अधिक (विशेष रूप से अप्रासंगिक) परीक्षण पहलुओं को सम्मिलित करते हैं जिसके परिणामस्वरूप बहुत अधिक परीक्षण प्रकरण होते हैं।
 * परीक्षण प्रासंगिक पहलुओं के चयन के लिए कोई एल्गोरिदम या पूर्णतः मार्गदर्शन नहीं है।

बाहरी संबंध

 * Systematic Testing