शीर्ष 60 एसडीईटी साक्षात्कार प्रश्न और उत्तर (2026)

किसी चुनौतीपूर्ण साक्षात्कार की तैयारी का अर्थ है चुनौतियों और अपेक्षाओं का पूर्वानुमान लगाना। एसडीईटी साक्षात्कार प्रश्न यह प्रकट करते हैं कि उम्मीदवार कैसे सोचते हैं, गुणवत्ता का सत्यापन करते हैं, सहयोग करते हैं और स्वचालन ज्ञान को लगातार विश्वसनीय इंजीनियरिंग परिणामों में परिवर्तित करते हैं।
सॉफ्टवेयर की गुणवत्ता में निरंतर डिलीवरी के साथ हो रहे विकास के कारण ये भूमिकाएँ मजबूत करियर के अवसर प्रदान करती हैं। नियोक्ता तकनीकी अनुभव, डोमेन विशेषज्ञता और क्षेत्र में काम करने से प्राप्त विश्लेषण कौशल को महत्व देते हैं।ping फ्रेशर्स, मिड-लेवल इंजीनियर और सीनियर प्रोफेशनल अपने कौशल का उपयोग करते हैं, आम सवालों और जवाबों के जवाब देते हैं, टीमों को सपोर्ट करते हैं और मैनेजर्स और सीनियर्स के लिए जटिल तकनीकी चुनौतियों को हल करते हैं। अधिक पढ़ें…
👉 मुफ़्त PDF डाउनलोड करें: SDET साक्षात्कार प्रश्न और उत्तर
एसडीईटी साक्षात्कार के लिए पूछे जाने वाले शीर्ष प्रश्न और उत्तर
1) एसडीईटी की भूमिका क्या है और यह मैनुअल टेस्टर से किस प्रकार भिन्न है?
एक सॉफ्टवेयर डेवलपमेंट इंजीनियर इन टेस्ट (एसडीईटी) सॉफ्टवेयर की गुणवत्ता सुनिश्चित करने के लिए जिम्मेदार होता है, जिसके लिए वह दोनों को एकीकृत करता है। सॉफ्टवेयर विकास कौशल और परीक्षण विशेषज्ञतापरंपरागत मैनुअल टेस्टर के विपरीत, एसडीईटी स्वचालित टेस्ट स्क्रिप्ट लिखते हैं, टेस्ट फ्रेमवर्क बनाते और उनका रखरखाव करते हैं, और अक्सर जीवनचक्र के शुरुआती चरण में डिज़ाइन और विकास संबंधी चर्चाओं में भाग लेते हैं। एसडीईटी से अपेक्षा की जाती है कि वे दोहराए जाने वाले परीक्षणों को स्वचालित करें, उपकरण बनाएं और परीक्षण अवसंरचना को बेहतर बनाने में मदद करें, जबकि मैनुअल टेस्टर मुख्य रूप से मैन्युअल रूप से परीक्षण करते हैं और खोजपूर्ण या तदर्थ परीक्षण पर ध्यान केंद्रित करते हैं।
मुख्य अंतर:
| पहलू | SDET | मैनुअल परीक्षक |
|---|---|---|
| कोडिंग में भागीदारी | हाई | कम या कोई नहीं |
| परीक्षण स्वचालन | प्राथमिक ध्यान | न्यूनतम |
| जीवनचक्र भागीदारी | एसडीएलसी के दौरान | बाद विकास |
| उपकरण/ढांचे का ज्ञान | अपेक्षित | ऐच्छिक |
2) सॉफ्टवेयर टेस्टिंग लाइफ साइकिल (एसटीएलसी) की व्याख्या कीजिए।
सॉफ्टवेयर टेस्टिंग लाइफ साइकिल (एसटीएलसी) परिभाषित चरणों की एक श्रृंखला है जो सॉफ्टवेयर के परीक्षण के तरीके को निर्देशित करती है। इसकी शुरुआत सॉफ्टवेयर के परीक्षण को समझने से होती है। आवश्यकताओंफिर आगे बढ़ता है योजना बनाना, डिजाइन करना, क्रियान्वयन करना, tracदोषों का राजा, और परीक्षण समापनप्रत्येक चरण में विशिष्ट परिणाम, उद्देश्य और प्रवेश/निकास मानदंड होते हैं। एसटीएलसी यह सुनिश्चित करता है कि परीक्षण गतिविधियाँ व्यवस्थित, मापने योग्य और सॉफ़्टवेयर रिलीज़ शेड्यूल के अनुरूप हों।
विशिष्ट एसटीएलसी चरण:
- आवश्यकता विश्लेषण
- परीक्षण योजना
- परीक्षण मामले का विकास
- पर्यावरण सेटअप
- परीक्षण निष्पादन
- दोष रिपोर्टिंग
- परीक्षण समापन
3) दोष की प्राथमिकता और गंभीरता में क्या अंतर है?
तीव्रता यह एप्लिकेशन पर किसी खराबी के प्रभाव का वर्णन करता है - यह सिस्टम की कार्यक्षमता को कितना बुरी तरह प्रभावित करता है। प्राथमिकता यह दर्शाता है कि किसी दोष को कितनी जल्दी ठीक किया जाना चाहिए, जो अक्सर व्यावसायिक आवश्यकताओं पर आधारित होता है। एक गंभीर बग किसी मुख्य फ़ीचर को बाधित कर सकता है, जबकि एक उच्च प्राथमिकता वाले बग को ग्राहक पर प्रभाव या रिलीज़ की समयसीमा के कारण तत्काल ध्यान देने की आवश्यकता हो सकती है।
उदाहरण: यूजर इंटरफेस में टाइपिंग की गलती कम गंभीर होती है, लेकिन अगर यह किसी मार्केटिंग पेज पर दिखाई देती है तो यह उच्च प्राथमिकता वाली समस्या हो सकती है।
4) एक अच्छी बग रिपोर्ट के तत्वों का वर्णन कीजिए।
एक सशक्त बग रिपोर्ट होनी चाहिए स्पष्ट, संक्षिप्त और कार्रवाई योग्यइसके आवश्यक घटकों में निम्नलिखित शामिल हैं:
- शीर्षकदोष का संक्षिप्त सारांश
- विवरणजो उम्मीद थी बनाम जो हुआ
- प्रजनन के चरणस्पष्ट क्रमांकित चरण
- वातावरणऑपरेटिंग सिस्टम, ब्राउज़र, संस्करण
- स्क्रीनशॉट/लॉग: त्रुटि निवारण में सहायता के लिए साक्ष्य
- गंभीरता एवं प्राथमिकता
अच्छी बग रिपोर्ट डेवलपर्स को समस्याओं को जल्दी समझने और ठीक करने में मदद करती हैं।
5) टेस्ट ऑटोमेशन क्या है और यह महत्वपूर्ण क्यों है?
टेस्ट ऑटोमेशन में मानवीय हस्तक्षेप के बिना दोहराए जाने वाले टेस्ट केसों को निष्पादित करने के लिए टूल्स और स्क्रिप्ट का उपयोग किया जाता है। इससे दक्षता में सुधार होता है। स्थिरता, गति, परीक्षण कवरेज, तथा संसाधन क्षमता विशेष रूप से रिग्रेशन टेस्टिंग और कंटीन्यूअस डिलीवरी पाइपलाइन के लिए। बड़े पैमाने के अनुप्रयोगों के लिए स्वचालन महत्वपूर्ण है, जहां केवल मैन्युअल परीक्षण अपर्याप्त होता है।
6) ब्लैक-बॉक्स टेस्टिंग और व्हाइट-बॉक्स टेस्टिंग के बीच अंतर स्पष्ट कीजिए।
ब्लैक-बॉक्स परीक्षण यह जांच करता है कि एप्लिकेशन आंतरिक कोड की जानकारी के बिना अपेक्षा के अनुरूप व्यवहार करता है या नहीं, इनपुट और आउटपुट पर ध्यान केंद्रित करते हुए। व्हाइट-बॉक्स परीक्षण इसमें आंतरिक संरचनाओं (जैसे कोड पाथ, लूप और ब्रांच) का परीक्षण शामिल होता है, जिसके लिए प्रोग्रामिंग ज्ञान आवश्यक है। व्यापक कवरेज सुनिश्चित करने के लिए टेस्ट सूट अक्सर इन दोनों को मिलाकर परीक्षण करता है।
7) सतत एकीकरण (सीआई) क्या है और परीक्षण में इसका क्या महत्व है?
कंटीन्यूअस इंटीग्रेशन एक ऐसी प्रक्रिया है जिसमें कोड में किए गए बदलावों को नियमित रूप से (अक्सर दिन में कई बार) एक साझा रिपॉजिटरी में एकीकृत किया जाता है। प्रत्येक बदलाव स्वचालित बिल्ड और टेस्ट को ट्रिगर करता है - जिससे समस्याओं का शीघ्र पता लगाना, कोड की उच्च गुणवत्ता बनाए रखना और विकास में त्वरित फीडबैक लूप को बढ़ावा देना संभव होता है। CI विश्वसनीय स्वचालित परीक्षण और DevOps वर्कफ़्लो के लिए महत्वपूर्ण है।
8) आप अपने टेस्ट सूट में अस्थिर स्वचालित परीक्षणों को कैसे संभालेंगे?
अस्थिर परीक्षण — ऐसे परीक्षण जो कोड में बदलाव किए बिना कभी पास होते हैं और कभी फेल हो जाते हैं — विश्वास को कमज़ोर करते हैं। समाधानों में शामिल हैं:
- पर्यावरण निर्भरताओं को स्थिर करना
- हार्ड-कोडेड प्रतीक्षाओं से बचना
- स्पष्ट प्रतीक्षा/दावे का उपयोग करना
- बाह्य प्रणालियों से परीक्षणों को अलग करना
परिणामों में गड़बड़ी को कम करने के लिए, अनियमित परीक्षणों को या तो ठीक किया जाना चाहिए, अलग रखा जाना चाहिए या चिह्नित किया जाना चाहिए।
9) टेस्ट ऑटोमेशन में पेज ऑब्जेक्ट मॉडल (POM) की व्याख्या कीजिए।
पेज ऑब्जेक्ट मॉडल (POM) एक डिज़ाइन पैटर्न है जो वेब पेज तत्वों को व्यवहारों का वर्णन करने वाली विधियों के साथ ऑब्जेक्ट क्लास के रूप में समाहित करता है। POM में सुधार होता है। रखरखाव और पठनीयता टेस्ट लॉजिक को पेज स्ट्रक्चर से अलग करके, जिससे यूआई में बदलाव होने पर अपडेट करना आसान हो जाता है।
10) स्वचालन फ्रेमवर्क की मुख्य परतें क्या हैं?
एक प्रभावी स्वचालन फ्रेमवर्क में आमतौर पर निम्नलिखित स्तर होते हैं:
- टेस्ट स्क्रिप्ट
- पेज ऑब्जेक्ट / यूआई मॉडल
- यूटिलिटीज (हेल्पर्स, वेट हैंडलर्स)
- विन्यास प्रबंधन
- रिपोर्टिंग
- CI/CD उपकरणों के साथ एकीकरण
इस मॉड्यूलर संरचना से स्पष्ट जिम्मेदारियां और आसान संवर्द्धन संभव हो पाते हैं।
11) आप एपीआई टेस्टिंग कैसे करते हैं?
एपीआई परीक्षण सेवाओं के बीच संचार को सत्यापित करता है। आपको निम्नलिखित की पुष्टि करनी चाहिए:
- प्रतिक्रिया स्थिति कोड
- प्रतिक्रिया निकाय की शुद्धता
- स्कीमा सत्यापन
- प्रमाणीकरण/प्राधिकरण
- प्रदर्शन मेट्रिक्स
सामान्य उपकरणों में शामिल हैं Postman, निश्चिंत रहें, तथा कराटे.
12) सॉफ्टवेयर डेवलपमेंट लाइफ साइकिल (एसडीएलसी) क्या है और इसमें टेस्टिंग की क्या भूमिका है?
SDLC सॉफ्टवेयर की योजना बनाने, निर्माण करने, परीक्षण करने, परिनियोजन करने और रखरखाव करने की पूरी प्रक्रिया है। परीक्षण SDLC के कई चरणों में एकीकृत होता है — आवश्यकताओं के विश्लेषण से लेकर रिलीज़ तक — और उपयोगकर्ता को डिलीवरी से पहले सॉफ्टवेयर की गुणवत्ता सुनिश्चित करने में मदद करता है। स्वचालन फ्रेमवर्क और CI/CD परीक्षण को जल्दी निष्पादित करने को प्रोत्साहित करते हैं।
13) आप एक स्केलेबल ऑटोमेशन फ्रेमवर्क को बिल्कुल शुरुआत से कैसे डिजाइन करेंगे?
स्केलेबल फ्रेमवर्क डिजाइन करते समय निम्नलिखित प्रमुख कारक शामिल हैं:
- प्रतिरूपकता: पुन: प्रयोज्य घटक
- रख-रखाव: आसानी से अपडेट किए जाने वाले परीक्षण
- सीआई / सीडी एकीकरण
- समानांतर निष्पादन समर्थन
- व्यापक रिपोर्टिंग
- क्रॉस-ब्राउज़र/डिवाइस समर्थन
एक अच्छी तरह से डिजाइन किया गया फ्रेमवर्क परीक्षण निष्पादन को गति देता है और परियोजना के विकास के अनुकूल होता है।
14) यूनिट टेस्टिंग, इंटीग्रेशन टेस्टिंग और सिस्टम टेस्टिंग के बीच अंतर स्पष्ट कीजिए।
| परीक्षण प्रकार | उद्देश्य | विस्तार |
|---|---|---|
| इकाई का परीक्षण | अलग-अलग घटकों का परीक्षण करें | डेवलपर-स्तर |
| एकीकरण जांच | मॉड्यूल के बीच इंटरफेस को मान्य करें | एकाधिक मॉड्यूल |
| सिस्टम परीक्षण | आवश्यकताओं के अनुसार संपूर्ण प्रणाली का सत्यापन करें। | शुरू से अंत तक |
प्रत्येक प्रकार सॉफ्टवेयर की समग्र गुणवत्ता सुनिश्चित करने में एक अनूठी भूमिका निभाता है।
15) एसडीईटी द्वारा आमतौर पर कौन सी प्रोग्रामिंग भाषाएँ उपयोग की जाती हैं?
एसडीईटी अक्सर ऐसी भाषाओं का उपयोग करते हैं जैसे Java, Python, तथा Javaलिपि अपने समृद्ध परीक्षण पारिस्थितिकी तंत्र और फ्रेमवर्क के कारण, ये भाषाएँ लोकप्रिय उपकरणों का समर्थन करती हैं जैसे कि Selenium, JUnit/TestNG (Java), पाइटेस्ट (Python), और नाटककार/Cypress (Javaलिखी हुई कहानी)।
16) आप टेस्ट ऑटोमेशन स्क्रिप्ट में कोड की गुणवत्ता कैसे सुनिश्चित करते हैं?
ऑटोमेशन स्क्रिप्ट में कोड की गुणवत्ता सुनिश्चित करना दीर्घकालिक रखरखाव और स्केलेबिलिटी के लिए अत्यंत महत्वपूर्ण है। उच्च गुणवत्ता वाली स्क्रिप्ट गलत परिणामों को कम करती हैं, डिबगिंग को सरल बनाती हैं और विश्वसनीयता बढ़ाती हैं।
कोड की गुणवत्ता बनाए रखने के लिए:
- कोडिंग के सुसंगत मानकों का पालन करें (नामकरण संबंधी नियम, इंडेंटेशन, टिप्पणियाँ)।
- कोड समीक्षा लागू करें स्क्रिप्ट को मर्ज करने से पहले।
- डिजाइन पैटर्न लागू करें जैसे पेज ऑब्जेक्ट मॉडल या फ़ैक्टरी पैटर्न।
- स्थैतिक कोड विश्लेषण उपकरणों का उपयोग करें (SonarQube, ईएसएलिंट)।
- पुन: प्रयोज्य और मॉड्यूलर फ़ंक्शन लिखें.
- लिंटिंग और वर्शन कंट्रोल हुक्स को शामिल करें अनुशासन लागू करने के लिए।
उदाहरण: में Selenium प्रोजेक्ट में, यह सुनिश्चित करें कि लोकेटर और एक्शन सीधे टेस्ट केस में संग्रहीत होने के बजाय पुन: प्रयोज्य पेज क्लास में संग्रहीत हों।
17) टेस्ट ऑटोमेशन फ्रेमवर्क के विभिन्न प्रकार क्या हैं?
ऑटोमेशन फ्रेमवर्क ऐसी संरचनाएं हैं जो यह परिभाषित करती हैं कि परीक्षणों को कैसे व्यवस्थित और निष्पादित किया जाता है। नीचे प्रमुख प्रकार और उनके लाभ दिए गए हैं:
| फ्रेमवर्क प्रकार | विवरण | फायदे |
|---|---|---|
| लीनियर (रिकॉर्ड-प्लेबैक) | सरल स्क्रिप्ट को क्रमबद्ध रूप से रिकॉर्ड किया गया | तुरंत शुरू करें, न्यूनतम सेटअप |
| मॉड्यूलर फ्रेमवर्क | टेस्ट स्क्रिप्ट को मॉड्यूल में विभाजित किया गया है। | आसान रखरखाव |
| डेटा संचालित | परीक्षण डेटा बाह्य रूप से संग्रहीत किया जाता है (एक्सेल, डेटाबेस) | परीक्षण लचीलापन |
| कीवर्ड-संचालित | संचालन के लिए कीवर्ड का उपयोग करता है | जो लोग प्रोग्रामिंग नहीं जानते, वे भी भाग ले सकते हैं। |
| Hybrid | डेटा-आधारित और कीवर्ड-आधारित दृष्टिकोणों का संयोजन | उच्च पुन: प्रयोज्यता |
| व्यवहार संचालित (बीडीडी) | प्राकृतिक भाषा वाक्यविन्यास का उपयोग करता है (Cucumber, व्यवहार) | व्यवसाय के लिए सुलभ परिदृश्य |
आधुनिक एसडीईटी परियोजनाओं में अक्सर उपयोग किया जाता है संकर or BDD बेहतर रखरखाव और QA तथा डेवलपर्स के बीच बेहतर संचार के लिए फ्रेमवर्क।
18) दोष के जीवनचक्र की व्याख्या कीजिए।
RSI दोष जीवनचक्र (जिसे बग लाइफसाइकिल भी कहा जाता है) किसी दोष की पहचान से लेकर उसके समाधान तक के चरणों को परिभाषित करता है।
चरणों में शामिल हैं:
- नया – टेस्टर ने बग की रिपोर्ट दर्ज की।
- निरुपित – डेवलपर स्वामित्व की समीक्षा करता है।
- खुला / प्रगति पर डेवलपर समस्या के समाधान पर काम कर रहा है।
- फिक्स्ड समस्या का समाधान हो गया।
- retest – परीक्षक ने समाधान की पुष्टि की।
- सत्यापित / पुनः खोलें – यदि समस्या बनी रहती है तो इसकी पुष्टि की जाएगी या पुनः रिपोर्ट की जाएगी।
- बन्द है समस्या का सफलतापूर्वक समाधान हो गया।
दोष की स्थिति को ठीक से बनाए रखने से टीमों को प्राथमिकता तय करने में मदद मिलती है और tracJIRA जैसे उपकरणों में k की प्रगति सटीक रूप से होती है या Bugzilla.
19) इनके बीच मुख्य अंतर क्या हैं? Selenium और Cypress?
| पहलू | Selenium | Cypress |
|---|---|---|
| भाषा समर्थन | Java, Python, सी#, Javaस्क्रिप्ट, आदि. | Javaकेवल स्क्रिप्ट |
| निष्पादन पर्यावरण | यह वेबड्राइवर के माध्यम से ब्राउज़र के बाहर काम करता है। | ब्राउज़र के अंदर चलता है |
| गति | थोड़ा धीमा | तेज़ निष्पादन |
| क्रॉस-ब्राउज़र समर्थन | उत्कृष्ट | सीमित (मुख्यतः क्रोमियम आधारित) |
| Archiटेक्चर | ग्राहक सर्वर | प्रत्यक्ष DOM हेरफेर |
| सबसे अच्छा है | जटिल, बड़े पैमाने पर ढाँचे | फ्रंट-एंड पर केंद्रित, आधुनिक वेब ऐप्स |
निष्कर्ष: Selenium क्रॉस-लैंग्वेज फ्लेक्सिबिलिटी के लिए यह सबसे अच्छा विकल्प बना हुआ है, जबकि Cypress आधुनिक प्रणालियों के लिए तेज़ और डेवलपर-अनुकूल परीक्षण प्रदान करता है Javaस्क्रिप्ट अनुप्रयोग.
20) आप CI/CD पाइपलाइन में स्वचालित परीक्षणों को कैसे एकीकृत करते हैं?
ऑटोमेशन को CI/CD के साथ एकीकृत करने से यह सुनिश्चित होता है कि प्रत्येक बिल्ड का परीक्षण स्वचालित रूप से हो। इसमें निम्नलिखित चरण शामिल हैं:
- कोड को रिपॉजिटरी (जैसे GitHub) में पुश करें।
- सीआई सर्वर (Jenkins, गिटलैब सीआई, Azure देवऑप्स) ट्रिगर्स बिल्ड।
- परीक्षण सूट निष्पादित करें स्क्रिप्ट का उपयोग करना (Maven, npm, pytest)।
- रिपोर्ट प्रकाशित करें (एचटीएमएल, एल्योर, एक्सटेंट रिपोर्ट्स)।
- बिल्ड को पास/फेल के रूप में चिह्नित करें परीक्षण परिणामों के आधार पर।
यह प्रक्रिया सक्षम बनाती है शुरुआती बग का पता लगाना, निरंतर प्रतिक्रिया, तथा तेजी से रिलीज — डेवऑप्स सिद्धांतों के अनुरूप।
21) क्या है TestNGऔर यह ऑटोमेशन टेस्टिंग के लिए इतना लोकप्रिय क्यों है?
TestNG (टेस्ट नेक्स्ट जेनरेशन) एक है Java परीक्षण ढांचा इससे प्रेरित है JUnit लेकिन इसे अधिक लचीलेपन के लिए डिज़ाइन किया गया है।
मुख्य विशेषताएं:
- समर्थन करता है समानांतर परीक्षण निष्पादन
- प्रदान करता है एनोटेशन (
@BeforeClass, @Test, @DataProvider) - की अनुमति देता है पैरामीटराइज़ेशन
- ऑफर शक्तिशाली रिपोर्टिंग
- सक्षम बनाता है चल मैदानping और निर्भरता नियंत्रण
उदाहरण:
@Test(groups={"smoke"})
public void verifyLogin() {
// test steps
}
इसकी स्केलेबिलिटी और साफ-सुथरी संरचना इसे एंटरप्राइज-लेवल टेस्टिंग प्रोजेक्ट्स के लिए आदर्श बनाती है।
22) आप डेटा-संचालित परीक्षण फ्रेमवर्क को कैसे डिज़ाइन करेंगे? Selenium और एक्सेल?
A डेटा-संचालित ढांचा यह परीक्षण तर्क को परीक्षण डेटा से अलग करता है, जिससे एक ही परीक्षण को कई इनपुट सेट के साथ चलाया जा सकता है।
दृष्टिकोण:
- इनपुट/आउटपुट डेटा को एक्सेल या सीएसवी फ़ाइल में स्टोर करें।
- उपयोग अपाचे POI or ओपनसीएसवी डेटा पढ़ने के लिए।
- एक लूप के माध्यम से परीक्षणों को डेटा पास करें।
- प्रत्येक डेटा पुनरावृति के लिए रिपोर्ट तैयार करें।
लाभ:
- पुन: प्रयोज्यता और लचीलापन।
- कुशल रिग्रेशन निष्पादन।
- सरलीकृत रखरखाव.
उदाहरण उपयोग मामला: एक्सेल में संग्रहीत विभिन्न उपयोगकर्ता नाम-पासवर्ड संयोजनों के साथ लॉगिन सत्यापन।
23) परीक्षण रणनीति दस्तावेज़ का उद्देश्य क्या है?
RSI टेस्ट रणनीति यह परियोजना के लिए समग्र परीक्षण दृष्टिकोण का वर्णन करने वाला एक उच्च-स्तरीय दस्तावेज़ है। इसमें निम्नलिखित शामिल हैं:
- कार्यक्षेत्र और उद्देश्य
- परीक्षण स्तर (यूनिट, इंटीग्रेशन, सिस्टम, यूएटी)
- परीक्षण वातावरण सेटअप
- उपकरण, मेट्रिक्स और स्वचालन का दायरा
- जोखिम शमन रणनीतियाँ
- प्रवेश और निकास मानदंड
यह सुनिश्चित करता है हितधारकों के बीच सामंजस्य और एक स्पष्ट परीक्षण दृष्टिकोण को परिभाषित करता है।
24) स्वचालित परीक्षणों में REST API सत्यापन कैसे काम करता है, समझाइए।
एपीआई सत्यापन में अनुरोध-प्रतिक्रिया व्यवहार को सत्यापित करना शामिल है। जैसे कि उपकरणों का उपयोग करके निश्चिंत रहेंइससे आप REST एंडपॉइंट्स का प्रभावी ढंग से परीक्षण कर सकते हैं।
मुख्य सत्यापन:
- स्थिति Code: 200 ठीक है, 404 नहीं मिला, आदि
- प्रतिक्रिया का मुख्य भाग: विषयवस्तु संरचना और मूल्य।
- हेडर: प्रमाणीकरण टोकन, CORS, आदि।
- स्कीमा: JSON/XML स्कीमा सत्यापन।
उदाहरण:
given().get("/users")
.then().statusCode(200)
.body("data[0].id", equalTo(1));
यह दृष्टिकोण सुनिश्चित करता है कि यूआई एकीकरण से पहले बैकएंड सही और सुरक्षित तरीके से काम करे।
25) धुंआ परीक्षण और मानसिक स्वास्थ्य परीक्षण में क्या अंतर है?
| मापदंड | धुआँ परीक्षण | विवेक परीक्षण |
|---|---|---|
| उद्देश्य | बिल्ड की बुनियादी स्थिरता सत्यापित करें | विशिष्ट बग फिक्स को मान्य करें |
| गहराई | उथला और चौड़ा | संकरा और गहरा |
| द्वारा प्रदर्शित | क्यूए इंजीनियर | क्यूए इंजीनियर |
| स्वचालन उपयुक्तता | हाई | अक्सर मैनुअल |
| जब आयोजित किया गया | नए निर्माण के बाद | मामूली बदलावों के बाद |
सारांश: स्मोक टेस्ट से पुष्टि होती है कि बिल्ड परीक्षण योग्य है; सैनिटी टेस्ट से पुष्टि होती है कि हाल ही में किए गए सुधारों से कार्यक्षमता में कोई बाधा नहीं आई है।
26) आप माइक्रोसर्विस आर्किटेक्चर के लिए टेस्ट ऑटोमेशन फ्रेमवर्क कैसे डिजाइन करेंगे?
माइक्रोसेवाएं कई स्वतंत्र सेवाओं को प्रस्तुत करती हैं जो एपीआई के माध्यम से संचार करती हैं। इसलिए, स्वचालन फ्रेमवर्क को इस पर ध्यान केंद्रित करना चाहिए। एपीआई-स्तर सत्यापन, contracटी परीक्षण, तथा एकीकरण जांच.
दृष्टिकोण:
- उपयोग निश्चिंत रहें, Postmanया, कराटे एपीआई स्वचालन के लिए।
- बनाए रखना परीक्षण डेटा और पर्यावरण अलगाव डॉकर कंटेनरों का उपयोग करना।
- को लागू करें सेवा वर्चुअलाइजेशन (जैसे, WireMockअनुपलब्ध सेवाओं के लिए।
- एकीकृत सीआई / सीडी पाइपलाइन निरंतर तैनाती सत्यापन के लिए।
- शामिल करना साथtracटी परीक्षण API की अनुकूलता सुनिश्चित करने के लिए उपकरण (जैसे, Pact) का उपयोग किया जाता है।
उदाहरण: किसी ई-कॉमर्स ऐप के लिए, API ऑटोमेशन सूट के माध्यम से प्रत्येक सेवा — प्रमाणीकरण, कैटलॉग, ऑर्डर और भुगतान — को स्वतंत्र रूप से मान्य करें।
27) आप समानांतर निष्पादन कैसे प्राप्त कर सकते हैं, यह स्पष्ट कीजिए। Selenium.
समानांतर निष्पादन एक साथ कई परीक्षण मामलों को चलाकर कुल निष्पादन समय को कम करता है।
तरीके:
- TestNG समानांतर निष्पादन: समानांतर परीक्षणों को परिभाषित करें testng.xml.
- Selenium ग्रिड: कई ब्राउज़रों/नोड्स पर परीक्षण चलाएँ।
- क्लाउड टेस्टिंग प्लेटफॉर्म: डिस्ट्रीब्यूटेड रन के लिए BrowserStack या Sauce Labs जैसी सेवाओं का उपयोग करें।
- डॉकर-Selenium सेटअप: स्केलेबल निष्पादन के लिए कंटेनरीकृत नोड्स बनाएं।
उदाहरण XML:
<suite name="ParallelTests" parallel="tests" thread-count="3">
समानांतर निष्पादन सीआई पाइपलाइनों में तेज़ फीडबैक लूप सुनिश्चित करता है और प्रतिगमन चक्रों को गति देता है।
28) स्वचालित परीक्षण के क्या फायदे और नुकसान हैं?
| पहलू | फायदे | नुकसान |
|---|---|---|
| गति | परीक्षणों को शीघ्रता से निष्पादित करता है | प्रारंभिक सेटअप समय |
| शुद्धता | मानवीय त्रुटि को समाप्त करता है | प्रारंभिक परीक्षण तक सीमित |
| रेस की क्षमता | स्क्रिप्ट्स को विभिन्न बिल्ड्स में पुन: उपयोग किया जाता है | रखरखाव उपरि |
| व्याप्ति | व्यापक और गहन कवरेज | जटिल परीक्षण डेटा सेटअप |
| एकीकरण | आसान CI/CD संगतता | कुशल संसाधनों की आवश्यकता है |
सारांश: स्वचालन से दक्षता में सुधार होता है, लेकिन बड़े डेटाबेस को बनाए रखने के लिए मजबूत फ्रेमवर्क डिजाइन और निरंतर रखरखाव की आवश्यकता होती है।
29) आप गतिशील तत्वों को कैसे संभालते हैं? Selenium?
गतिशील तत्व अपने गुणों (जैसे आईडी या क्लास) को बार-बार बदलते रहते हैं।
रणनीतियाँ:
- उपयोग XPath फ़ंक्शन: contains(), starts-with()या, पाठ ().
- पसंद करते हैं सीएसएस चयनकर्ता भंगुर XPaths पर।
- लागू करें स्पष्ट प्रतीक्षा (वेबड्राइवरवेट) स्थिर विलंब के बजाय।
- उपयोग सापेक्ष लोकेटर in Selenium 4 (ऊपर(), पास(), और इतने पर).
उदाहरण:
driver.findElement(By.xpath("//button[contains(text(),'Submit')]")).click();
इससे DOM में बदलाव होने के बावजूद परीक्षण की स्थिरता सुनिश्चित होती है।
30) डेटा पैरामीटराइजेशन करने के विभिन्न तरीके क्या हैं? TestNG?
डेटा पैरामीटराइजेशन यह कई डेटासेट के लिए परीक्षणों के पुन: उपयोग में मदद करता है।
दृष्टिकोण:
- @डेटाप्रदाता एनोटेशन: प्रोग्रामेटिक रूप से डेटा प्रदान करता है।
- @पैरामीटर XML में: रनटाइम पैरामीटर पास करता है।
- बाह्य फ़ाइलें: एक्सेल (अपैची पीओआई के माध्यम से), सीएसवी या जेजेएस।
- डेटाबेस स्रोत: डेटाबेस से गतिशील परीक्षण डेटा प्राप्त करें।
उदाहरण:
@DataProvider(name="loginData")
public Object[][] data(){
return new Object[][]{{"user1","pass1"},{"user2","pass2"}};
}
31) आप टेस्ट ऑटोमेशन के प्रदर्शन को कैसे मापते और सुधारते हैं?
ऑटोमेशन सूट के प्रदर्शन को बेहतर बनाने के लिए, निम्नलिखित कारकों पर विचार करें:
- समानांतर परीक्षण निष्पादन
- चयनात्मक प्रतिगमन रन
- बाह्य सेवाओं का उपहास करना
- कुशल परीक्षण डेटा प्रबंधन
- अनावश्यक प्रतीक्षा और ठहराव को कम करें
- Allure जैसे टूल का उपयोग करके प्रोफाइल स्लो टेस्ट करें। JUnit रिपोर्टों
मैट्रिक्स Track:
- प्रति सूट निष्पादन समय
- परीक्षा उत्तीर्ण/अनुत्तीर्ण अनुपात
- परतदार परीक्षण दर
- पता लगाने का औसत समय (एमटीटीडी)
सुधार के लिए CI/CD डैशबोर्ड से प्राप्त रिपोर्टों का निरंतर अनुकूलन और विश्लेषण आवश्यक है।
32) मॉक ऑब्जेक्ट क्या हैं, और परीक्षण में वे क्यों महत्वपूर्ण हैं?
नकली वस्तुएं परीक्षण के दौरान अनुपलब्ध या धीमे वास्तविक घटकों का अनुकरण करना। वे इसमें महत्वपूर्ण भूमिका निभाते हैं। इकाई और एकीकरण परीक्षण.
बक्सों का इस्तेमाल करें:
- बाह्य API (भुगतान, ईमेल, आदि) का अनुकरण करना
- पूर्ण एकीकरण से पहले आश्रित मॉड्यूल का परीक्षण करना
- नेटवर्क लेटेंसी के प्रभाव को कम करना
उदाहरण: का प्रयोग Mockito in Java:
UserService mockService = mock(UserService.class);
when(mockService.getUser("123")).thenReturn(new User("John"));
मॉक टेस्ट बाहरी निर्भरताओं को समाप्त करके विश्वसनीयता और गति को बढ़ाते हैं।
33) लोड टेस्टिंग और स्ट्रेस टेस्टिंग में क्या अंतर है?
| प्रकार | उद्देश्य | परिदृश्य उदाहरण |
|---|---|---|
| लोड परीक्षण | अपेक्षित भार के तहत प्रदर्शन की जाँच करता है | 1000 समवर्ती उपयोगकर्ता |
| तनाव परीक्षण | चरम परिस्थितियों में स्थिरता का मूल्यांकन करता है | 5000 से अधिक समवर्ती उपयोगकर्ता या डेटाबेस विफलता |
| परिणाम | सिस्टम की स्केलेबिलिटी को मापता है | टूटने के बिंदु को निर्धारित करता है |
उपकरणों का इस्तेमाल: JMeter, गैटलिंग, लोकस्ट.
दोनों ही बाधाओं की पहचान करने और संसाधनों के उपयोग को अनुकूलित करने में मदद करते हैं।
34) आप परीक्षण की विश्वसनीयता कैसे सुनिश्चित कर सकते हैं और अस्थिर परीक्षण विफलताओं को कैसे कम कर सकते हैं?
सुनिश्चित करने के लिए परीक्षण विश्वसनीयताइन रणनीतियों का पालन करें:
- उपयोग स्पष्ट प्रतीक्षा निश्चित विलंबों के बजाय।
- टेस्टों के बीच निर्भरता से बचें।
- पर्यावरणीय डेटा से परीक्षणों को अलग करें।
- उपयोग नकली सर्वर स्थिर अंतिम बिंदुओं के लिए।
- रोजगार पुनः प्रयास तंत्र और परीक्षण टैगिंग परतदारपन के रुझानों की निगरानी के लिए।
सीआई परीक्षण परिणामों में विश्वास बनाए रखने के लिए, अस्थिर परीक्षणों को लॉग किया जाना चाहिए, अलग रखा जाना चाहिए और उनका विश्लेषण किया जाना चाहिए।
35) एक सरल कोड स्निपेट लिखें जो यह जांच सके कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं। Java.
यह SDET का एक सामान्य कोडिंग प्रश्न है जिसका उपयोग तर्क और भाषा दक्षता का आकलन करने के लिए किया जाता है।
public class PalindromeCheck {
public static void main(String[] args) {
String str = "madam";
String rev = new StringBuilder(str).reverse().toString();
if(str.equalsIgnoreCase(rev))
System.out.println("Palindrome");
else
System.out.println("Not Palindrome");
}
}
स्पष्टीकरण: स्ट्रिंग को उल्टा किया जाता है StringBuilderयदि उलटी की गई स्ट्रिंग मूल स्ट्रिंग के बराबर है (केस को अनदेखा करते हुए), तो यह एक पैलिंड्रोम है।
36) आप किसी असफल स्वचालित परीक्षण को कैसे डीबग करते हैं?
एक SDET के लिए डिबगिंग सबसे महत्वपूर्ण कौशलों में से एक है। जब कोई परीक्षण विफल हो जाता है, तो यह निर्धारित करना आवश्यक है कि समस्या किस SDET में है। एप्लिकेशन, परीक्षण स्क्रिप्टया, वातावरण.
व्यवस्थित डिबगिंग दृष्टिकोण:
- प्रतिलिपि प्रस्तुत करना यह मुद्दा स्थानीय स्तर पर है।
- लॉग का विश्लेषण करें (एप्लिकेशन लॉग, परीक्षण रिपोर्ट, सीआई लॉग)।
- स्क्रीनशॉट और कंसोल आउटपुट कैप्चर करें।
- चयनकर्ताओं को मान्य करें या ब्राउज़र डेवलपर टूल्स का उपयोग करके लोकेटर।
- नेटवर्क/एपीआई प्रतिक्रियाओं की जाँच करें (विशेष रूप से यूआई परीक्षण विफलताओं के लिए)।
- Revहाल ही में हुए कोड परिवर्तनों को देखें वर्जन कंट्रोल में।
- डीबगिंग सक्षम करके पुनः चलाएँ (जैसे, TestNG -डीबग मोड)।
सुझाव: हमेशा यह सुनिश्चित करें कि परीक्षण एकसमान हों — उन्हें कई बार चलाने पर एक ही परिणाम मिलना चाहिए।
37) आप सिंक्रोनाइज़ेशन संबंधी समस्याओं को कैसे संभालते हैं? Selenium?
Syncस्क्रिप्ट के एप्लिकेशन लोड होने की गति से अधिक तेजी से निष्पादित होने पर क्रोनाइजेशन संबंधी समस्याएं उत्पन्न होती हैं।
समाधान की:
- अप्रत्यक्ष प्रतीक्षा: यह वैश्विक स्तर पर लागू होता है (जटिल परीक्षणों के लिए अनुशंसित नहीं)।
- स्पष्ट प्रतीक्षा: विशिष्ट तत्वों या स्थितियों की प्रतीक्षा करें वेबड्राइवरप्रतीक्षा करें.
- धाराप्रवाह प्रतीक्षा: यह पोलिंग फ्रीक्वेंसी की अनुमति देता है और अपवादों को अनदेखा करता है।
उदाहरण:
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("loginBtn")));
स्पष्ट प्रतीक्षा प्रणाली बारीक नियंत्रण प्रदान करती है, जिससे गतिशील वेब अनुप्रयोगों में स्थिरता सुनिश्चित होती है।
38) आप स्वचालित परीक्षणों का प्रभावी ढंग से संस्करण नियंत्रण कैसे करते हैं?
SDET टीमें टेस्ट कोड को ठीक उसी तरह मैनेज करती हैं जैसे एप्लिकेशन कोड को।
सर्वोत्तम प्रथाएं:
- उपयोग जाना संस्करण नियंत्रण के लिए.
- बनाए रखना शाखापर रणनीति (फीचर, रिलीज, मेन)।
- को लागू करें पुल रिक्वेस्ट (पीआर) सहकर्मी समीक्षाओं के साथ।
- टैग परीक्षण चलता है कमिट हैश के साथ tracक्षमता।
- दुकान परीक्षण रिपोर्ट और कलाकृतियाँ CI/CD स्टोरेज या S3 बकेट में।
उदाहरण: ऑटोमेशन रिपॉजिटरी अक्सर एप्लिकेशन रिपॉजिटरी के समान होती हैं - संरेखण सुनिश्चित करने के लिए प्रति रिलीज चक्र एक शाखा।
39) आप REST API एंडपॉइंट का परीक्षण कैसे करेंगे, यह समझाइए। Postman और स्वचालन.
REST API का परीक्षण करने में उसकी कार्यक्षमता, प्रदर्शन और डेटा अखंडता का सत्यापन शामिल होता है।
का प्रयोग Postman:
- एक एंडपॉइंट और एक HTTP मेथड के साथ एक नया अनुरोध बनाएं।
- हेडर जोड़ें (Authorization, Content-Type)।
- POST/PUT के लिए पेलोड जोड़ें।
- स्क्रिप्ट के माध्यम से प्रतिक्रिया की स्थिति और बॉडी को मान्य करें (पीएम.एक्सपेक्ट).
स्वचालन का उपयोग करना (रेस्टअश्योर्ड उदाहरण):
given().header("Content-Type","application/json")
.when().get("https://api/users/1")
.then().statusCode(200)
.body("data.id", equalTo(1));
सुझाव: हमेशा शामिल करें नकारात्मक परीक्षण (उदाहरण के लिए, अमान्य टोकन या गुम पैरामीटर) मजबूती सुनिश्चित करने के लिए।
40) बड़े पैमाने पर स्वचालन में आप परीक्षण वातावरण का प्रबंधन कैसे करते हैं?
पर्यावरण प्रबंधन यह सुनिश्चित करता है कि स्वचालन विकास, स्टेजिंग और उत्पादन प्रतिकृतियों में लगातार चलता रहे।
सर्वोत्तम प्रथाएं:
- पर्यावरण कॉन्फ़िगरेशन (URL, क्रेडेंशियल) को इसमें संग्रहीत करें बाह्य फ़ाइलें (YAML, JSON).
- को लागू करें पर्यावरण चयनकर्ता मेवन प्रोफाइल या पर्यावरण चर का उपयोग करके।
- उपयोग डॉकर कंटेनर वातावरणों को लगातार दोहराने के लिए।
- बनाए रखना डेटा अलगाव (उदाहरण के लिए, समर्पित परीक्षण खाते)।
उदाहरण: उपयोग config.गुण पर्यावरण डेटा को गतिशील रूप से लोड करने के लिए फ़ाइल।
41) स्टब और मॉक में क्या अंतर है?
| पहलू | ठूंठ | दिखावटी |
|---|---|---|
| उद्देश्य | पूर्वनिर्धारित प्रतिक्रियाएँ प्रदान करता है | व्यवहार/अंतःक्रियाओं का सत्यापन करता है |
| प्रयोग | डेटा सेटअप के लिए उपयोग किया जाता है | मेथड कॉल की पुष्टि करने के लिए उपयोग किया जाता है |
| सत्यापन | कोई सत्यापन नहीं | अपेक्षा सत्यापन है |
| उदाहरण उपकरण | कस्टम डमी क्लास | Mockito ढांचा |
उदाहरण:
// Mock verify(mockObject, times(1)).processData();
मॉक्स यह सत्यापित करते हैं कि आश्रित विधियों को सही ढंग से कॉल किया गया है - स्टब्स केवल नकली डेटा लौटाते हैं।
42) आप अपने टेस्ट ऑटोमेशन आर्किटेक्चर में स्केलेबिलिटी कैसे सुनिश्चित करते हैं?
स्केलेबिलिटी यह सुनिश्चित करती है कि एप्लिकेशन के बढ़ने के साथ-साथ आपका ऑटोमेशन भी बढ़ सके।
मूल सिद्धांत:
- मॉड्यूलर डिजाइन: अलग-अलग चिंताओं को अलग करें (परीक्षण, उपयोगिताएँ, रिपोर्ट)।
- समांतरता: ग्रिड या क्लाउड प्रदाताओं का उपयोग करें।
- लूस कपलिंग: फ्रेमवर्क को नए मॉड्यूल के साथ आसानी से अनुकूलित होना चाहिए।
- सीआई/सीडी एकीकरण: पाइपलाइनों में निरंतर निष्पादन।
- संस्करण संगतता: विभिन्न टूल और लाइब्रेरी के लिए समर्थन सुनिश्चित करें।
उदाहरण: डिजाइन फ्रेमवर्क परतें बेसटेस्ट, पेजऑब्जेक्ट, यूटिल्स, तथा टेस्ट आसान विस्तार को सक्षम करने के लिए पैकेज।
43) लिखिए Java किसी ऐरे से डुप्लिकेट मानों को हटाने का प्रोग्राम।
import java.util.*;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] nums = {1, 2, 2, 3, 4, 4, 5};
Set<Integer> unique = new LinkedHashSet<>();
for(int n : nums) unique.add(n);
System.out.println(unique);
}
}
स्पष्टीकरण: RSI लिंक्डहैशसेट यह क्रम को बनाए रखते हुए स्वचालित रूप से डुप्लिकेट को हटा देता है - यह एक सामान्य SDET कोडिंग प्रश्न है जो बुनियादी डेटा संरचना ज्ञान का परीक्षण करता है।
44) सतत परीक्षण क्या है, और यह डेवऑप्स से कैसे संबंधित है?
सतत परीक्षण (सीटी) इसका अर्थ है सॉफ्टवेयर डिलीवरी लाइफसाइकिल के दौरान परीक्षण करना — कोड कमिट से लेकर डिप्लॉयमेंट तक।
डेवऑप्स के साथ संबंध:
- सीटी यह सुनिश्चित करता है कि पाइपलाइन के प्रत्येक चरण का सत्यापन स्वचालित रूप से हो।
- सीआई/सीडी टूल्स जैसे Jenkins प्रत्येक कमिट के बाद परीक्षण ट्रिगर करें।
- यह गति बढ़ाता है फ़ीडबैक लूप्स और सुनिश्चित करता है आत्मविश्वास मुक्त करें.
लाभ:
- शीघ्र दोष का पता लगाना
- कम मैनुअल हस्तक्षेप
- रिलीज की गति में वृद्धि
उदाहरण: तैनाती से पहले प्रत्येक मर्ज बिल्ड के बाद स्वचालित रिग्रेशन और स्मोक टेस्ट शुरू किए जाते हैं।
45) आप वेब अनुप्रयोगों में प्रदर्शन संबंधी बाधाओं की पहचान कैसे करते हैं?
प्रदर्शन संबंधी अड़चनें ये कुछ ऐसे धीमे बिंदु हैं जो उपयोगकर्ता अनुभव को खराब करते हैं।
चरण:
- जैसे उपकरण का उपयोग करें JMeter, गैटलिंगया, प्रकाशस्तंभ प्रोफाइलिंग के लिए।
- विश्लेषण करें प्रतिक्रिया समय, थ्रूपुट, तथा सीपीयू/मेमोरी उपयोग.
- उपयोग एपीएम उपकरण (नया अवशेष, Dynatraceकोड-स्तर के लिए tracआईएनजी.
- पहचान करना डेटाबेस धीमी क्वेरी or एपीआई विलंबता.
- को लागू करें कैशिंग और कनेक्शन पूलिंग अनुकूलन।
उदाहरण मैट्रिक्स तालिका:
| मैट्रिक | आदर्श मूल्य | उल्लंघन होने पर कार्रवाई |
|---|---|---|
| अनुक्रिया काल | <2 सेकंड | API या DB क्वेरी को ऑप्टिमाइज़ करें |
| सि पि यु का उपयोग | <80% | कोड को अनुकूलित करें या संसाधनों को बढ़ाएं |
| मेमोरी उपयोग | <70% | लीकेज ठीक करें या जीसी को ट्यून करें |
46) टेस्ट ऑटोमेशन फ्रेमवर्क में उपयोग किए जाने वाले कुछ डिज़ाइन पैटर्न क्या हैं?
डिजाइन पैटर्न टेस्ट ऑटोमेशन फ्रेमवर्क बनाने में मदद करते हैं। मॉड्यूलर, रखरखाव योग्य, तथा स्केलेबल.
सामान्य पैटर्न में निम्नलिखित शामिल हैं:
| पैटर्न | उद्देश्य | उदाहरण |
|---|---|---|
| पेज ऑब्जेक्ट मॉडल (POM) | पृष्ठ तत्वों को समाहित करता है | Selenium चौखटे |
| एकाकी वस्तु | सिंगल ड्राइवर इंस्टेंस सुनिश्चित करता है | वेबड्राइवर सेटअप क्लास |
| फैक्टरी पैटर्न | ऑब्जेक्ट निर्माण का प्रबंधन करता है | ब्राउज़र के लिए ड्राइवरफ़ैक्टरी |
| रणनीति पैटर्न | यह कई रणनीतियों को गतिशील रूप से समर्थन देता है। | विभिन्न भूमिकाओं के लिए लॉगिन को संभालना |
| प्रेक्षक पैटर्न | Tracks परीक्षण घटनाएँ | रिपोर्ट के लिए लॉगिंग श्रोता |
उदाहरण: वेबड्राइवर के लिए सिंगलटन पैटर्न का उपयोग करने से समानांतर परीक्षणों के दौरान कई इंस्टेंसों के बीच टकराव को रोका जा सकता है।
47) स्वचालन में आप परीक्षण डेटा प्रबंधन को कैसे संभालेंगे?
टेस्ट डेटा मैनेजमेंट (टीडीएम) विश्वसनीय, दोहराने योग्य और सुसंगत परीक्षण निष्पादन सुनिश्चित करता है।
दृष्टिकोण:
- स्थिर डेटा: JSON, XML या Excel फ़ाइलों में संग्रहीत।
- गतिशील डेटा: रनटाइम पर जनरेट किया गया (UUID, टाइमस्टैम्प)।
- डेटाबेस-आधारित: क्वेरी के माध्यम से वास्तविक डेटा प्राप्त करें।
- एपीआई द्वारा जनरेट किया गया: मॉक डेटा बनाने के लिए प्री-टेस्ट एपीआई कॉल का उपयोग करें।
- डेटा मास्किंग: परीक्षण वातावरण में संवेदनशील जानकारी की सुरक्षा करता है।
सर्वश्रेष्ठ प्रणालियां: डेटा को स्क्रिप्ट में हार्ड-कोड करने के बजाय बाहरी स्रोतों में रखें। स्केलेबिलिटी के लिए इनपुट को गतिशील रूप से उत्पन्न करने के लिए फ़ैक्टरियों का उपयोग करें।
48) बड़े स्वचालन सूटों के रखरखाव में कुछ प्रमुख चुनौतियाँ क्या हैं?
सामान्य चुनौतियाँ:
- बारंबार यूआई बदल जाता है ब्रेक लोकेटर।
- परतदार परीक्षण पर्यावरणीय अस्थिरता के कारण।
- धीमा निष्पादन अनावश्यक परीक्षणों के कारण।
- खराब तरीके से मॉड्यूलर किए गए स्क्रिप्ट रखरखाव लागत में वृद्धि।
- डेटा निर्भरताएँ जिसके परिणामस्वरूप परीक्षण दोहराए नहीं जा सकते।
समाधान की:
- गोद लेना मॉड्यूलर फ्रेमवर्क डिजाइन.
- सक्षम समानांतर दौड़ सीआई/सीडी में।
- पुराने हो चुके परीक्षणों की लगातार समीक्षा करें और उन्हें हटा दें।
- को लागू करें मजबूत लॉगिंग और निगरानी।
49) आप रिएक्ट या एंगुलर वेब एप्लिकेशन के लिए टेस्टिंग को स्वचालित कैसे करेंगे?
आधुनिक फ्रंट-एंड फ्रेमवर्क (रिएक्ट, एंगुलर) एसिंक्रोनस रेंडरिंग पर काफी हद तक निर्भर करते हैं।
सर्वोत्तम प्रथाएं:
- उपयोग स्पष्ट प्रतीक्षा अतुल्यकालिक लोडिंग को संभालने के लिए।
- पसंद करते हैं डेटा-टेस्टआईडी स्थिर लोकेटरों के लिए विशेषताएँ।
- जैसे उपकरणों का लाभ उठाएँ Cypressनाटककारया, टेस्ट कैफे.
- मान्य घटक अवस्थाएँ और DOM स्नैपशॉट प्रतिगमन के लिए।
उदाहरण:
cy.get('[data-testid="submitBtn"]').click()
cy.url().should('include', '/dashboard')
क्यों: Cypressइसके ऑटोमैटिक वेट और टाइम-ट्रैवल डिबगिंग फीचर्स इसे आधुनिक JS-आधारित ऐप्स के लिए उत्कृष्ट बनाते हैं।
50) आप ऑटोमेशन टेस्टिंग में एपीआई स्कीमा सत्यापन को कैसे संभालते हैं?
स्कीमा सत्यापन यह सुनिश्चित करता है कि एपीआई प्रतिक्रियाएं अपेक्षित डेटा संरचनाओं के अनुरूप हों।
रेस्टअश्योर्ड का उपयोग करना:
given().get("/users/1")
.then().assertThat()
.body(matchesJsonSchemaInClasspath("user-schema.json"));
लाभ:
- यह अनुपलब्ध या गलत नाम वाले फ़ील्ड का जल्द पता लगा लेता है।
- पश्चगामी संगतता की गारंटी देता है।
- रनटाइम सीरियलाइज़ेशन संबंधी समस्याओं को रोकता है।
सुझाव: CI सत्यापन के लिए परीक्षणों के साथ-साथ स्कीमा को भी Git में वर्शन के रूप में रखें।
51) आप डेवलपमेंट और क्यूए में असंगत वातावरण से कैसे निपटते हैं?
दृष्टिकोण:
- उपयोग डाक में काम करनेवाला मज़दूर or Kubernetes वातावरणों को कंटेनरीकृत करने के लिए।
- कॉन्फ़िगरेशन को स्टोर करें पर्यावरण चर.
- उपयोग विशेषता झंडे अपूर्ण कार्यक्षमता को चालू/बंद करने के लिए।
- पर्यावरण प्रोविजनिंग को स्वचालित करें terraform or Ansible.
- को लागू करें नकली सर्वर अनुपलब्ध एपीआई के लिए।
लक्ष्य: पाना पर्यावरण समता देव, क्यूए और स्टेजिंग के बीच समन्वय स्थापित करना — "मेरी मशीन पर काम करता है" जैसी समस्याओं को दूर करना।
52) बताइए कि आप ऑटोमेशन टेस्टिंग में डॉकर का उपयोग कैसे कर सकते हैं।
डॉकर सुसंगत और पृथक परीक्षण वातावरण सुनिश्चित करता है।
बक्सों का इस्तेमाल करें:
- रनिंग Selenium समानांतर परीक्षण के लिए ग्रिड कंटेनर।
- एकीकरण परीक्षणों के लिए वेब ऐप्स और एपीआई को स्थानीय रूप से होस्ट करना।
- संपूर्ण स्वचालन सूट को एक कंटेनर में पैक करना।
उदाहरण आदेश:
docker run -d -p 4444:4444 selenium/standalone-chrome
इससे ब्राउज़र को मैन्युअल रूप से कॉन्फ़िगर किए बिना तुरंत सेटअप करना संभव हो जाता है।
53) सतत निगरानी क्या है और इसका उपयोग QA में कैसे किया जाता है?
सतत निगरानी (सीएम) इसमें वास्तविक समय शामिल है tracउत्पादन और परीक्षण वातावरण में अनुप्रयोग स्वास्थ्य का राजा।
उपकरण: प्रोमेथियस, ग्राफाना, ईएलके स्टैक, डेटाडॉग।
QA उपयोग:
- तैनाती के बाद की त्रुटियों की पहचान करें।
- एपीआई प्रतिक्रिया समय और सिस्टम अपटाइम की निगरानी करें।
- कृत्रिम परीक्षणों के माध्यम से प्रतिगमन का पता लगाएं।
जोड़ने से सीआई, सीडी और सीएमइससे संगठनों को सॉफ्टवेयर जीवनचक्र में पूर्ण दृश्यता और विश्वसनीयता प्राप्त होती है।
54) आप इवेंट-ड्रिवन आर्किटेक्चर (काफ्का, रैबिटएमक्यू, आदि) का परीक्षण कैसे करते हैं?
इवेंट-ड्रिवन सिस्टम के परीक्षण के लिए सत्यापन की आवश्यकता होती है। संदेश प्रवाह, क्रम निर्धारण और वितरण की गारंटी।
दृष्टिकोण:
- नकली उत्पादक/उपभोक्ता।
- संदेश स्कीमा को सत्यापित करें एवरो या JSON स्कीमा.
- कम से कम एक बार या ठीक एक बार डिलीवरी के अर्थों को मान्य करें।
- लचीलेपन का परीक्षण करने के लिए विफलताओं का अनुकरण करें।
उदाहरण उपकरण:
- काफ्का स्ट्रीम्स टेस्ट यूटिलिटीज
- टेस्ट कंटेनर काफ्का के लिए
- WireMock संदेश पेलोड के लिए
55) स्वचालन की प्रभावशीलता को मापने के लिए आप किन मापदंडों का उपयोग करते हैं?
मात्रात्मक मापदंड:
- टेस्ट केस निष्पादन दर
- परीक्षा उत्तीर्ण प्रतिशत
- दोष पहचान दर
- स्वचालन कवरेज (%)
- पता लगाने और हल करने का औसत समय (MTTD)
- परतदारपन अनुपात
गुणात्मक मापदंड:
- रख-रखाव
- रेस की क्षमता
- सीआई एकीकरण विश्वसनीयता
लक्ष्य: मापने योग्य प्रभाव के माध्यम से यह प्रदर्शित करें कि स्वचालन से निवेश पर लाभ (आरओआई) प्राप्त हो रहा है।
56) आप स्वचालन के लिए परीक्षण मामलों को प्राथमिकता कैसे देते हैं?
प्राथमिकता निर्धारण कारक:
| फ़ैक्टर | दलील |
|---|---|
| उच्च व्यावसायिक प्रभाव | महत्वपूर्ण मॉड्यूल (जैसे, भुगतान) |
| उच्च प्रतिगमन आवृत्ति | अक्सर संशोधित की जाने वाली विशेषताएं |
| repetitiveness | स्वचालन के लिए आदर्श |
| स्थिर कार्यक्षमता | रखरखाव कम करता है |
| तकनीकी साध्यता | डायनामिक यूआई से पहले एपीआई |
उदाहरण: कम इस्तेमाल होने वाली सुविधाओं से पहले लॉगिन, चेकआउट और एपीआई स्वास्थ्य जांच को स्वचालित करें।
57) आप टेस्ट ऑटोमेशन में गुप्त जानकारी (टोकन, क्रेडेंशियल) को सुरक्षित रूप से कैसे प्रबंधित करते हैं?
स्क्रिप्ट में गुप्त जानकारी को कभी भी हार्ड-कोड न करें।
सर्वोत्तम प्रथाएं:
- उपयोग पर्यावरण चर or सीआई/सीडी गुप्त तिजोरियां.
- लीवरेज हाशीकॉर्प Vault, AWS राज प्रबंधकया, Azure कुंजी Vault.
- रिपोर्ट और लॉग में संवेदनशील डेटा को छुपाएं।
- रहस्यों को समय-समय पर बदलते रहें।
उदाहरण: System.getenv("API_TOKEN") रनटाइम के दौरान टोकन को सुरक्षित रूप से प्राप्त करता है।
58) एक वास्तविक दुनिया के परिदृश्य का वर्णन करें जहां आपने एक अस्थिर स्वचालन सूट को अनुकूलित किया।
परिदृश्य उदाहरण: धीमी एपीआई प्रतिक्रियाओं और गतिशील यूआई रेंडरिंग के कारण एक ई-कॉमर्स टेस्ट सूट में लगभग 20% अस्थिरता पाई गई।
उठाए गए कदम:
- कठिन प्रतीक्षाओं को इससे बदल दिया गया स्पष्ट प्रतीक्षा.
- कार्यान्वित पुनः प्रयास तर्क अस्थायी नेटवर्क समस्याओं के लिए।
- जब जोड़ा गया नकली सर्वर बाह्य निर्भरताओं के लिए।
- कॉन्फ़िगर किया गया सीआई पाइपलाइन समीक्षा के लिए असफल परीक्षणों को अलग करना।
रिजल्ट: अस्थिरता 20% से घटकर <3% हो गई, जिससे पाइपलाइन की विश्वसनीयता और डेवलपर का आत्मविश्वास बढ़ा।
59) शिफ्ट-लेफ्ट और शिफ्ट-राइट परीक्षण में क्या अंतर है?
| दृष्टिकोण | परिभाषा | ध्यानाकर्षण क्षेत्र |
|---|---|---|
| Shift-बाएं परीक्षण | SDLC में शुरुआती परीक्षण | यूनिट, एकीकरण, सीआई स्वचालन |
| Shift-सही परीक्षण | तैनाती के बाद परीक्षण | उत्पादन निगरानी, ए/बी परीक्षण |
| लक्ष्य | शुरुआती चरण में ही दोषों को रोकें | उपयोगकर्ता के व्यवहार का वास्तविक समय में अवलोकन करें |
उदाहरण: Shift-left = CI में यूनिट टेस्ट को एकीकृत करना।
Shift-right = उत्पादन में API विलंबता की निगरानी करना।
60) व्यवहार संबंधी प्रश्न — यदि आपकी स्वचालन प्रणाली रिलीज़ की समय सीमा से पहले विफल हो जाती है तो आप ऐसी स्थिति को कैसे संभालेंगे?
उत्तर ढांचा (STAR विधि):
- स्थिति: आपकी रिग्रेशन सूट तैनाती से पहले ही 30% लाल परीक्षणों के साथ विफल हो जाती है।
- कार्य: समस्या कोड में है या वातावरण में, इसका पता लगाएं।
-
कार्रवाई:
- सीआई लॉग का विश्लेषण करें।
- सबसे पहले क्रिटिकल स्मोक सूट चलाएं।
- कार्य में बाधा डालने वाली खामियों को ठीक करने के लिए डेवलपर्स के साथ सहयोग करें।
- रिलीज़ के बाद समीक्षा के लिए अस्थिर परीक्षणों को लॉग करें।
- रिजल्ट: अगले स्प्रिंट में स्वचालन को स्थिर करते हुए, मान्य महत्वपूर्ण प्रवाहों के साथ समय पर रिलीज़ वितरित की गई।
प्रदर्शित प्रमुख गुण: स्वामित्व, विश्लेषणात्मक सोच, सहयोग और जोखिम प्रबंधन।
🔍 वास्तविक परिस्थितियों के परिदृश्यों और रणनीतिक उत्तरों के साथ शीर्ष SDET साक्षात्कार प्रश्न
1) आप एसडीईटी और पारंपरिक क्यूए इंजीनियर की भूमिका में कैसे अंतर करते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता एसडीईटी की भूमिका के बारे में आपकी समझ का आकलन करना चाहता है और यह जानना चाहता है कि यह भूमिका मैनुअल टेस्टिंग से परे इंजीनियरिंग और ऑटोमेशन जिम्मेदारियों तक कैसे फैली हुई है।
उदाहरण उत्तर: एक SDET (स्टैंडर्ड टेस्ट इंजीनियर) पारंपरिक QA इंजीनियर से इस मायने में अलग होता है कि उसका ध्यान सॉफ्टवेयर डेवलपमेंट स्किल्स पर अधिक केंद्रित होता है। SDET ऑटोमेशन फ्रेमवर्क डिजाइन करने, प्रोडक्शन-लेवल टेस्ट कोड लिखने और डेवलपमेंट लाइफसाइकिल में टेस्टिंग को एकीकृत करने के लिए जिम्मेदार होता है। अपनी पिछली भूमिका में, मैंने डेवलपर्स के साथ मिलकर काम किया ताकि यह सुनिश्चित किया जा सके कि एप्लिकेशन में शुरू से ही टेस्टेबिलिटी और क्वालिटी शामिल हो।
2) आपने किन टेस्ट ऑटोमेशन फ्रेमवर्क को डिजाइन किया है या उनके साथ काम किया है, और आपने उन्हें क्यों चुना?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता स्वचालन फ्रेमवर्क के साथ आपके व्यावहारिक अनुभव और सूचित तकनीकी निर्णय लेने की आपकी क्षमता का मूल्यांकन कर रहा है।
उदाहरण उत्तर: मैंने डेटा-आधारित और व्यवहार-आधारित स्वचालन फ्रेमवर्क के साथ काम किया है। पिछली नौकरी में, मैंने एक मॉड्यूलर फ्रेमवर्क का चयन किया था क्योंकि इससे रखरखाव में आसानी होती थी और समानांतर परीक्षण निष्पादन संभव था। यह चयन परियोजना के पैमाने, टीम के कौशल स्तर और निरंतर एकीकरण पाइपलाइनों के साथ आसान एकीकरण की आवश्यकता को ध्यान में रखकर किया गया था।
3) आप यह कैसे सुनिश्चित करते हैं कि टेस्ट ऑटोमेशन समय के साथ स्थिर और रखरखाव योग्य बना रहे?
उम्मीदवार से अपेक्षित: वे दीर्घकालिक स्वचालन स्वास्थ्य और तकनीकी ऋण प्रबंधन के प्रति आपके दृष्टिकोण को समझना चाहते हैं।
उदाहरण उत्तर: मैं स्वच्छ कोड सिद्धांतों का पालन करके, उचित त्रुटि प्रबंधन लागू करके और नियमित रूप से परीक्षण स्क्रिप्टों को रिफैक्टर करके स्थिरता सुनिश्चित करता हूँ। अपनी पिछली नौकरी में, मैंने स्वचालन के लिए कोड समीक्षा शुरू की और विस्तृत लॉगिंग जोड़ी, जिससे अस्थिर परीक्षणों में काफी कमी आई और डिबगिंग दक्षता में सुधार हुआ।
4) एक ऐसी स्थिति का वर्णन करें जहाँ आपको रिलीज़ चक्र के अंत में एक गंभीर दोष का पता चला। आपने इसे कैसे संभाला?
उम्मीदवार से अपेक्षित: यह प्रश्न आपकी समस्या-समाधान कौशल, संचार क्षमता और उच्च दबाव वाली स्थितियों को संभालने की क्षमता का परीक्षण करता है।
उदाहरण उत्तर: अपनी पिछली भूमिका में, मैंने रिलीज़ से ठीक पहले एक गंभीर प्रदर्शन समस्या की पहचान की। मैंने तुरंत हितधारकों को जोखिम के बारे में सूचित किया, समस्या को दोहराने के स्पष्ट चरण बताए और समाधान को मान्य करने के लिए डेवलपर्स के साथ काम किया। पारदर्शिता और सहयोग को प्राथमिकता देकर, हमने दोषपूर्ण फ़ीचर को रिलीज़ होने से बचा लिया।
5) आप यह कैसे तय करते हैं कि किन टेस्ट केसों का परीक्षण स्वचालित रूप से किया जाना चाहिए और किनका मैन्युअल रूप से?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता आपकी रणनीतिक सोच और परीक्षण अनुकूलन की समझ देखना चाहता है।
उदाहरण उत्तर: मैं दोहराव वाले, उच्च जोखिम वाले और रिग्रेशन टेस्ट केसों के लिए स्वचालन को प्राथमिकता देता हूँ। मैन्युअल परीक्षण खोजपूर्ण और उपयोगिता संबंधी परिदृश्यों के लिए अधिक उपयुक्त है। यह संतुलित दृष्टिकोण स्वचालन प्रयासों के अधिकतम लाभ के साथ-साथ कुशल कवरेज सुनिश्चित करता है।
6) आप निरंतर एकीकरण और निरंतर वितरण पाइपलाइन में परीक्षण को कैसे एकीकृत करते हैं?
उम्मीदवार से अपेक्षित: वे डेवऑप्स प्रक्रियाओं और स्वचालन परिपक्वता के संबंध में आपके अनुभव का आकलन कर रहे हैं।
उदाहरण उत्तर: मैं स्वचालित परीक्षणों को पाइपलाइन में एकीकृत करता हूँ ताकि वे प्रत्येक कोड कमिट और डिप्लॉयमेंट पर चलें। स्मोक टेस्ट शुरुआत में चलते हैं, और बाद के चरणों में रिग्रेशन सूट चलते हैं। इससे त्वरित प्रतिक्रिया सुनिश्चित होती है और दोषों को यथाशीघ्र पकड़ने में मदद मिलती है।
7) मुझे उस समय के बारे में बताएं जब आपको गुणवत्ता संबंधी चिंताओं के कारण किसी रिलीज़ को स्थगित करना पड़ा था।
उम्मीदवार से अपेक्षित: यह आपके निर्णय लेने की क्षमता, संचार कौशल और गुणवत्ता के प्रति प्रतिबद्धता का मूल्यांकन करता है।
उदाहरण उत्तर: एक बार मैंने कुछ गंभीर और अनसुलझे दोषों को देखा जिनसे उपयोगकर्ताओं को खतरा था। मैंने नेतृत्व को स्पष्ट डेटा और परीक्षण परिणाम प्रस्तुत किए, और संभावित प्रभाव को समझाया। राय के बजाय तथ्यों पर ध्यान केंद्रित करके, मैं रिलीज़ को स्थगित करने के निर्णय को प्रभावित करने में सफल रहा।
8) जब स्वचालन कार्य पूरे नहीं होते हैं तो आप समय सीमा का सख्ती से पालन कैसे करते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता दबाव में आपकी प्राथमिकता निर्धारण क्षमता और अनुकूलनशीलता को समझना चाहता है।
उदाहरण उत्तर: मैं सबसे पहले सबसे महत्वपूर्ण प्रक्रियाओं को स्वचालित करने पर ध्यान केंद्रित करता हूँ और व्यावहारिक अपेक्षाएँ बताता हूँ। आवश्यकता पड़ने पर, मैं लक्षित मैन्युअल परीक्षण के साथ स्वचालन को पूरक बनाता हूँ। यह दृष्टिकोण डिलीवरी समयसीमा से समझौता किए बिना व्यापक कवरेज सुनिश्चित करता है।
9) आप अपने परीक्षण प्रयासों की प्रभावशीलता को मापने के लिए किन मापदंडों का उपयोग करते हैं?
उम्मीदवार से अपेक्षित: वे यह जानना चाहते हैं कि आप गुणवत्ता को किस प्रकार मापते हैं और track सुधार।
उदाहरण उत्तर: मैं डिफेक्ट लीकेज, ऑटोमेशन कवरेज, टेस्ट एग्जीक्यूशन टाइम और फेलियर ट्रेंड्स जैसे मापदंडों का उपयोग करता हूं। ये मापदंड टेस्टिंग में कमियों को पहचानने और निरंतर सुधार की पहलों को दिशा देने में सहायक होते हैं।
10) आप एसडीईटी के रूप में अपने कौशल को कैसे अद्यतन रखते हैं?
उम्मीदवार से अपेक्षित: साक्षात्कारकर्ता तेजी से विकसित हो रहे क्षेत्र में निरंतर सीखने के प्रति आपकी प्रतिबद्धता का आकलन कर रहा है।
उदाहरण उत्तर: मैं तकनीकी ब्लॉग, ऑनलाइन कोर्स और व्यावहारिक प्रयोगों के माध्यम से नियमित रूप से नए परीक्षण उपकरण, प्रोग्रामिंग पद्धतियाँ और उद्योग के रुझानों का अध्ययन करता हूँ। नवीनतम जानकारी से अवगत रहने से मुझे अपनी टीम में आधुनिक और कुशल परीक्षण पद्धतियाँ लागू करने में मदद मिलती है।
