मैं दो अनुप्रयोगों के साथ प्रोजेक्ट पर काम कर रहा हूं: एंड्रॉइड ऐप (क्लाइंट) और बाकी सेवा (सर्वर)। मेरा एंड्रॉइड ऐप मेरी बाकी सेवा का उपभोग करता है।क्लाइंट - सर्वर एकीकरण परीक्षण: नकली या नहीं?
दोनों अनुप्रयोगों को अलग-अलग परीक्षण किया जाता है यह सुनिश्चित करने के लिए कि वे अपेक्षित रूप से अपना व्यवसाय कर रहे हैं। सर्वर परीक्षणों के दौरान मैं अनुरोध तैयार करता हूं और सर्वर प्रतिक्रियाओं की जांच करता हूं। क्लाइंट परीक्षणों के दौरान मैंने एक साधारण http नकली सर्वर स्थापित किया और विभिन्न मॉक किए गए प्रतिक्रियाओं के विरुद्ध क्लाइंट के अनुरोधों का परीक्षण किया।
अब, यह तकनीक बहुत अच्छी तरह से काम करती है। यह मुझे पसंद करता है एक लचीलापन देता है। मैं विभिन्न परीक्षण ढांचे और निरंतर एकीकरण वातावरण का उपयोग कर सकते हैं। लेकिन एक कमजोर बिंदु है। दोनों (क्लाइंट और सर्वर) परीक्षण मामलों में मैं एक ही एपीआई निर्दिष्ट करता हूं। मुझे लगता है कि उदा।
GET /foo-list.json
HTTP 200 वापस आ जाएगी json
[{
id: 1,
name: foo1,
}, {
id: 2,
name: foo2
}]
साथ तो मैं अपने आप को दोहरा रहे हैं। अगर मैं एक प्रतिक्रिया प्रारूप बदलता हूं तो मेरे क्लाइंट परीक्षण विफल नहीं होंगे।
मेरा प्रश्न इस तरह के परिदृश्य का परीक्षण करने में अच्छी प्रथाओं के बारे में है। स्वतंत्र परीक्षणों की लचीलापन बलिदान के बिना सही एकीकरण परीक्षण कैसे करें। क्या मुझे क्लाइंट को मॉक किए गए सर्वर के साथ या मेरी बाकी सेवा के वास्तविक उदाहरण के साथ परीक्षण करना चाहिए?
कृपया अपना व्यावसायिक अनुभव साझा करें।
मुझे बताएं कि क्या आप मुझे विस्तृत करना चाहते हैं - मुझे एहसास है कि यह आपके लिए एक उत्तर का थोड़ा सा सामान्य हो सकता है। –
आप दोनों एकीकरण और इकाई परीक्षण की आवश्यकता के बारे में सही हैं। मेरा सवाल * एकीकरण * परीक्षण के बारे में है। जब मैं सेवा के साथ ग्राहक के एकीकरण की जांच करता हूं, तो क्या मुझे सेवा का मज़ाक उड़ाया जाना चाहिए या क्या मुझे सेवा का असली उदाहरण चलाना चाहिए? – promanski
ठीक है, कुछ मामलों में, एकीकरण परीक्षण का उद्देश्य सीमाओं में परीक्षण करना होगा। हमारे पर्यावरण में, मुझे यह काम करने के लिए एकीकरण परीक्षण के लिए सेवा के परीक्षण संस्करण का उपयोग करने की तरह कुछ करने की संभावना होगी। आप अपने एकीकरण परीक्षण संदर्भ के हिस्से के रूप में चल रहे एक स्टैंडअलोन परीक्षण सर्वर की तरह कुछ भी प्राप्त करने में सक्षम हो सकते हैं। संक्षिप्त उत्तर - हां, एकीकरण परीक्षण करने के लिए मैं ऐप को सेवा कॉल करने के लिए एक रास्ता खोजने की सलाह दूंगा, बजाय उन्हें मजाक करने के बजाय। –