मेरी कंपनी में, हमारे पास जावा वेब एप्लिकेशन में जुनीट का उपयोग करके एकीकरण परीक्षण का बढ़ता सेट है। प्रत्येक परीक्षण परीक्षण के लिए आवश्यक डेटा के साथ डेटाबेस को पॉप्युलेट करने के लिए कुछ विशिष्ट बाहरी एक्सएमएल फाइलों का उपयोग करता है। समस्या है:स्वचालित परीक्षण डेटा के साथ महंगा रखरखाव
- जब मॉडल में कोई परिवर्तन होता है, हम सब एक्सएमएल फाइल (हम एक्सएमएल फाइल के सैकड़ों, अतिरेक के साथ उनमें से एक बहुत कुछ है) को दूर करने के लिए एक लंबे समय ले लो।
- एक एक्सएमएल फ़ाइल बनाने की जटिलता मैन्युअल रूप से विभिन्न परिदृश्यों का पता लगाने के लिए प्रोग्रामर को हतोत्साहित करती है।
- हमारे पास परीक्षण डेटा और परीक्षण के बीच कोई लिंक नहीं है (उदा। परीक्षण में मुझे एक्सएमएल द्वारा डाले गए उपयोगकर्ता का 'नाम' नहीं पता है)। हम जिस जानकारी की हमें जरूरत है उसे हार्ड कोड कर सकते हैं, लेकिन यह एक्सएमएल और हार्ड कोड किए गए डेटा को सिंक्रनाइज़ करने के लिए रखरखाव का समय भी बढ़ाएगा।
इस समस्या का सामना करते हुए, मैंने प्रत्येक परीक्षण के लिए परीक्षण डेटा उत्पन्न करने के लिए अपने सिस्टम CRUD का उपयोग करने में सोचना शुरू कर दिया। प्रत्येक परीक्षण की शुरुआत में मैं परीक्षण के लिए वांछित डेटा को जारी रखने के लिए कुछ विधियों को चलाऊंगा। मेरी दृष्टि में, यह बाद से सभी 3 समस्याओं को हल होगा: मॉडल के लिए
- परिवर्तन CRUD बदलते आवश्यकता होती है वैसे भी, जिससे अब वह परीक्षण डाटा को ठीक करने के ले जाएगा।
- डेटा बनाना, डेटा का परीक्षण करना आसान होगा क्योंकि हम मिलान आईडी और मैन्युअल रूप से इकाई की विदेशी कुंजी जैसी चीज़ों के बारे में चिंता नहीं करेंगे।
- आईडीई द्वारा गारंटीकृत सिंक के साथ चर में सभी महत्वपूर्ण डेटा होंगे।
लेकिन, मेरे लिए, इस दृष्टिकोण को शुरू करने के लिए अनुभव और ज्ञान की कमी है। सवाल है: क्या यह समाधान प्रभावी है? क्या यह दृष्टिकोण अन्य समस्याओं का कारण बनता है? साहित्य में यह दृष्टिकोण कहां मिल सकता है? क्या सूचीबद्ध समस्याओं का बेहतर समाधान है?
प्रोग्रामर के लिए बेहतर सवाल हो सकता है .stackexchange – NESPowerGlove
मेरे पास बिंदु 3 का उत्तर है: एक्सएमएल फाइलें बनाएं जो परीक्षण डेटा और अपेक्षित परिणाम दोनों को समाहित करती हैं। मैं टेस्टएनजी पर एक नज़र डालने का भी सुझाव दूंगा, जो एक परीक्षण प्रक्रिया में कई परीक्षण मामलों को खिलाने का समर्थन करता है। – biziclop
डेटाबेस में परीक्षण डेटा स्टोर करें और उस से एक्सएमएल उत्पन्न करें। SQL में डेटा को संशोधित करना और फिर XML बनाना आसान है। – Mike