QA इंजीनियर इंटरव्यू सवाल

पूरे सिस्टम को खड़ा किए बिना आप कैसे टेस्ट करते हैं कि दो services अब भी साथ काम करती हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

contract testing इस्तेमाल कीजिए। consumer बताता है कि वह कौन सी requests करता है और response के किस आकार पर निर्भर है, वह उम्मीद एक contract के तौर पर प्रकाशित होती है, और provider उसे अपने ही pipeline में जांचता है। तब दोनों पक्ष अलग अलग और तेजी से टेस्ट करते हैं, और तोड़ने वाला बदलाव किसी साझा environment में दिनों बाद दिखने की जगह provider के build को फेल कर देता है।

इंटरव्यूअर यह क्यों पूछते हैं

microservices वाले माहौल में end to end environments धीमे, महंगे और हमेशा आधे टूटे रहते हैं, इसलिए इंटरव्यूअर जानना चाहते हैं कि आपके पास सब कुछ खड़ा कर दो से बेहतर कोई जवाब है या नहीं। कीमती बारीकी यह है कि जांच provider के pipeline में चलती है, और यही असल में टूटना रोकता है। यह जानना कि contract provider के पूरे API की नहीं, consumer के असली इस्तेमाल की बात करता है, सच्ची समझ दिखाता है।

अपना जवाब कैसे स्ट्रक्चर करें

  • पूरे environment वाले end to end टेस्ट की दिक्कत बताएं।
  • consumer driven contracts को एक साफ क्रम में समझाएं।
  • इस पर जोर दें कि provider contract अपने ही build में जांचता है।
  • साफ करें कि contract क्या कवर करता है और क्या नहीं।
  • बताएं कि आप end to end टेस्ट अब भी किसलिए रखते हैं।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

पूरे end to end environment मुट्ठी भर services से आगे टिकते ही नहीं। वे धीमे हैं, उनमें हर टीम का ताजा build एक साथ ठीक चाहिए, और कुछ लाल होने पर पहला सवाल हमेशा यही होता है कि यह असली defect है या environment। contract testing इससे बचकर निकलती है। consumer provider के एक local stub के खिलाफ टेस्ट लिखता है, और वे बातचीत एक contract के तौर पर दर्ज हो जाती हैं: इस request के लिए, मैं इन types वाले इन fields पर निर्भर हूं। वह contract प्रकाशित होता है, और provider का अपना pipeline उसे असली provider implementation पर दोबारा चलाता है। अगर कोई किसी field का नाम बदलता है या type बदलता है, तो उनका build फेल होता है, उनके ही repo में, बदलाव के मिनटों बाद, और message बताता है कि कौन सा consumer टूट रहा है। पूरी कीमत यही है: feedback वहीं गिरता है जहां बदलाव हुआ था। जो बारीकी कहने लायक है वह यह कि contract सिर्फ उतना कवर करता है जितना consumer सच में इस्तेमाल करता है, provider की पूरी सतह नहीं, इसलिए यह provider के अपने functional टेस्ट की जगह नहीं लेता, और यह कारोबारी सहीपन नहीं, आपस में मेल जांचता है। उन चंद यात्राओं के लिए मैं अब भी एक छोटा end to end suite रखता हूं जिन्हें सच में services के आर पार साबित करना जरूरी है।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • जब provider को जानबूझकर कोई तोड़ने वाला बदलाव करना हो तो क्या होता है?
  • consumers के बदलते रहने पर contracts को बासी होने से कैसे बचाते हैं?
  • जब provider कोई तीसरा पक्ष हो जो आपके हाथ में न हो, तब यह कैसे चलता है?

QA इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं