"स्वचालन आसान है" मानसिकता से कैसे निपटें?


12

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

नोट: मैं स्वचालन को बढ़ावा देने के बारे में नहीं पूछ रहा हूं। यह समस्या नहीं है। यहां हर समय स्वचालित परीक्षण और प्रक्रियाओं को बढ़ावा दिया जाता है और अनुरोध किया जाता है। मुद्दा यह है कि कुछ व्यक्ति यह नहीं समझते हैं कि स्वचालन "आसान" नहीं है और न ही यह "तेज़" है।


25
क्या इनमें से किसी को भी अपने दावे को साबित करने के लिए आमंत्रित किया गया है?
१०

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


3
उसे बताएं: "यार, अगर आपको लगता है कि यह एक समय में किया जा सकता है, तो एक सीट लें और मुझे बताएं कि आप इसे कैसे लागू करते हैं, इसलिए मैं आपसे यह सीख सकता हूं कि परीक्षण कैसे लिखना है, क्योंकि मुझे नहीं पता कि कैसे पूरा करना है यह"।
डॉक्टर ब्राउन

जवाबों:


5

अगली बार जब आपको अनुरोध मिले तो स्वचालन प्रक्रिया को समय के हिसाब से पूरा करने की कोशिश करें। मुझे लगता है कि जब उन्हें पता चलता है कि प्रति पाठ क्षेत्र या बटन पुश में 5 मिनट लगते हैं तो उन्हें एहसास होने लगता है कि इसमें कितना समय लगता है।

उदाहरण के लिए, शायद यह इतना लंबा समय लगता है कि वे खेतों के बीच अन्योन्याश्रय परिचय शुरू करते हैं: उदाहरण के लिए केवल उन्हें आगे बढ़ने की अनुमति दें अगर यह भरा हुआ है, लेकिन ऐसा नहीं है जब इसके अलावा नहीं है, तो…।

उन्हें ऐसा करने के लिए शिक्षित करने का प्रयास करें कि यह कितना समय लेता है, लेकिन इतना नहीं कि आप उन्हें "सीखने" की प्रक्रिया के माध्यम से खो देते हैं।


4

मेरी भूमिकाओं में मैं कई "एक्स आसान है" लोगों को विशेष रूप से विकास परियोजनाओं पर आया हूं। मेरे मन में इसके तीन कारण हैं:

1) वे वास्तव में समझ नहीं पा रहे हैं कि वे किस बारे में बात कर रहे हैं लेकिन बहुत अच्छा लगता है जैसे वे करते हैं।

2) उन्होंने कुछ किताबें पढ़ी हैं और सोचते हैं कि उन्हें पता है कि वे किस बारे में बात कर रहे हैं

3) अंतिम रूप से लोग यह मानते हैं कि एक कंप्यूटर अपने तेज़ का परीक्षण कर रहा है, क्योंकि कंप्यूटर तेज़ हैं।

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

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


2

सॉफ्टवेयर चीजों को स्वचालित करने का व्यवसाय है।

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

यदि आपके सहकर्मी समझते हैं कि सॉफ्टवेयर लिखना कठिन है और समय लगता है, तो उन्हें यह दिखाना काफी आसान होना चाहिए कि अधिक सॉफ्टवेयर लिखना कठिन है और समय लेना चाहिए। स्वचालन के सभी लाभों को मुफ्त में प्राप्त करना अच्छा होगा, लेकिन हमेशा की तरह, हमें बाद में लाभ प्राप्त करने के लिए काम को सामने रखने की आवश्यकता है।

यदि उन्हें यह समझ में नहीं आता है, तो आपको या तो उन्हें पढ़ाने पर काम करने की जरूरत है या फिर अपना रिज्यूमे चमकाने का काम करना होगा।


2
writing software is hard and takes time। एक छोटी कमांड लाइन ऐप लिखना त्वरित है। स्काईनेट IA लिखना कठिन है। इस तरह के सामान्य कथन बताने से किसी को यकीन नहीं होगा।
साइमन बर्गोट

