क्या परीक्षकों को लिखना पड़ता है? Codeकौशल एवं कैरियर गाइड
⚡ स्मार्ट सारांश
टेस्टर्स को हमेशा कोड लिखने की आवश्यकता नहीं होती है, लेकिन कोडिंग का ज्ञान ही यह निर्धारित करता है कि टेस्टिंग करियर कितना आगे बढ़ सकता है। मैनुअल भूमिकाओं के लिए इसकी आवश्यकता नहीं होती है, जबकि ऑटोमेशन और एसडीईटी भूमिकाओं के लिए वास्तविक प्रोग्रामिंग कौशल की आवश्यकता होती है।
क्या परीक्षकों को यह सीखना चाहिए कि Code?
एक बहुत ही सामान्य प्रश्न है कि एक सॉफ्टवेयर परीक्षण उम्मीदवारों के मन में यह सवाल है कि क्या टेस्टर्स को कोड लिखना पड़ता है? इसका जवाब देने से पहले, सॉफ्टवेयर टेस्टिंग की विभिन्न भूमिकाओं की पूरी जानकारी होना आवश्यक है।
सॉफ्टवेयर QA को आमतौर पर दो श्रेणियों में विभाजित किया जाता है:
- गुणवत्ता विश्लेषक: एक क्वालिटी एनालिस्ट परीक्षण की कार्यक्षमता और पूर्णता का सत्यापन करता है। क्वालिटी एनालिस्ट सॉफ्टवेयर का सत्यापन केवल विकास चरण के बाद ही करता है। यह भूमिका डेवलपर की भूमिका जितनी तकनीकी नहीं होती और इसमें कोडिंग की आवश्यकता नहीं हो सकती है।
- एसडीईटी (सॉफ्टवेयर डेवलपमेंट इंजीनियर इन टेस्ट): दूसरी ओर, एक एसडीईटी वह व्यक्ति होता है जो उत्पाद की आंतरिक कार्यप्रणाली को समझता है। एसडीईटी डेटाबेस अवधारणाओं और प्रोग्रामिंग भाषाओं को समझते हैं, और वे उत्पाद डिज़ाइन, डेटा डिज़ाइन और उपयोगकर्ता इंटरफ़ेस में भी भाग लेते हैं। एसडीईटी विकास चरण के दौरान काम करते हैं और उन्हें कोडिंग का ज्ञान आवश्यक होता है। इसलिए, एसडीईटी की भूमिका अधिक चुनौतीपूर्ण होती है, क्योंकि इसमें डेवलपर और टेस्टर दोनों के कार्य शामिल होते हैं। ऑटोमेशन टेस्टर (जो टूल्स का उपयोग करते हैं) QTP और Seleniumइन्हें एसडीईटी के रूप में भी वर्गीकृत किया जा सकता है।
नीचे दिया गया आरेख इन दोनों की तुलना दर्शाता है। tracप्रत्येक इकाई विकास के किस चरण में है, यह दर्शाने वाले चित्र।
तो, परीक्षक की भूमिका के आधार पर, आप यह निर्धारित कर सकते हैं कि कोडिंग ज्ञान आवश्यक है या नहीं। आइए इससे संबंधित कुछ और प्रश्नों के उत्तर दें।
एक अच्छे परीक्षक के गुण
सॉफ्टवेयर उत्पाद की आवश्यकता और विशिष्टताओं के अनुसार सॉफ्टवेयर परीक्षण पद्धति भिन्न होती है। एक अच्छा QA या सॉफ्टवेयर परीक्षक परीक्षण प्रक्रिया को पूरा करने में महत्वपूर्ण भूमिका निभाता है, चाहे वह कोई भी पद्धति हो। परीक्षण का प्रकार परियोजना की मांग है।
अच्छे परीक्षकों के गुण इस प्रकार हैं:
- अच्छा डोमेन ज्ञान
- अच्छी तार्किक सोच
- प्रोग्रामिंग कौशल का अच्छा ज्ञान
डोमेन ज्ञान और तार्किक सोच हर टेस्टर के लिए अनिवार्य हैं। हालांकि, प्रोग्रामिंग कौशल भूमिका के अनुसार बहुत भिन्न होता है, जिसकी चर्चा अगले भाग में की जाएगी।
एक टेस्टर को कोडिंग का कितना ज्ञान होना चाहिए?
कोड लिखना और उसमें मौजूद खामियों को ठीक करना डेवलपर का काम है। तो फिर सवाल उठता है: टेस्टर्स के लिए कोडिंग का ज्ञान होना आखिर क्यों जरूरी है?
आइए कुछ कारणों पर नज़र डालें कि परीक्षकों के लिए कोडिंग जानना क्यों आवश्यक हो जाता है। नीचे दिया गया चित्र दर्शाता है कि इस ज्ञान का वास्तव में उपयोग कहाँ होता है।
सॉफ्टवेयर टेस्टिंग में मूल रूप से दो दृष्टिकोण शामिल होते हैं: मैनुअल परीक्षण और स्वचालन परीक्षणउन्नत स्तर पर, परीक्षण को व्हाइट बॉक्स, ब्लैक बॉक्स या ग्रे बॉक्स परीक्षण के रूप में वर्गीकृत किया जा सकता है। विभिन्न परीक्षण तकनीकों के लिए परीक्षकों से अलग-अलग कौशल की आवश्यकता होती है।
- प्रदर्शन करते हुए ब्लैक बॉक्स परीक्षणइस प्रक्रिया में परीक्षक को कोडिंग का ज्ञान होना आवश्यक नहीं है। परीक्षक केवल डेटा इनपुट करके और फिर आउटपुट की जाँच करके सॉफ़्टवेयर का परीक्षण करता है।
- सफेद बॉक्स परीक्षणकोड-आधारित परीक्षण के लिए कोड का ज्ञान आवश्यक है। प्रोग्रामिंग अवधारणाओं जैसे कि... का ज्ञान होना आवश्यक है। C, सी#, C++, तथा RDBMS अवधारणाएँ मददगार हो सकता है।
- ग्रे बॉक्स परीक्षण परीक्षक इन दोनों के बीच में स्थित होता है: परीक्षक को आंतरिक संरचना का आंशिक ज्ञान होता है, इसलिए कोड पढ़ना उपयोगी होता है, भले ही इसे लिखना हमेशा आवश्यक न हो।
- ऑटोमेशन टेस्टिंग या व्हाइट बॉक्स टेस्टिंग में कदम रखने वाले टेस्टर्स को कोडिंग का अच्छा ज्ञान होना आवश्यक है। ऐसा इसलिए है क्योंकि ऑटोमेशन टेस्टिंग में स्टेटमेंट कवरेज, कोड कवरेज और चक्रीय जटिलताऔर इन सभी अवधारणाओं के लिए प्रोग्रामिंग और डेटाबेस का अच्छा ज्ञान होना आवश्यक है।
- एसक्यूएल (स्ट्रक्चर्ड क्वेरी लैंग्वेज) — कभी-कभी टेस्टिंग के लिए डेटाबेस वेरिफिकेशन की आवश्यकता होती है। इसलिए टेस्टर्स को SELECT, CREATE और UPDATE जैसे SQL कमांड्स का बुनियादी ज्ञान होना चाहिए।
- SQL इंजेक्शन — एसक्यूएल इंजेक्षन अवांछित कमांड डालकर डेटाबेस हैकिंग के लिए उपयोग की जाने वाली तकनीकों में से एक है। इस तकनीक का अच्छा ज्ञान होना आवश्यक है। Javaलिपि और एसक्यूएल इस तरह के सॉफ्टवेयर सुरक्षा खतरों से बचने के लिए कमांड बहुत उपयोगी साबित होते हैं।
- एजाइल परीक्षण एजाइल टेस्टिंग में, सॉफ्टवेयर की गुणवत्ता की ज़िम्मेदारी पूरी टीम की होती है। एजाइल प्रक्रिया के दौरान, टेस्टर एक या अधिक प्रोग्रामर के साथ मिलकर टेस्ट लिखते हैं। इसलिए, स्वचालित टेस्ट बनाने के लिए, टेस्टर को कोड की जानकारी होना अनिवार्य है।
सॉफ्टवेयर QA विश्लेषक के लिए महत्वपूर्ण सुझाव
- मैनुअल टेस्टिंग के साथ-साथ स्क्रिप्टिंग भाषाओं का ज्ञान होना चाहिए, जैसे कि Javaलिपि इससे आपके परीक्षण कौशल में और निखार आएगा।
- एक परीक्षक के रूप में, आपको प्रोग्रामिंग भाषाओं जैसे कि बुनियादी ज्ञान प्राप्त करना चाहिए। Java और VBScript हैयह अनिवार्य नहीं है, लेकिन अत्यंत महत्वपूर्ण है। SQL और DBMS अवधारणाओं का ज्ञान भी एक अच्छा अभ्यास है।
- लिपि के ढेर को पढ़ना सीखें tracऔर एक बिल्ड लॉग। कोड पढ़ना उसे लिखने से कहीं आसान है, और यह पहले से ही परीक्षण का मामला रिपोर्टें कहीं अधिक सटीक होती हैं।
इनके अलावा, कुछ सामान्य कौशल भी हैं जो हर सॉफ्टवेयर QA विश्लेषक के लिए मददगार होते हैं:
- संचार कौशल
- विश्लेषणात्मक मानसिकता
- योग्यता
सॉफ्टवेयर टेस्टिंग में कोडिंग का ज्ञान होना QA विश्लेषक या टेस्टर के पूरे करियर में मददगार होता है। अगला भाग इस आवश्यकता को भूमिका-दर-भूमिका विस्तार से बताता है।
कोडिंग की आवश्यकता वाले और कोडिंग की आवश्यकता न होने वाले टेस्टिंग रोल
“क्या परीक्षकों को कोडिंग की आवश्यकता होती है?” इस प्रश्न का कोई एक उत्तर नहीं है, क्योंकि परीक्षक कोई एक नौकरी नहीं है। नीचे दी गई तालिका में परीक्षण से संबंधित सामान्य भूमिकाओं को उनके लिए आवश्यक प्रोग्रामिंग स्तर से दर्शाया गया है।
| परीक्षण भूमिका | विशिष्ट कार्य | आवश्यक कोडिंग स्तर |
|---|---|---|
| मैनुअल / फंक्शनल टेस्टर | टेस्ट केस डिज़ाइन और निष्पादित करता है, दोषों की रिपोर्ट करता है। | कोई नहीं |
| खोजपूर्ण / उपयोगिता परीक्षक | अनियोजित जांच, उपयोगकर्ता अनुभव प्रतिक्रिया | कोई नहीं |
| डोमेन / बिजनेस टेस्टर | विनिर्देशों के आधार पर व्यावसायिक नियमों का सत्यापन करता है | कोई नहीं |
| डेटाबेस परीक्षक | संग्रहित डेटा, संयोजन और अखंडता नियमों को सत्यापित करता है | केवल SQL |
| एपीआई परीक्षक | JSON या XML पर अनुरोध और प्रतिक्रिया अभिकथन बनाता है | बुनियादी |
| स्वचालन परीक्षक | स्क्रिप्ट लिखता और उनका रखरखाव करता है। Seleniumनाटककार, या Cypress | मध्यवर्ती |
| प्रदर्शन परीक्षक | स्क्रिप्ट परिदृश्यों को लोड करती है, गतिशील मानों को सहसंबंधित करती है। | मध्यवर्ती |
| SDET | यह फ्रेमवर्क, टेस्ट हार्नेस और सीआई पाइपलाइन बनाता है। | डेवलपर स्तर |
इस तालिका को एक दीवार की बजाय करियर की सीढ़ी के रूप में देखें। अधिकांश टेस्टर उस पंक्ति से शुरुआत करते हैं जिसमें कोड की आवश्यकता नहीं होती, और प्रोग्रामिंग में उनका आत्मविश्वास बढ़ने के साथ-साथ वे नीचे की ओर बढ़ते जाते हैं। एक कुशल मैनुअल टेस्टर को अपने पूरे करियर में शीर्ष पंक्तियों में बने रहने से कोई नहीं रोक सकता, लेकिन निचली पंक्तियों में आमतौर पर ऑटोमेशन के लिए बजट और वरिष्ठ पद होते हैं।
एक टेस्टर को कौन सी प्रोग्रामिंग भाषाएँ सीखनी चाहिए?
परीक्षकों को हर भाषा की आवश्यकता नहीं होती। आमतौर पर दो भाषाएँ ही पर्याप्त होती हैं: स्वचालन के लिए एक सामान्य भाषा और डेटा सत्यापन के लिए SQL। नीचे दी गई तुलना दर्शाती है कि प्रत्येक विकल्प कहाँ फायदेमंद है।
| भाषा | जहां यह परीक्षक की मदद करता है | इसे क्यों चुनें? |
|---|---|---|
| Python | Selenium और प्लेराइट स्क्रिप्ट, पायटेस्ट सूट, डेटा जांच | सबसे सरल सिंटेक्स, पहले कार्यशील परीक्षण तक पहुंचने का सबसे तेज़ तरीका |
| Java | Selenium साथ में TestNG or JUnit, Appium, उद्यम ढाँचे | बड़े संगठनों में इसकी सबसे अधिक मांग है |
| Javaलिखी हुई कहानी / TypeScript | Cypressनाटककार, फ्रंट-एंड और कंपोनेंट टेस्टिंग | यह परीक्षण के तहत एप्लिकेशन द्वारा पहले से उपयोग की जा रही भाषा से मेल खाता है। |
| एसक्यूएल | बैक-एंड सत्यापन, परीक्षण-डेटा सेटअप और विघटन | यह उन भूमिकाओं में भी उपयोगी है जिनमें ब्राउज़र को स्वचालित करने की आवश्यकता नहीं होती है। |
| शेल स्क्रिप्टिंग | लॉग पार्सिंग, पर्यावरण सेटअप, सीआई जॉब चरण | कम मेहनत, रोज़मर्रा के जीवन में तुरंत मिलने वाला लाभ |
जहां तक संभव हो, उस भाषा को चुनें जिसका उपयोग आपकी डेवलपमेंट टीम पहले से कर रही है। एक ही भाषा साझा करने का मतलब है साझा कोड रिव्यू, साझा लाइब्रेरी और ऐसे डेवलपर जो टेस्ट में गड़बड़ी होने पर मदद कर सकें। एक भाषा में पारंगत और SQL में सहज टेस्टर ऑटोमेशन के अधिकांश काम को आसानी से संभाल सकता है।
सीखना कैसे शुरू करें Code एक परीक्षक के रूप में
टेस्टिंग के पूरे कार्यभार के साथ-साथ कोडिंग सीखना कौशल की नहीं, बल्कि क्रम की बात है। नीचे दिए गए चरण आपको बिना किसी प्रोग्रामिंग ज्ञान के, रोज़मर्रा के टेस्ट निष्पादन को छोड़े बिना, एक सुव्यवस्थित ऑटोमेशन सूट तक ले जाएंगे।
चरण 1) भाषा की बुनियादी बातें सीखें। टेस्ट स्क्रिप्ट को पढ़ने और लिखने के लिए वेरिएबल, कंडीशनल स्टेटमेंट, लूप, फंक्शन और कलेक्शन काफी हैं। ऑब्जेक्ट-ओरिएंटेड थ्योरी को बाद में भी देखा जा सकता है।
चरण 2) SQL को शुरुआत में ही जोड़ें। कुछ चुनिंदा SELECT स्टेटमेंट्स जिनमें जॉइन और WHERE क्लॉज़ शामिल हैं, आपको यह सत्यापित करने की अनुमति देते हैं कि एप्लिकेशन ने वास्तव में क्या संग्रहीत किया है, जिससे दोष रिपोर्ट तुरंत बेहतर हो जाती हैं।
चरण 3) एक उबाऊ कार्य को स्वचालित करें। एकल दोहराव को परिवर्तित करें प्रतीपगमन एक स्क्रिप्ट को चेक करें। एक सफल टेस्ट से एक महीने से अधिक के ट्यूटोरियल से अधिक जानकारी मिल जाती है।
चरण 4) केवल टूल को ही नहीं, बल्कि टेस्ट फ्रेमवर्क को भी सीखें। रिकॉर्डर पर क्लिक करने से कहीं अधिक महत्वपूर्ण हैं दावे, समाधान, सेटअप और विघटन, और रिपोर्टिंग। यहीं पर स्क्रिप्ट एक संपूर्ण रचना बन जाती हैं।
चरण 5) वर्ज़न कंट्रोल का उपयोग करें। डेवलपर्स की तरह ही टेस्ट कोड को गिट में कमिट करें। Revडिफरेंस को देखना भी एक तरीका है जिससे टेस्टर प्रोडक्शन कोड को पढ़ना सीखते हैं।
चरण 6) सुइट को पाइपलाइन से जोड़ें। हर बिल्ड पर स्वचालित रूप से चलने वाले परीक्षण उपयोगी होते हैं; केवल लैपटॉप पर चलने वाले परीक्षण उपयोगी नहीं होते। यह कदम परीक्षण को व्यापक प्रणाली के अनुरूप बनाता है। सॉफ्टवेयर परीक्षण जीवन चक्र.
स्वचालित प्रक्रिया में सहज महसूस करने से पहले तीन से छह महीने के निरंतर अभ्यास की अपेक्षा करें। प्रगति जानबूझकर क्रमिक है, ताकि प्रत्येक चरण अगले चरण की शुरुआत से पहले उपयोगी परिणाम दे सके।


