यद्यपि समस्या का आपका वर्णन कोडबेस में पूरी तरह से जानकारी नहीं देता है, मुझे लगता है कि मैं सुरक्षित रूप से कह सकता हूं कि आपकी समस्या दो गुना है।
सही परीक्षण लिखना सीखें।
आप कहते हैं कि आपके पास लगभग एक हजार परीक्षण हैं, और आपके पास 120 परियोजनाएं हैं। यह मानते हुए कि उन परियोजनाओं में से अधिकांश में परीक्षण परियोजनाएं हैं, आपके पास 1000 उत्पादन से लेकर 60 उत्पादन कोड परियोजनाएं हैं। यह आपको लगभग 16-17 परीक्षण पीआर प्रदान करता है। परियोजना !!!
यह शायद परीक्षणों की मात्रा है जो मुझे एक उत्पादन प्रणाली में लगभग 1-2 वर्गों को कवर करना होगा। इसलिए जब तक आपके पास प्रत्येक परियोजना में केवल 1-2 कक्षाएं नहीं हैं (जिस स्थिति में आपकी परियोजना संरचना बहुत ठीक है) आपके परीक्षण बहुत बड़े हैं, वे बहुत अधिक जमीन को कवर करते हैं। आप कहते हैं कि यह पहली परियोजना है जिसे आप ठीक से टीडीडी कर रहे हैं। एक कहना, आपके द्वारा प्रस्तुत किए गए नंबर इंगित करते हैं कि यह मामला नहीं है, आप टीडीडी संपत्ति नहीं कर रहे हैं।
आपको सही परीक्षण लिखने के लिए सीखने की ज़रूरत है, जिसका अर्थ है कि आपको यह जानने की ज़रूरत है कि पहली जगह में कोड को परीक्षण योग्य कैसे बनाया जाए। यदि आपको ऐसा करने के लिए टीम के अंदर का अनुभव नहीं मिल रहा है, तो मैं बाहर से मदद लेने का सुझाव दूंगा, उदाहरण के लिए एक या दो सलाहकारों के रूप में जो आपकी टीम को 2-3 महीने की अवधि में टेस्ट करने योग्य कोड लिखने के लिए सीखने में मदद कर सकते हैं, और छोटा न्यूनतम इकाई परीक्षण।
एक तुलना के रूप में, जिस .NET प्रोजेक्ट पर मैं वर्तमान में काम कर रहा हूं, उस पर हम लगभग 500 यूनिट परीक्षण 10 सेकंड से भी कम समय में चला सकते हैं (और यह भी एक उच्च कल्पना मशीन पर मापा नहीं गया था)। यदि वे आपके आंकड़े थे, तो आप इन सब को स्थानीय रूप से चलाने में डरेंगे नहीं।
प्रोजेक्ट संरचना को प्रबंधित करना सीखें।
आपने समाधान को 120 परियोजनाओं में विभाजित किया है। यह मेरे मानकों द्वारा परियोजनाओं की एक चौंका देने वाली राशि है।
इसलिए यदि यह समझ में आता है कि वास्तव में परियोजनाओं की कितनी राशि है (जो मुझे लगता है कि यह नहीं है - लेकिन आपका प्रश्न इस बारे में एक योग्य निर्णय लेने के लिए पर्याप्त जानकारी प्रदान नहीं करता है), तो आपको परियोजनाओं को छोटे घटकों में विभाजित करने की आवश्यकता है जो निर्माण, संस्करण, और अलग से तैनात किया जा सकता है। इसलिए जब एक डेवलपर परीक्षण सूट चलाता है, तो उसे केवल उस घटक से संबंधित परीक्षण चलाने की आवश्यकता होती है, जो वह वर्तमान में काम कर रहा है। बिल्ड सर्वर को यह सत्यापित करने का ध्यान रखना चाहिए कि सब कुछ सही तरीके से एकीकृत हो।
लेकिन अलग-अलग घटकों में एक परियोजना का निर्माण, संस्करण, और अलग से तैनात करने के लिए मेरे अनुभव की आवश्यकता है एक बहुत ही परिपक्व विकास टीम, एक टीम जो मुझे आपकी टीम है जो महसूस करने की तुलना में अधिक परिपक्व है।
लेकिन किसी भी दर पर, आपको परियोजना संरचना के बारे में कुछ करने की आवश्यकता है। या तो परियोजनाओं को अलग-अलग घटकों में विभाजित करें, या परियोजनाओं को विलय करना शुरू करें।
अपने आप से पूछें कि क्या आपको वास्तव में 120 परियोजनाओं की आवश्यकता है?
ps आप NCrunch को देखना चाहते हैं। यह एक विजुअल स्टूडियो प्लग-इन है जो पृष्ठभूमि में आपके परीक्षण को स्वचालित रूप से चलाता है।