2011-08-18 16 views
6

मेरे कार्यस्थल में हम एक ग # .net बारे में 50 परियोजनाओं और 2000 के बारे में इकाई परीक्षण युक्त समाधान है। कोड बदलने के बाद यह आवश्यक है कि हम निर्माण सर्वर में हमारे परिवर्तनों को धक्का देने से पहले समाधान में सभी परीक्षण चलाएं। सभी परीक्षणों को चलाने में लगभग 10-15 मिनट लग सकते हैं। मैं सोच रहा था - अरे, शायद कुछ प्रक्रिया हो सकती है जो मैंने किए गए सभी कोड परिवर्तनों का विश्लेषण करेंगे, और फिर केवल प्रासंगिक परीक्षण विधियों को चलाने का फैसला करेंगे। यदि इस प्रकार का विश्लेषण संभव है, तो 2000 परीक्षण चलाने के बजाए कंप्यूटर केवल 15 या 100 परीक्षण चलाएगा, फिर हम उत्पादकता और कम सिरदर्द में बहुत अच्छी वृद्धि के बारे में बात कर रहे हैं। किसी के पास इस पर कोई विचार है कि इसे कैसे कार्यान्वित किया जाए, या यदि ऐसा सॉफ़्टवेयर उपलब्ध है?कोड निर्भरता इकाई परीक्षण

उत्तर

2

हमारे C# Test Coverage Tool ऐसा कर सकते हैं।

  1. यह संवर्द्धित उपकरणों सिर्फ फाइलों कि अंतिम परीक्षण कवरेज रन के बाद से बदल दिया है।

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

आप समय बचाने के लिए बिल्ड सर्वर पर ऐसा कर सकते हैं। सबसे महत्वपूर्ण बात यह है कि आप प्रत्येक डेवलपर को इसके साथ प्रदान कर सकते हैं, ताकि वह परिवर्तनों की जांच करने से पहले केवल उस कोड को मान्य करने के लिए आवश्यक परीक्षण चला सके।

5

यह बताने के लिए कि एक बहु परियोजना के माहौल में क्या पर निर्भर करता है वास्तव में मुश्किल है। आदर्श रूप में:

  • आपका इकाई परीक्षण सच होगा इकाई परीक्षण, और उन्हें 2000 हो सकता है 20 सेकंड में चलाने चाहिए।
  • आपका लंबे समय तक चलने वाली परीक्षण अपने निर्माण सर्वर पर एक सतत निर्माण पर स्थापित किया जाएगा, तो आप अभी भी बहुत तेजी से सूचित कर दिया है कि आप चीजों को गड़बड़ आप कुछ भी चूक जाते हैं, लेकिन आप व्यक्तिगत रूप से सिर्फ एक छोटे होने के लिए बर्दाश्त कर सकता है केवल उन परीक्षणों को चलाने में अधिक चुनिंदा है जो आपको लगता है कि आप प्रतिबद्ध होने से पहले अपने कोड परिवर्तनों से प्रभावित हो सकते हैं।
+5

एकीकरण परीक्षणों से इकाई परीक्षण अलग करने के लिए +1। Http://stackoverflow.com/questions/61400/what-makes-a-good-unit-test – TrueWill

2

विजुअल स्टूडियो 2010 प्रीमियम और अंतिम एक "टेस्ट प्रभाव" उपकरण है जो वास्तव में करता है।

+0

दिलचस्प है कि क्या यह NUnit परीक्षणों को चुनने में सक्षम है और न केवल MSTests – sll

+0

+1 @ डीबीएम: अच्छी चीज पहले कभी नहीं जानता , http://blogs.msdn.com/b/phuene/archive/2009/12/07/test-impact-analysis-in-visual-studio-2010.aspx – sll

+0

@ एसएलवीएल यह केवल एमएसटीएस्ट परीक्षण तक ही सीमित है। – ckittel

0

हमारे वातावरण में उपयोग हम NCrunch http://www.ncrunch.net/

यह परियोजनाओं बनाता है और पृष्ठभूमि से अधिक थ्रेड का उपयोग करने में इकाई परीक्षण चलाता है। यह आपको सुखद तरीके से असफल यूनिट परीक्षणों की सूचना देता है।

एनसीआरंच आपको जो कुछ चाहिए उसे बहुत अधिक करता है। एक नज़र देख लो।

संबंधित मुद्दे