3
@ साइमन - यह एक उचित कथन है। जरूरी नहीं कि लिखे गए सॉफ्टवेयर का हर टुकड़ा जरूरी हो। मैं इस बारे में अधिक सोच रहा था कि हमें लिखने के लिए भुगतान किए जाने वाले अधिकांश सॉफ्टवेयर गैर-तुच्छ चीजों के लिए हैं। यहां तक ​​कि एक साधारण CRUD ऐप की तरह कुछ भी समय और प्रयास करते हैं, यह सुनिश्चित करने के लिए कि उनके पास उचित सत्यापन, त्रुटि से निपटने, संभवतः सुरक्षा, रिपोर्टिंग आदि है, जैसा कि मैंने इसे लिखा है, मुझे यह भी एहसास है कि मैंने अपनी प्रतिक्रिया को यह सोचकर फंसाया कि ओपी में सहकर्मी गैर हैं -टेक / प्रबंधन लोग। यह सही नहीं हो सकता है और प्रभावित करता है कि "कठिन", "आसान" और "तेज" सभी की व्याख्या की जानी चाहिए।
बेकाज

प्रोग्रामिंग कंप्यूटर कठिन और समय लेने वाला है, आप बता सकते हैं क्योंकि यह महंगा है
क्रिस मैक्कल

2

अधिकांश कर्मचारी अपना समय या तो "सामने" (ग्राहक-हितधारक- सामना करने वाले) कंपनी का हिस्सा या "पीछे", (जहां "वास्तविक" काम हो जाता है) में बिताते हैं। ये दोनों कार्य अलग-अलग हैं, लगभग विपरीत हैं। (और दोनों में बहुत कम लोगों ने काम किया है)। नतीजतन, दोनों समूहों के बीच अक्सर गलतफहमी होती है।

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

"हाउ टू बी रिच," जॉन पॉल गेट्टी (अपने समय के लिए एक टाइकून) ने इस तरह के "क्रॉस-ट्रेनिंग" की वकालत की। उनके विचार में, एक विक्रेता जो असेंबली लाइन पर समय बिताता था, जहां उत्पाद का निर्माण किया जाता था, वह बेचने का एक बेहतर काम करता है, और इसी तरह एक इंजीनियर जो ग्राहकों के साथ एक दिन बिताता है, वह "डिबगिंग" का बेहतर काम करेगा।


2

मुद्दा यह है कि कुछ व्यक्ति यह नहीं समझते हैं कि स्वचालन "आसान" नहीं है और न ही यह "तेज़" है।

मैं यहाँ आपके आधार से सहमत नहीं हूँ।

मैं स्वचालित परीक्षण का एक बड़ा प्रस्तावक हूं, चाहे वह इकाई परीक्षण, एकीकरण परीक्षण या यूआई परीक्षण हो। स्वचालित परीक्षणों को लागू करने के लिए बहुत सारे बेहतरीन उपकरण उपलब्ध हैं।

आइए निम्नलिखित उदाहरण के आधार पर स्वचालित परीक्षण बनाम मैनुअल परीक्षण की तुलना करें:

एक वेब एप्लिकेशन में, एक ब्राउज़र का उपयोग करके मौजूदा उपयोगकर्ता की "पासवर्ड बदलें" कार्यक्षमता का परीक्षण करें।

मैनुअल परीक्षण :

  • वेबपेज शुरू करें
  • ब्राउज़र खोलें
  • धिक्कार है, एक त्रुटि है। क्यों? ओह, मैं डेटाबेस शुरू करना भूल गया!
  • ठीक है, वेबपृष्ठ को बंद करें
  • डेटाबेस शुरू करें
  • वेबपेज शुरू करें
  • ब्राउज़र को रिफ्रेश करें
  • हम्म, हमारे परीक्षण-उपयोगकर्ता का पासवर्ड फिर से क्या था?
  • डेटाबेस पर एक नज़र रखना
  • ओह, उपयोगकर्ताओं की तालिका खाली है! मुझे एक नया उपयोगकर्ता बनाना है।
  • वेबपृष्ठ में एक नया उपयोगकर्ता पंजीकृत करें: इनपुट उपयोगकर्ता नाम, पासवर्ड, ईमेल-पता
  • मैं अपने नए उपयोगकर्ता के साथ लॉगिन क्यों नहीं कर सकता? ओह, मुझे ईमेल में पुष्टि लिंक पर क्लिक करने की आवश्यकता है!
  • खैर, मैंने उपयोगकर्ता को "test@example.com" जैसा एक ईमेल दिया है। आइए डेटाबेस पर जाएं और "सक्रिय" कॉलम को "हां" पर सेट करें।
  • लॉग इन करें। इस समय यह काम करता है!
  • हम्म, मैं फिर से क्या परीक्षण करना चाहता था ...?

आसान? ज़रुरी नहीं। प्रक्रिया में बहुत सारे संभावित नुकसान हैं।

