2012-07-05 10 views
15

दूसरे दिन मैं अपनी कंपनी में टेस्टर्स में से एक को दिखा रहा था, मैंने कुछ परीक्षणों को ककड़ी (2 फीचर्स, 5 परिदृश्य) में लिखा था। फिर उसने मुझसे सवाल पूछा कि मैं जवाब नहीं दे सका:ककड़ी/कैपिबारा बनाम सेलेनियम?

सेलेनियम या किसी अन्य कार्यक्षमता परीक्षण रिकॉर्डिंग टूल से यह बेहतर कैसे है?

मैं समझता हूं कि ककड़ी एक अलग तकनीक है और इसे परीक्षण के एक अलग स्तर पर रखा गया है, लेकिन मुझे समझ में नहीं आ रहा है कि मुझे ककड़ी/कैपिबरा परीक्षणों को लिखने और बनाए रखने के लिए परेशान क्यों होना चाहिए।

क्या कोई मुझे सेलेनियम के बजाय ककड़ी/कैपिबारा का उपयोग करने के लिए उचित स्पष्टीकरण दे सकता है?

उत्तर

14

यह प्रश्न सीमा रेखा है जो एक राय के लिए पूछता है। आपका प्रश्न वास्तव में मुझे पढ़ता है, "मेरे लिए कौन सा उपकरण सही है?" मैं यह इसलिए कहता हूं क्योंकि आपने कारण नहीं दिया कि आपने ककड़ी और कैपिबरा क्यों चुना। मैं उस परीक्षक के प्रश्न का उत्तर देने के लिए विश्वास करता हूं, आपको पहले कुछ और प्रश्नों का उत्तर देने की आवश्यकता है:

1.) प्रक्रिया में आप किस चरण में इन परीक्षणों को लिखने जा रहे हैं?

आपके द्वारा उपयोग की जा रही भाषा के आधार पर ककड़ी यूनिट परीक्षणों के लिए सही विकल्प नहीं हो सकता है। लेकिन इसका उपयोग किसी भी स्तर के परीक्षण के लिए किया जा सकता है, इकाई से एकीकरण तक अंत उपयोगकर्ता तक।

2.) आपके परीक्षणों को बनाए रखने के लिए कौन जा रहा है? आप? अन्य डेवलपर्स? परीक्षक? व्यापार विश्लेषकों? परियोजना प्रबंधक?

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

3.) नए परीक्षणों को परिभाषित करने वाला कौन है?

ककड़ी का विकास विकास, क्यूए और व्यापार मालिकों के बीच सहयोगी रूप से किया जाना है।स्वचालित परीक्षण प्रक्रिया में सभी के ज्ञान का लाभ उठाने के लिए यह एक आदर्श उपकरण है। हालांकि इसे एक सर्वव्यापी भाषा के प्रभाव की आवश्यकता होती है। आप उस पर James Shore's Art of Agile पृष्ठ पर पढ़ सकते हैं।

एक बार जब आप इन सवालों का जवाब देते हैं, तो आप परीक्षक के प्रश्न को संबोधित करने के लिए तैयार हैं।

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

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

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

मैं दृढ़ता से सुझाव देता हूं कि आप The Cucumber Book पढ़ लें। इससे आपको यह तय करने में मदद मिलेगी कि ककड़ी आपके लिए सही विकल्प है या नहीं।

+0

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

+0

दरअसल, सवाल यह है: "मैं ककड़ी का उपयोग क्यों करूं?" – treaz

+0

@treaz ककड़ी "दस्तावेज़ीकरण की भूमिका निभाता है, हितधारकों और आवश्यकताओं के भंडारण के साथ सहयोग करने के लिए एक तंत्र" –

7

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

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

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

0

ककड़ी उपकरण उपयोगकर्ताओं के लिए परीक्षण करने योग्य परीक्षण करने के लिए उपयोग किया जाता है। इसमें सादे अंग्रेजी वाक्य होते हैं जो आपके कैपिबरा चरणों में रेगेक्स का उपयोग करके मेल खाते हैं।

रिकॉर्डिंग टूल का उपयोग करके आप लंबे समय तक कोई अच्छा काम नहीं करेंगे। वे शुरुआती लोगों के लिए थे और वे शक्तिशाली नहीं हैं इसलिए मैं आपको सीधे कोडिंग करने की सलाह देता हूं।

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

+2

क्या व्यवसाय उपयोगकर्ता वास्तव में परीक्षण पढ़ने/लिखने में रुचि रखते हैं? मेरे अनुभव से वे सिर्फ चीजों को काम करना चाहते हैं ... रिकॉर्डिंग टूल शुरुआती के लिए थे -> यदि कोई उपकरण का उपयोग करना आसान होता है तो क्या कोई भी ककड़ी/कैपिबरा सीखने से परेशान होगा? – treaz

+0

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

0

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