लेखन स्वीकृति परीक्षण के मामले


14

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

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

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

  • परीक्षण के मामले स्वतंत्र होने चाहिए: लेकिन मैं यह कैसे लागू कर सकता हूं कि यदि अपलोड ऑपरेशन का परीक्षण करने के लिए कनेक्ट ऑपरेशन सफल होना आवश्यक है? और यह लेखन मामलों पर कैसे लागू होता है? क्या मुझे प्रत्येक ऑपरेशन के लिए एक परीक्षण लिखना चाहिए, लेकिन प्रत्येक परीक्षण अपनी निर्भरता की घोषणा करता है, या क्या मुझे प्रत्येक परीक्षण के लिए पूरे परिदृश्य को फिर से लिखना चाहिए?

  • परीक्षण मामलों को हल्के से प्रलेखित किया जाना चाहिए: यह सिद्धांत चुस्त परियोजनाओं के लिए विशिष्ट है। तो क्या आपके पास इस सिद्धांत को लागू करने के बारे में कोई सलाह है?

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

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

जवाबों:


5

मेरी स्वीकृति सुइट्स में, मैं तकनीकी विशिष्ट नियंत्रणों का उपयोग करने से दूर रहा हूं, यानी वेब अनुप्रयोगों के लिए सीएसएस का उपयोग न करें html तत्वों का उपयोग न करें यदि आपको एक फॉर्म भरने की आवश्यकता है, तो चरणों में निर्दिष्ट करें कि वास्तविक स्वीकृति परीक्षण न करें

मैं अपनी स्वीकृति के लिए ककड़ी का उपयोग करता हूं और निम्नलिखित है

Given A xxx 
And I am on the xxx page
And a clear email queue
And I should see "Total Payable xxxx"
And I supply my credit card details
When I the payment has been processed
Then my purchase should be complete
And I should receive an email
When I open the email with subject "xxx"
Then I should see the email delivered from "xx"
And there should be an attachment of type "application/pdf"
And attachment 1 should be named "xxxx"
And I should be on the xxx page
And I should see my receipt

यह उदाहरण एक वेब एप्लिकेशन द्वारा वापस आ गया है लेकिन मैं अभी भी डेस्कटॉप एप्लिकेशन के खिलाफ परीक्षण करने के लिए परीक्षण का उपयोग कर सकता हूं क्योंकि SUT को स्वीकृति परीक्षणों का सेटअप करने के लिए चरणों का उपयोग किया जाता है

यह परीक्षण एक खरीद के अंत में बैठता है जो जाता है

जनरेट -> पुष्टि करें -> भुगतान -> प्रिंट रसीद

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


2

सबसे पहले आपको स्वीकृति परीक्षण को परिभाषित करने की आवश्यकता है ।

आप जो वर्णन करते हैं वह एकीकरण या प्रणाली परीक्षण है

इसलिए जब मैं 100% विकिपीडिया की परिभाषाओं से सहमत नहीं हूं, तब भी वे काफी हद तक मान्य हैं।

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

सवाल पूछने के लिए "सिस्टम का उपयोग कैसे किया जाता है?"। तो इसका उपयोग करने के तरीके को परखें। बेशक अब आप अपनी इंजीनियरिंग टोपी वापस रख देते हैं और अपने परीक्षण मामलों को प्राप्त करने के लिए धार्मिक रूप से व्यावसायिक आवश्यकताओं के माध्यम से जाते हैं। यह मानता है कि आपके पास अच्छी तरह से व्यावसायिक आवश्यकताएं हैं।

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

इसके बारे में जाने का दूसरा तरीका (फिर से अगर आपके पास ऐसा कोई दस्तावेज है) उपयोगकर्ता पुस्तिका के माध्यम से जाना है। यद्यपि यह वास्तविक व्यावसायिक आवश्यकताओं से हटाए गए एक कदम है ताकि केवल उपयोग किया जा सके अगर बाकी सब विफल हो जाए।

जब आप कार खरीदने जाते हैं, तो आप आमतौर पर हुड के नीचे बहुत गहरे नहीं जाते हैं (जब तक कि आप कार मैकेनिक नहीं हैं)। आप बस पहिया पर बैठें और आराम, प्रयोज्य, लग रहा है, लगता है ... यानी सामान्य सामान की जांच करें। आप आम तौर पर भरोसा करते हैं कि यदि कार आपके हाथ में पहली जगह (कम से कम एक नई कार के लिए) मिली है, तो यह आम तौर पर सुरक्षित और अच्छी तरह से निर्मित है (वारंटी है, आपने अपने घर का काम किया है और चश्मा देखा है) ...)। तो अब आप जांच लें कि क्या यह वह कार है जिसे आप अगले कुछ वर्षों तक चलाना चाहेंगे।

सॉफ्टवेयर के साथ भी।


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

क्या आप इस पर भी टिप्पणी कर सकते हैं ? मुझे यह बिंदु पसंद है: पूछने के लिए सवाल "सिस्टम का उपयोग कैसे किया जाता है?"
user1787812

@ user1787812 क्षमा करें, मैं एक उपकरण विशेषज्ञ नहीं हूं। आपका दृष्टिकोण पहली नजर में समझदार लगता है। और आपके पहले टिप्पणीकार के विपरीत, ओएटी सामान्य शब्दावली है।
asoundmove

1

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

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

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

HTH, और शुभकामनाएँ!

के.एम.


0

मुझे लगता है कि आपने पहले से ही कुछ अच्छे मानदंडों को समाप्त कर दिया है। आपका दूसरा बिंदु आपके परीक्षणों के लिए स्कोप को परिभाषित करने का एक अच्छा तरीका है, और मैं त्रुटि स्थितियों और बुफ़े के लिए परीक्षण भी सुझाता हूं (मैं मानता हूं कि प्रत्येक बग फिक्स कम से कम एक नई इकाई परीक्षण के साथ आते हैं)। यह अब भारी लग सकता है, लेकिन बस में गोता लगाएँ, और थोड़ा अनुभव प्राप्त करने के बाद, अच्छे परीक्षणों के लिए जो पहचानता है वह आसान हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.