इस उत्तर को लिखते समय, मुझे एहसास हुआ कि यह परीक्षण के बारे में नहीं है, यह प्रलेखन के बारे में है। आपको पहले चुस्त घोषणापत्र पढ़ना चाहिए :
[हम मूल्य] व्यापक प्रलेखन पर काम कर रहे सॉफ्टवेयर
इसलिए, आपको अपने विनिर्देशों को निष्पादन योग्य बनाना चाहिए, अर्थात उन्हें पूरी तरह से स्वचालित परीक्षणों के सेट के रूप में लिखना चाहिए।
क्या कहानियों को लिखना एक अच्छा विचार है?
हाँ, imho, यह है। इसे "व्यवहार चालित विकास" या "उदाहरण के द्वारा विनिर्देशन" कहा जाता है। रूबी में एक महान उपकरण ककड़ी है जो उस में मदद करता है।
अब समस्या यह है कि क्योंकि बहुत सारी कहानियां हैं, यह तुरंत स्पष्ट नहीं है, सिस्टम के किसी भी हिस्से के लिए जो कहानियां इससे संबंधित हैं।
आप इसे स्पष्ट क्यों करना चाहते हैं? मेरा मतलब है, क्या आपको वास्तव में "टेस्ट / कोड" ट्रैसेबिलिटी मैट्रिक्स की आवश्यकता है? एक विनिर्देश के रूप में परीक्षण लिखने का लाभ यह है कि आपको अलग-अलग "आवश्यकताओं / परीक्षणों" की आवश्यकता नहीं है, क्योंकि परीक्षण आवश्यकता बन जाते हैं। एकीकरण परीक्षण के प्रयोजनों के लिए आपको अपने सॉफ़्टवेयर को एक पूरे के रूप में व्यवहार करना चाहिए, न कि अलग-अलग भागों के रूप में।
आपको यह देखने के लिए कवरेज उपकरण की आवश्यकता हो सकती है कि क्या "मृत" मॉड्यूल हैं, आपके सिस्टम के कुछ हिस्सों को आपके विनिर्देश परीक्षणों द्वारा कवर नहीं किया गया है। लेकिन आपको वास्तव में परवाह नहीं करनी चाहिए कि यह विशेष कोड किस विनिर्देश से मेल खाता है। यह इसके विपरीत होना चाहिए: एक विशेष विनिर्देश से आपको पता होना चाहिए कि सिस्टम का कौन सा हिस्सा इसके अनुरूप है। आपको अपने विनिर्देशों में कुछ दोहराव के बारे में चिंता नहीं करनी चाहिए। और अगर आप अपने कोड में DRY सिद्धांत लागू करते हैं तो एक ही कोड को निष्पादित करने वाले दर्जनों चश्मा होंगे।
यह डेवलपर्स के समय पर काम करता है, प्रत्येक स्प्रिंट देवों को सिर्फ एक युक्ति प्राप्त होती है कि उन्हें क्या करना है और उन्हें क्या बदलाव करने की आवश्यकता है। लेकिन इस कहानी की सूची को बनाए रखने और परीक्षण के लिए, इसकी शुरुआत वास्तव में कठिन ट्रैकिंग बग और सामान्य रूप से केवल चश्मा बनाए रखने के लिए होती है, क्योंकि स्क्रीन में कार्यक्षमता का एक टुकड़ा कई अलग-अलग स्थानों में होने के कारण इसे प्रलेखित किया जा सकता है। कहानी से अलग।
यह असामान्य नहीं है कि एक महत्वपूर्ण मॉड्यूल में एक छोटे से बदलाव से सैकड़ों एकीकरण परीक्षण टूट जाते हैं। यहीं से यूनिट टेस्टिंग स्टेप्स में आती है।
आपको अपने परीक्षणों की संरचना इस तरह से करनी चाहिए ताकि आप यह बता सकें कि क्या कोई विशेष परीक्षण एक उच्च स्तर की आवश्यकता को कवर करता है, या इसका एक सूक्ष्म विवरण। यदि उत्तरार्द्ध, आपको अपने एकीकरण परीक्षण सूट से इस परीक्षण को अलग करना चाहिए। इकाई परीक्षण का उद्देश्य कीड़े को स्थानीय बनाना है। ताकि यदि आप बग का परिचय देते हैं, तो एक और केवल एक परीक्षण विफलता होगी।
क्या हमने कहानियों को गलत तरीके से लिखा है?
मुझे लगता है, आपको बस अपनी कहानियों को उपयोगकर्ता द्वारा महाकाव्यों में व्यवस्थित करने की आवश्यकता है, जैसे "ग्राहक", "सहायक", या सुविधाओं / स्क्रीन / वर्कफ़्लोज़ ("खरीद", "वापसी") द्वारा।
और फिर, विनिर्देश परीक्षण इकाई परीक्षण के लिए एक प्रतिस्थापन नहीं हैं। अधिक पढ़ें