वास्तविक विकास के माहौल के बिना आत्मविश्वास के साथ विकास करना


12

मुझे हाल ही में एक ऐसी परियोजना के लिए काम पर रखा गया है जिसमें कई तृतीय-पक्ष "एंटरप्राइज़" सिस्टम के साथ काम करना शामिल है। क्या मैं कल्पना करता हूं कि उत्पादन की पर्यावरण की पर्याप्त रूप से वफादार प्रतिकृति बनाने के लिए आवश्यक खगोलीय लागत और प्रयास होगा, एक वास्तविक विकास वातावरण होने की संभावना गायब से कम लगती है।

यह निश्चित रूप से आदर्श नहीं है। उज्जवल पक्ष में, मुझे लगता है कि वहाँ लोगों को सुरक्षित रूप से इस तरह अपरिवर्तनीय वातावरण में सॉफ्टवेयर का परीक्षण और तैनाती करना चाहिए, और मैं शायद उनके नक्शेकदम पर चल सकता हूं।

जो लोग इस प्रकार की परिस्थितियों से प्रभावी ढंग से निपटते हैं वे इसे कैसे करते हैं?


1
वर्चुअलाइजेशन, "जैसा कि" वातावरण आदि के समान ... संक्षेप में, आप जो कर सकते हैं उसे दोहराने की कोशिश करें, छोटे पैमाने पर, सिस्टम के कम से कम "चलती भागों" को कवर करने के लिए।
Oded

6
आपको एंटरप्राइज़ सिस्टम की एपीआई की शुद्धता पर भरोसा करना होगा और बहुत से एकीकरण परीक्षण करना होगा, शायद कुछ परीक्षण खातों के साथ।
रॉबर्ट हार्वे

@RobertHarvey यहां पर मृत है। किसी को जवाब में इस पर खुलासा करना चाहिए लेकिन यह वही है जो आपको चाहिए। सिस्टम को मैन्युअल रूप से परीक्षण करने के लिए वातावरण की अनुपस्थिति में, आप सभी कर सकते हैं स्वचालित रूप से कोड का परीक्षण करते हैं।
जिमी होफा

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

जवाबों:


9

यह वास्तविक दुनिया में हर समय होता है। मैं एक ऐसे व्यक्ति को जानता हूं, जो विशाल कृषि ग्रीनहाउस को नियंत्रित करने वाले ऐप लिखते हैं - वेंटिलेशन, हीटिंग, नमी नियंत्रण, आप इसे नाम देते हैं। उसके पास "परीक्षण ग्रीनहाउस" नहीं है, लेकिन उसके पास कंपनी द्वारा प्रदान किया गया एक सिम्युलेटर कार्यक्रम है जो वास्तविक हार्डवेयर सिस्टम बनाता है। यदि कोड सिम्युलेटर के साथ सही ढंग से काम करता है, तो इसे वास्तविक उपकरण के साथ सही तरीके से काम करने के लिए माना जाता है। दुर्लभ अवसरों पर सिम्युलेटर गलत हो जाता है, लेकिन इससे निपटने के लिए ग्रीनहाउस-हार्डवेयर कंपनी का मुद्दा है, क्योंकि यह सही ढंग से अनुकरण नहीं कर रहा है।


ओपी के पास 'सिम्युलेटर' की गारंटी नहीं है। साथ ही, आपके मामले में, आपके सहकर्मी का नियोक्ता शायद प्रतिकर का अनुरोध कर सकता है यदि सिम्युलेटर विफल हो जाता है। ओपी एक समान स्थिति में क्या कर सकता है? बीमा कंपनी परेशान?
केटीफ

4
यदि ओपी के पास कोई सिम्युलेटर नहीं है, तो उसे एक - भीख / चोरी / उधार / निर्माण प्राप्त करने की आवश्यकता है - वास्तव में कोई फर्क नहीं पड़ता। एक सिम्युलेटर को कितना अच्छा होना चाहिए - जो उसे तय करने की आवश्यकता है, और यदि उसे आवश्यकता महसूस होती है, तो वह बीमा कंपनी से क्षतिपूर्ति नामक एक छोटी सी चीज के बारे में बात कर सकता है।
मटनज

3

