2010-04-30 16 views
6

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

उत्तर

8

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

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

यूनिट परीक्षण अच्छी तरह से काम करता है क्योंकि बड़ी संख्या में निष्पादन होते हैं - प्रत्येक मामूली परिवर्तन या रिफैक्टरिंग के साथ आप यह सुनिश्चित करना चाहते हैं कि कोई नई विफलता न हो।

स्वीकार्यता परीक्षण कम है क्योंकि बार-बार निष्पादन की संभावना परियोजना से परियोजना में महत्वपूर्ण रूप से बदलती है, और व्यावसायिक आवश्यकताओं को दीर्घकालिक समर्थन और रखरखाव के मुद्दों को प्रभावित करते हैं।

यदि एक परियोजना स्वीकृति परीक्षण पास करने के बाद वितरित की जाती है और कोई और समर्थन या परिवर्तन नहीं होता है, तो स्वचालित स्वीकृति परीक्षण तब तक समझ में नहीं आता जब तक कि स्वचालित परीक्षणों का उत्पादन करना बहुत सस्ता न हो।

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

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

अप का पालन करें:

IMHO यह महत्वपूर्ण है करने के लिए पहले की है बहुत स्पष्ट और पूर्ण कदम-दर-कदम परीक्षण की योजना (एक अच्छा क्यूए व्यक्ति या टीम यहां महत्वपूर्ण है)। स्वीकृति परीक्षण के मामले में, ग्राहक अपना स्वयं का प्रदान कर सकते हैं या क्यूए को अपने ग्राहकों को प्रदान करना होगा। मेरा मानना ​​है कि एक परीक्षण योजना अक्सर अनुबंध का हिस्सा होना चाहिए।

एक बार आपके पास यह हो जाने के बाद, यह अनुमान लगाना आसान है कि इसे चलाने के लिए मानव कितना समय लगेगा (और आप मानव को खोजने के लिए प्रयोग कर सकते हैं)। ध्यान देने के लिए महत्वपूर्ण है कि किन कदमों को "कड़वाहट काम" की आवश्यकता होती है, और वास्तविक कदमों या विवेक के लिए किन कदमों की आवश्यकता होती है।

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

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

+0

धन्यवाद, बिल्कुल मेरे विचार :) हालांकि मैंने एक वास्तविक परिदृश्य के बारे में नहीं सोचा था जहां स्वीकृति चलाने के लिए यह उपयोगी होगा अधिक बार परीक्षण करता है। मेरे पास अभी भी कुछ प्रश्न हैं: मैन्युअल परीक्षण बनाम स्वचालित परीक्षण की लागत का निर्धारण कैसे करें? क्या आपने मॉडल-आधारित परीक्षण के बारे में अपने परिदृश्य में सोचा है? –

+1

गेब्रियल, आईएमएचओ सबसे महत्वपूर्ण है कि पहले चरण-दर-चरण परीक्षण योजनाएं पूरी हो जाएं (एक अच्छा क्यूए व्यक्ति यहां उपयोगी है)। एक बार आपके पास यह हो जाने के बाद, यह अनुमान लगाना आसान है कि मानव इसे चलाने में कितना समय लगेगा (और आप मानव पर प्रयोग कर सकते हैं)। यदि समय बहुत लंबा है, तो आप स्वचालित करने के लिए लागत का इंजीनियरिंग विश्लेषण करते हैं। यह अक्सर काफी अंतर्ज्ञानी होता है हालांकि इसे चीजों को और अधिक टेस्ट करने योग्य बनाने के लिए बुनियादी ढांचे में कुछ बदलावों की आवश्यकता हो सकती है। – Uri

+0

वास्तव में, मुझे लगता है कि टेस्टेबिलिटी शुरुआत से ही एक वास्तुशिल्प आवश्यकता होनी चाहिए, धन्यवाद, कि अंतिम पैराग्राफ ने मेरा उत्तर स्वीकृति परीक्षण पास किया है :)। –

3

स्वीकृति परीक्षण स्वचालित करने के क्या फायदे हैं?

मैं अक्सर एक आदमी की दुकान हूं, इसलिए मेरे परिप्रेक्ष्य से प्राथमिक लाभ मशीनों के बजाय यह करता है।

+0

सीखने के परीक्षण ढांचे, परीक्षण पुस्तकालय लिखना और स्वचालित परीक्षणों को मैन्युअल रूप से परीक्षण से बिल्कुल आसान कैसे लिखना है? मुझे लगता है कि सबसे बड़ी समस्या यह है कि स्वीकृति परीक्षण अक्सर एक बार चलाया जाता है, क्या मैं सही हूँ? –

+0

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

+0

@ गैब्रियल - भी, स्वीकृति परीक्षण की मेरी परिभाषा में कुछ हद तक धूम्रपान परीक्षण और कार्यात्मक परीक्षण में किनारों को शामिल किया गया है, इसलिए मैं अपनी परिभाषा को कम कर सकता हूं। मुझे क्या पता है, वैसे भी? ;-) –

3

स्वचालित स्वीकृति परीक्षण लिखना बड़े लाभ प्राप्त कर सकता है। विशेष रूप से, यह होगा:

  • एक उत्पाद है जो स्थिर
  • कम रखरखाव लागत
  • जोखिम और परिवर्तन के डर
  • तेजी के लिए अनुमति दें कम साबित हुआ है में ग्राहक आत्मविश्वास और अधिक सस्ता परिवर्तन में सुधार सिस्टम

जबकि आप अब आवेदन से 100% परिचित हो सकते हैं, इसे कुछ महीनों या वर्षों तक नीचे डालने का प्रयास करें और परिवर्तन करने के लिए इसे वापस आएं। मेरा विश्वास करो, यह साबित करने के लिए परीक्षणों का एक सूट चलाने में सक्षम होना बहुत आसान है कि आपके नए बदलावों ने कुछ भी तोड़ा नहीं है।

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

लागत के बारे में खुद को बच्चा मत बनो। हां, स्वचालित स्वीकृति परीक्षण सूट लिखने और बनाए रखने में समय, प्रतिबद्धता और ऊर्जा होती है। लेकिन यह विकल्प से सस्ता है जो कोई परीक्षण नहीं है और कोई विचार नहीं कि क्या होता है यदि आप कुछ बदलते हैं और इसका क्या नॉकन प्रभाव होता है। आपके ग्राहक का विश्वास क्या है? भेज दिए जाने के बाद एक बग फिक्स करने की वास्तविक लागत क्या है?

+0

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

+0

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

+0

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

संबंधित मुद्दे