2008-08-11 17 views
8

मेरे काम पर हम परीक्षणों का एक समूह चला रहे हैं जिसमें लगभग 3,000 अलग-अलग परीक्षण मामले शामिल हैं। पहले हम एक पूरे मशीन पर इस पूरे टेस्ट सूट को चला रहे थे, जिसमें पूरे टेस्ट रन को पूरा करने के लिए 24-72 घंटे लग गए थे। हमने अब लगभग तीन अलग मशीनों के बीच परीक्षणों को समूहबद्ध करने और वितरित करने के लिए अपनी प्रणाली बनाई है और परीक्षणों को प्राथमिकता दी जाती है ताकि कोर परीक्षण अधिक तत्काल परिणामों के लिए पहले चल सकें और उपलब्ध मशीन होने पर अतिरिक्त परीक्षण चलें।टेस्ट वितरण

मुझे उत्सुकता है कि अगर किसी को पूरी तरह से चलाने के लिए कुल परीक्षण समय कम करने के लिए कई मशीनों के बीच अपने परीक्षण वितरित करने का एक अच्छा तरीका मिल गया है और इसे प्राप्त करने के लिए किस उपकरण का उपयोग किया गया था। मैंने कुछ शोध किया है और ऐसा लगता है कि टेस्टएनजी moving in this direction है, लेकिन ऐसा लगता है कि यह अभी भी काफी विकास के तहत है।

हम अपने किसी भी परीक्षण को फिर से लिखने की योजना नहीं बनाते हैं, लेकिन जैसे ही हम नए परीक्षण जोड़ते हैं और नए उत्पादों या ऐड-ऑन का परीक्षण करते हैं, मैं इस तथ्य से निपटने में सक्षम होना चाहता हूं कि हम बहुत बड़ी संख्या में काम कर रहे हैं परीक्षणों का दूसरी तरफ, अगर हम एक टूल ढूंढ सकते हैं जो हमारे जूनिट 3.x परीक्षणों को एक बहुत ही बुनियादी फैशन में भी वितरित करने में मदद करेगा, तो सहायक होगा क्योंकि हमें ऐसा करने के लिए अपना टूलिंग बनाए रखना नहीं होगा।

उत्तर

2

मैंने कुछ लोगों को distributed JUnit के साथ एक खेल देखा है। मैं विशेष रूप से यह कितना प्रभावी नहीं कर सकता हूं, लेकिन मैंने देखा है कि अन्य टीमों को लगता है कि यह सीधे आगे पर्याप्त था। उम्मीद है की वो मदद करदे।

1

हमारे निर्माण लोग मोज़िला टिंडरबॉक्स का उपयोग करते हैं। ऐसा लगता है कि वितरित परीक्षण के लिए कुछ हुक हैं। मुझे खेद है कि विवरण जानने के लिए नहीं, लेकिन मैंने सोचा कि मैं कम से कम आपको पॉइंटर पर भेज दूंगा।

यह भी अच्छा कॉज़ है कि आप निर्माण ब्रेक के तुरंत बाद पता लगा सकते हैं, और कौन सा चेकिन अपराधी हो सकता है।

http://www.mozilla.org/tinderbox.html

1

वहाँ भी parallel-junit है। इस पर निर्भर करते हुए कि आप वर्तमान में अपने परीक्षण कैसे निष्पादित करते हैं, इसकी सुविधा अलग-अलग हो सकती है - विचार केवल एक ही सिस्टम पर बहुसंख्यक है जिसमें एकाधिक कोर हैं। मैंने संक्षेप में इसके साथ खेला है, लेकिन यह एक बदलाव है कि हम वर्तमान में अपने परीक्षण कैसे चलाते हैं।

Hudson, निरंतर एकीकरण इंजन जिसका उपयोग मैं करता हूं, परीक्षण चलाने को वितरित करने के कुछ तरीके भी हैं (अलग-अलग नौकरियों में एक से अधिक परिणाम)।

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