ये स्थितियाँ एपीआई प्रलेखन, इंटरफ़ेस नियंत्रण दस्तावेज और एमुलेटर सर्वोपरि हैं। पहले जिस कंपनी में मैंने काम किया था, वास्तव में ऐसा हुआ था कि एक परियोजना के भीतर अक्सर कुछ एकीकरण चरणों के दौरान ऐसा होता है जहां एक खंड तैयार था, लेकिन अन्य पीछे थे, एक और विशेषता पर काम किया जा रहा है, या किसी अन्य कारण से वे तैनात नहीं कर सके। हमारे परीक्षण प्रणाली के लिए उनके खंड का नवीनतम संस्करण। इसलिए, हां हमारे पास वास्तव में हमारे उत्पादन वातावरण की एक वफादार प्रतिकृति थी जिसे हमने परीक्षण किया था; हालांकि, व्यवहार में सभी खंड निर्धारित समय पर तैयार नहीं थे, लेकिन विकास शुरू करने से पहले इंटरफेस पर सहमति व्यक्त की गई थी और लॉक कर दिया गया था, और एमुलेटर बनाए गए थे जो कि अधिकांश खंडों के व्यवहार की नकल कर सकते थे।

जैसा कि एक अन्य उत्तर में कहा गया है कि एमुलेटर वह है जो परीक्षण को तैनाती से पहले ले सकेगा। एक अच्छा एमुलेटर; हालाँकि, अच्छी तरह से परिभाषित इंटरफेस और प्रलेखन पर निर्भर करता है।


1

मैं हर समय ऐसी स्थितियों में हूं।

आपको निश्चित रूप से पूरे आवेदन के साथ बातचीत करने की आवश्यकता नहीं है, लेकिन शायद कुछ प्रकार के कुछ इंटरफेस। सुनिश्चित करें कि आपने इंटरफेस की पुष्टि और विस्तृत प्रलेखन किया है, फिर इन इंटरफेस का सेटअप केवल यह सत्यापित करने के लिए करें कि आपका जोड़ा / परिवर्तित कोड आपके काम करने के तरीके से संबंधित है।

आप एक संकर भी कर सकते हैं। उन हिस्सों को दोहराने की कोशिश करें जिन्हें आप आसानी से कर सकते हैं, फिर वास्तविक सिस्टम से "कनेक्ट" करें (यदि यह आपकी स्थिति में संभव है)। मैंने कुछ सफलता के साथ ऐसा किया है - कुछ मामलों में जहां मेरे तर्क और सर्वर सॉफ़्टवेयर स्थानीय रूप से चलाए गए थे, लेकिन मेरे पास अभी भी वास्तविक ईआरपी प्रणाली से कनेक्शन सत्यापित करने के लिए एक कनेक्शन था आदि आदर्श नहीं हैं, लेकिन चीजें शायद ही कभी होती हैं।

यह देखते हुए कि आपके पास काम करने के लिए केवल एक उत्पादन प्रणाली है - ध्यान दें कि आप प्रतिकृति स्थापित करने पर बचाए गए किसी भी विकास के समय की गणना नहीं कर सकते हैं, लेकिन आपको लाइव व्यापार डेटा के साथ बड़े पैमाने पर अनुपयोगी कोड का उपयोग करने के व्यावसायिक जोखिम को ध्यान में रखना होगा। आपका कोड किसी प्रतिकृति के विरुद्ध परीक्षण किए गए कोड से कम विश्वसनीय नहीं होगा। क्या सिस्टम कुछ समय के लिए डाउन हो सकता है? क्या डेटा भ्रष्टाचार के मामले में उन्हें बहाल किया जा सकता है? उसकी कीमत कितनी है?

उद्यमों में एक सबसे अच्छा अभ्यास इस समय उत्पादन वातावरण सेटअप है, इस समय उत्पादन की प्रतिकृति (या शायद एक से अधिक) लगाने के लिए है। उस पल में, अतिरिक्त लागत इतनी बड़ी नहीं होगी।


1

हमारा सिस्टम कई बड़ी बाहरी प्रणालियों के साथ काम करता है। यदि हमारे पास पूर्ण एंड-टू-एंड सेटअप नहीं है, तो परीक्षण करते समय हम निम्नलिखित दृष्टिकोणों को जोड़ते हैं:

  • वास्तविक डेटा रिकॉर्ड-फिर से खेलना। वास्तविक डेटा रिकॉर्ड करें (वास्तविक बाहरी सिस्टम से अनुरोध / प्रतिक्रियाएं), यदि आवश्यक हो और फिर से खेलना फिर से करना
  • एक सिम्युलेटर बनाएं या खरीदें जो बाहरी प्रणाली के रूप में कार्य करता है
  • परीक्षण-डेटा उत्पादन के लिए डीएसएल। डेटा-संचालित प्रणालियों के लिए, परीक्षण डेटा बनाने के लिए उच्च-स्तरीय डीएसएल लिखें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.