तपाईं एक परीक्षण किन स्वचालित गर्नुहुन्छ? हामी परीक्षण स्वचालनको साथ के फाइदा लिन सक्छौं?
प्राय: जब व्यक्तिहरू स्वचालित परीक्षणमा सामेल हुन्छन्, तिनीहरूको मुख्य फोकस राम्रो परीक्षणको डिजाईनबाट बदल्छ यो सुनिश्चित गर्नका लागि कि स्वचालित कोड वास्तवमै कार्यान्वयन गर्न र परीक्षण चलाउन सक्दछ।
स्प्रिन्टको बखत जब टोलीका सदस्यहरू सीमित समय सीमामा कथाहरू वितरण गर्न दबाबमा हुन्छन्, प्राय: सबै योजना गरिएको परिदृश्यहरू परीक्षण गर्न पर्याप्त समय हुँदैन, नयाँ कार्यक्षमता परीक्षण गर्न स्वचालित परीक्षण स्क्रिप्टहरू लेख्न छोड्नुहोस्।
हामी कामको विवरण, कोडिंग, समीक्षा, कार्यान्वयनको बगैचामा जान सक्दछौं र मुख्य कारणको बारे बिर्सौं। किन हामी वास्तवमा एक परीक्षण स्वचालित!
यो एक प्रश्न हो जुन मैले टेस्ट स्वचालित भूमिकाका लागि उम्मेदवारहरूको अन्तर्वार्ता लिँदा सोध्छु र मेरो अचम्मको लागि, धेरै उम्मेद्वारहरूले एउटा परीक्षा स्वचालित गर्नका लागि मुख्य र सबैभन्दा महत्त्वपूर्ण कारणलाई हराइरहेका छन् जस्तो देखिन्छ। उम्मेदवारहरूबाट मैले प्राप्त गरेका केही उत्तरहरू पर्याप्त विश्वासनीय छन्, तर अझै पनि म उत्तर खोजिरहेको छु जुन मैले खोजिरहेको छु। माथिको प्रश्नमा मैले केहि उत्तरहरू प्राप्त गरें:
यो उत्तर एकदम मान्य छ, तर हामी कसरी कभरेज परिभाषित गर्छौं? यदि हामीसंग १०० परीक्षण छन् भने हामी कसरी प्रतिशत कभरेज मापन गर्न सक्दछौं?
ठाउँमा एक परिपक्व परीक्षण स्वचालन अभ्यासको साथ, तपाईं तुलनात्मक रूपमा छोटो अवधिमा सयौं परीक्षणहरू चलाउन सक्नुहुनेछ।
यसको कारणले गर्दा, हामी थप परीक्षण केसहरू सिर्जना गर्न सक्दछौं, थप परीक्षण परिदृश्यहरू र दिइएको सुविधाको लागि थप इनपुट डाटाको साथ परीक्षण बनाउन र यसरी विश्वास गर्न सकिन्छ कि ती प्रणालीले अपेक्षित रूपमा काम गरिरहेको छ।
जहाँसम्म, परीक्षण र विशेष गरी परीक्षण स्वचालनमा, अधिक परीक्षणहरूले वास्तवमा राम्रो गुणस्तर वा बगहरू फेला पार्ने बढी मौकाको मतलब गर्दैन।
मार्टिन फाउलरले पोष्ट गरेको ठाउँमा, जहाँ उसले डिस्कसन गर्दैन परीक्षण कभरेज , उनले उल्लेख गरे
यदि तपाईंले कभरेजको एक निश्चित स्तर बनाउनु भयो भने, मानिसहरूले यसलाई प्राप्त गर्न प्रयास गर्नेछन्। समस्या यो हो कि उच्च कभरेज संख्याहरू कम गुणवत्ता परीक्षणको साथ पुग्न सजिलो छ। सब भन्दा बेतुका स्तर तपाईंसँग छ AssertionFreeTesting । तर त्यो बाहेक तपाई धेरै चीजहरू खोज्नुहुन्छ जुन चीजहरूको लागि खोजी रहन्छ जुन विरलै गल्ती हुन्छ जुन तपाईलाई साँच्चिकै महत्व राख्ने कुराहरुको परीक्षण गर्नबाट बन्चित गर्दछ।
यो उत्तर पनि सत्य छ किनकि तपाईले स्वचालित परीक्षणहरू चलिरहेको बेला रोचक अन्वेषण परीक्षण गर्न बहुमूल्य समय खर्च गर्न सक्नुहुनेछ। यद्यपि, नयाँ ब्राण्डको नयाँ सुविधाका लागि विकसित गरिएको छ, स्वचालित स्क्रिप्ट लेख्न यसले लामो समय लिन सक्दछ, पहिलो इन्स्ट्यान्टमा म्यानुअल्ली यो सुविधा परीक्षण गर्न भन्दा।
त्यसोभए यो नोट गर्नु महत्त्वपूर्ण छ कि स्वचालित परीक्षणबाट समय बचाउन, स्वचालित परीक्षणहरू पटकथा बनाउन प्रारम्भिक बृद्धि प्रयासको आवश्यक पर्दछ, कोड कोड समीक्षा गरिएको छ भनि सुनिश्चित गर्दै, र स्वचालित परीक्षणहरूको कार्यान्वयनमा कुनै हिचकीहरू छैनन्।
यो उत्तरले मलाई कहिलेकाँहि चिन्तित तुल्याउँछ जस्तो कि मैले कुनै पनि मेट्रिक्स कहिल्यै देखेको छैन जुन सुझाव दिन्छ कि म्यानुअल / अन्वेषण परीक्षण भन्दा अटोमेसनले धेरै बग फेला पारे। स्वचालित परीक्षणहरूले सामान्य रूपमा नयाँ कोड लागू भएपछि प्रणालीमा कुनै पनि प्रकारको रिग्रेसनको लागि जाँच गर्दछ।
त्यहाँ अवस्थित कार्यक्षमता भन्दा नयाँ सुविधाहरूमा बगहरू फेला पार्ने बढी सम्भावना हुन्छ। यसबाहेक, त्यहाँ अन्य कारणहरू पनि छन् किन स्वचालित परीक्षण त्रुटिहरू फेला पार्न असफल
यो सायद सबैभन्दा खराब जवाफ हो जुन मैले सुनुवाइको बारेमा सुनेकोछु किन हामी एउटा परीक्षण स्वत: गर्छौं। म्यानुअल परीक्षकले के गर्छ र एक स्वचालित परीक्षण जाँच गर्दछ के बीच त्यहाँ स्पष्ट भिन्नता छ। स्वचालित परीक्षण परीक्षण गरीरहेको छैन, तथ्यहरूको जाँच गर्दैछ।
एक परीक्षण स्वचालित गर्न सक्षम हुनको लागि, हामीले अपेक्षित परिणाम जान्नुपर्दछ जसले गर्दा हामी वैध वा अवैध परिणामको लागि जाँच गर्न सक्दछौं। यसले हामीलाई सत्य वा गलत, सकारात्मक वा नकारात्मक, पास वा असफल दिन्छ।
अर्को तर्फ परीक्षण एक अन्वेषण अभ्यास हो, जहाँ हामी एक साथ परीक्षण डिजाइन र कार्यान्वयन। धेरै चीजहरू बिभिन्न किसिमले व्यवहार गर्न सक्दछन् जहाँ केवल एउटा अवलोकनकर्ता मानव परीक्षकले मात्र याद गर्न सक्छन्।
राम्रो म्यानुअल परीक्षकहरू सँधै आवश्यक हुन्छन् किनकी फरक मानसिकता र प्रणालीलाई प्रश्न गर्ने क्षमताको कारण।
यद्यपि स्वचालित परीक्षणले हामीलाई द्रुत प्रतिक्रिया दिन र अनुप्रयोगको स्वास्थ्यको बारेमा सचेत गराउन सक्षम छ, ताकि हामी प्रणाली भ broken्ग गर्ने कुनै पनि कोड परिवर्तनलाई उल्टाउन सक्दछौं, स्वचालित परीक्षणले गुणस्तर सुधार गर्दैन। केवल किनभने हामीसँग परिपक्व परीक्षण स्वचालित स्थानमा छ ग्यारेन्टी छैन कि कुनै पनि बग उत्पादनमा भाग्ने छैन।
हामी विकासको चक्रको शुरूदेखि अन्त्यसम्म सहि अभ्यासहरू पछ्याएर यो गुणस्तर सुधार गर्न सक्दछौं। गुण एक सोचविचार होईन; यो सुरुबाटै पकाउनु पर्छ। उत्पादको गुणस्तरको तस्वीर प्राप्त गर्न स्वचालित परीक्षणमा भर पर्न पर्याप्त छैन।
छोटो उत्तर छ पुनरावृत्ति । हामी एउटा परीक्षण स्वचालित गर्छौं किनकि हामीलाई बारम्बार त्यहि परीक्षणहरू कार्यान्वयन गर्न आवश्यक छ। के तपाईं एक परीक्षण स्वचालित गर्न चाहानुहुन्छ यदि तपाईं यसलाई एक पटक मात्र चलाउन लाग्नु भएको थियो र यसको बारे बिर्सनुभयो? होईन! समय र प्रयास जुन तपाईं परीक्षणमा स्वचालित खर्च गर्नुभयो, तपाईं यसलाई हातैले कार्यान्वयन गर्न सक्नुहुनेछ।
अब, परिभाषा द्वारा, हामी दोहोरिने योग्य परीक्षणहरू, अर्थात् प्रतिगमन परीक्षणहरू स्वचालित गर्छौं, जुन हामीले बारम्बार कार्यान्वयन गर्नु पर्छ।
त्यसोभए, अर्को पटक, जब तपाईं परीक्षण स्वचालित गर्न चाहानुहुन्छ, एक चरण पछाडि लिनुहोस् र सोच्नुहोस् कि तपाईं यो परीक्षण कार्यान्वयन गर्न कत्तिको गर्नुहुन्छ? के यो परीक्षण स्वचालित गर्न को लागी प्रयास गर्न योग्यको छ?