तेज? नहीं। मैनुअल काम में समय लगता है।

अब, एक स्वचालित परीक्षण लिखने की कोशिश करते हैं :

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

आसान? नहीं! हमें उपकरणों पर शोध करने, उन्हें लागू करने, हमारे परीक्षणों में कुछ कीड़े ठीक करने की आवश्यकता थी।

तेज? नहीं! मैन्युअल टेस्ट करने में भी ज्यादा समय लगता है।

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

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

स्वचालित परीक्षण लिखना पहली जगह में न तो आसान है और न ही तेज़ है, लेकिन उन्हें निष्पादित करना है।

और यही वह बिंदु है जहां निवेश किया गया समय वापस आता है।


महान पोस्ट, लेकिन बड़ी समस्या: लॉग इन करने के बाद क्या होता है? इस तर्क के अधिकांश वास्तव में परतदार होना शुरू होता है।
joshin4colours

0

सामान्य रूप से परीक्षण करना आसान नहीं है, और न ही यह होना चाहिए। अगर बोइंग या मर्सिडीज ने अपने उत्पादों का कड़ाई से परीक्षण नहीं किया, जैसा कि वे करते हैं, तो वे या तो लॉ-सूट के कारण दिवालिया हो जाएंगे या ऐसी खराब गुणवत्ता वाली वस्तुओं को बेचने के लिए व्यवसाय से बाहर हो जाएंगे। क्या आप 70 मील प्रति घंटे की रफ्तार से कार चलाएंगे, यह जानते हुए कि स्टीयरिंग व्हील टुकड़ों में गिर सकता है या नहीं?

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

सिर्फ इसलिए कि सॉफ्टवेयर मूर्त नहीं है, इसका मतलब यह नहीं है कि हम उन प्रणालियों के निहितार्थ के बारे में सोचने के बिना दूर हो सकते हैं जो हम काम नहीं कर रहे हैं। मुझे यकीन है कि अमेज़ॅन के पास स्वचालित परीक्षण हैं और मुझे यकीन है कि ऐसे लोग हैं जो अपनी वेबसाइटों / सेवाओं के असफल होने के केवल निहितार्थ को अच्छी तरह से जानते हैं।


0

2 +2 = 4 कोड का सबसे सरल टुकड़ा है जिसे हर कोई समझता है; और आप देख सकते हैं कि कैसे आसानी से समझ में आता है। लेकिन इसका मतलब यह नहीं है कि यह एक "आसान" समीकरण है। सरल समीकरण तक पहुंचने के लिए अमूर्तता का स्तर काफी जटिल है। सॉफ्टवेयर और सॉफ्टवेयर टेस्टिंग मेथोडोलॉजी के साथ भी ऐसा ही होता है। अमूर्त के स्तर के लिए कोड के एक टुकड़े की आवश्यकता होती है जो बहुत काम लेता है।

यह सच है कि एक अच्छा अभ्यास कक्षाओं और वस्तुओं का पुन: उपयोग करता है लेकिन समान रूप से, इस स्थिति तक पहुंचने के लिए समय और प्रयास का निवेश करना आवश्यक है


यह पूछे गए प्रश्न का उत्तर नहीं देता है
gnat

0

इस प्रश्न के दो पक्ष हैं।

अपने पक्ष में, आप यह सोचते हैं कि आप एक अच्छा काम कर रहे हैं, और "स्वचालन आसान है" समूह को पता नहीं है कि वे किस बारे में बात कर रहे हैं।

उनकी तरफ से, आप जो कहते हैं, वे स्वचालित परीक्षण को देखते हैं (उनके विचार में) उत्पादन करने के लिए एक लंबा समय।

इस दूरी से, जिस पर हमें चलना है, हम नहीं जानते कि कौन "सही" है, या यदि कोई "सही" है।

स्वचालन से कैसे निपटना आसान मानसिकता है

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

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

इससे पहले कि आप उनसे बात करें, यह सोचें कि आप अपने परीक्षणों का निर्माण, संचालन और प्रबंधन कैसे करते हैं। आप किस फ्रेमवर्क का उपयोग कर रहे हैं? क्या अन्य ऐसे हैं जो बेहतर हो सकते हैं? क्या आपके पास "मानक" बॉयलरप्लेट है जिसे आप अनुकूलित करते हैं? क्या परीक्षण का निर्माण अधिक स्वचालित हो सकता है? क्या आप वापस पकड़ रहा है?

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