मेरे पास बहुत पुराना और खराब लिखित रेल ऐप है। कोड की लगभग 9 000 लाइनें और शून्य परीक्षण हैं। अधिकांश कोड नियंत्रकों में हैं, और इससे भी बदतर, कई बाहरी एपीआई कॉल हैं, सिस्टम यादृच्छिक स्क्रिप्ट इत्यादि हैं।विरासत रेल पर आवेदन
कोई विकास वातावरण भी नहीं है, सब कुछ उत्पादन डेटाबेस के खिलाफ काम करने के लिए स्थापित किया गया है। ठीक है सिर्फ एक डेटाबेस नहीं, लगभग 10 अलग-अलग डेटाबेस हैं, क्योंकि ऐप एक बड़ी साइट के लिए व्यवस्थापक बैकएंड की तरह है।
मेरा पहला विचार उन हिस्सों के आसपास कम से कम कुछ हद तक सभ्य परीक्षण कवरेज प्राप्त करना था, जिन पर मैं काम करने जा रहा हूं, लेकिन मैं उत्पादन सर्वर की तुलना में कहीं और काम करने में असमर्थ हूं।
इसके अलावा पुराने रत्न और बहिष्कृत चेतावनियां भी हैं, लेकिन परीक्षणों तक मैं रत्नों को अपग्रेड करने के बारे में भी सोच नहीं सकता। पूरी तरह से लिखना एक विकल्प नहीं है, और मुझे जल्द ही सामान जोड़ने/बदलने की ज़रूरत है।
मुझे सच में यकीन नहीं है कि इस तरह के ऐप का परीक्षण कैसे किया जाए, क्योंकि वहां इतनी सारी चीजें हैं जो गलत हो सकती हैं। मैं वास्तव में क्या करना चाहता हूं, कुछ एकीकरण परीक्षण लिखना है और फिर रिफैक्टरिंग शुरू करना है, लेकिन मैं इसे उत्पादन वातावरण पर नहीं कर सकता।
स्टब्स और मैक्स के गुच्छा के साथ लेखन इकाई परीक्षण उपयोगी नहीं लगता है, क्योंकि जिस कोड को मैं मूल रूप से काम करने जा रहा हूं उसे स्क्रैच से फिर से लिखा जाना चाहिए।
मेरे विकास मशीन पर एक विशाल जटिल परिसर उत्पादन वातावरण को मूल रूप से डुप्लिकेट करने के लिए कुछ कदम क्या हैं, इसलिए मैं अलगाव में सामान कर सकता हूं?
संपादित करें: ऐप के बारे में थोड़ा मजेदार तथ्य। जब मैंने इसे पहली बार चलाने की कोशिश की, तो बिना किसी त्रुटि संदेश के ठंडे रखा गया ... लगभग आधे घंटे बाद मुझे पता चला कि डेटाबेस से कनेक्ट करने का टाइमआउट (जो उपलब्ध नहीं था) पर सेट किया गया था 90 मिनट!
एक व्यक्ति को ढूंढें जिसने इसे बनाया है, अपने परिवार की बंधक लें और उसे आपकी मदद करें (या कम से कम यह बताएं कि चीज कैसे काम करती है)। –
आप उत्पादन मशीन का एक स्नैपशॉट ले सकते हैं और प्रयोगशाला में इसे अलग कर सकते हैं। –