पृष्ठभूमि मैं 7 डेवलपर्स और 2 परीक्षकों की एक टीम में काम करता हूं जो रसद प्रणाली पर काम करते हैं। हम ढांचे के रूप में Bold for Delphi के साथ डेल्फी 2007 और मॉडेलरीवन विकास का उपयोग करते हैं। सिस्टम लगभग 7 वर्षों में उत्पादन में रहा है और इसमें लगभग 1,7 मिलियन लाइन कोड हैं। हम 4-5 सप्ताह के बाद उत्पादन में रिलीज करते हैं और लगभग हर रिलीज के बाद हमें उन बगों के लिए कुछ पैच करना पड़ता है जिन्हें हम नहीं पाते हैं। यह निश्चित रूप से हमारे और ग्राहकों दोनों के लिए परेशान है।बढ़ती टेस्टेबिलिटी, डेल्फी फ्रेमवर्क के लिए बोल्ड के साथ कोडिंग करते समय
वर्तमान परीक्षण समाधान निश्चित रूप से अधिक स्वचालित परीक्षण है। वर्तमान में हमारे पास मैन्युअल परीक्षण है। एक testbbenerener जो खाली डेटाबेस से शुरू होता है और मॉडलिंग विधियों से डेटा जोड़ता है। हमारे पास Testcomplete भी है जो जीयूआई परीक्षण के लिए कुछ बहुत ही बुनियादी स्क्रिप्ट चलाता है। समय की कमी हमें और परीक्षण जोड़ने से रोकती है, लेकिन आवेदन में बदलावों के लिए स्क्रिप्ट भी संवेदनशील होती है। कुछ साल पहले मैंने वास्तव में डुनीट के साथ यूनिट परीक्षण की कोशिश की, लेकिन मैंने कुछ दिनों के बाद छोड़ दिया। इकाइयों के पास बहुत मजबूत कनेक्शन हैं।
इकाई परीक्षण पूर्व शर्त मुझे लगता है कि मैं इकाई परीक्षण के लिए कुछ पूर्व शर्त पता:
- छोटे तरीकों कि एक काम करते हैं लिखें, लेकिन यह अच्छी तरह से करते हैं।
- खुद को दोहराना न करें।
- सबसे पहले परीक्षण विफल होने पर लिखें, फिर कोड को लिखें ताकि परीक्षण पास हो।
- इकाइयों के बीच कनेक्शन ढीले हो जाते हैं। उन्हें एक दूसरे के बारे में ज्यादा नहीं पता होना चाहिए।
- निर्भरता इंजेक्शन का उपयोग करें।
फ्रेमवर्क का उपयोग करने के हम मुख्य रूप से 64-बिट संकलक की वजह से डेल्फी XE2 में नवीनीकृत कर सकते हैं। मैंने Spring को थोड़ा सा देखा है लेकिन इसके लिए डी 2007 से अपडेट की आवश्यकता है और यह अब नहीं होगा। शायद अगले वर्ष।
प्रश्न अधिकतर कोड अभी भी स्वचालित रूप से परीक्षण नहीं किए जाते हैं। तो पुराने कोड की टेस्टेबिलिटी बढ़ाने के लिए जाने का सबसे अच्छा तरीका क्या है? या शायद नए तरीकों के लिए परीक्षण लिखना शुरू करना सबसे अच्छा है? मुझे यकीन नहीं है कि स्वचालित परीक्षण बढ़ाने और इसके बारे में टिप्पणियों का स्वागत करने का सबसे अच्छा तरीका क्या है। क्या हम अब D2007 + DUnit का उपयोग कर सकते हैं और फिर आसानी से डेल्फी XE2 + वसंत में बदल सकते हैं?
संपादित करें: मैन्युअल परीक्षण के लिए वर्तमान परीक्षण पद्धति के बारे में केवल "इसे पाउंड करें और इसे तोड़ने का प्रयास करें" Chris इसे कॉल करें।
प्रोग्रामर में माइग्रेट करने के लिए वोटिंग। यह एक अच्छा सवाल है और मैं मानता हूं कि वहां अधिक अनुकूल है। –
+1 इस प्रश्न पूछने के लिए धन्यवाद। – jrodenhi