2013-06-03 9 views
6

मान लीजिए कि मैं कुछ खुले स्रोत सॉफ्टवेयर विकसित कर रहा हूं, जो एक व्याख्याित भाषा में लिखा गया है, जिसे गिट रेपो के रूप में प्रबंधित किया गया है, जिसके लिए बुनियादी परीक्षण के लिए एक बड़ा डेटासेट (+300 एमबी) की आवश्यकता होती है।भंडार में बड़े परीक्षण डेटासेट

क्या रिलीज प्रकाशन के लिए compileToZipFile.sh स्क्रिप्ट के साथ परीक्षण डेटा स्रोत कोड के समान भंडार में जाना चाहिए? क्या दो अलग-अलग भंडारों के रूप में स्टोर करना बेहतर होगा, srcRepo और testRepo?

किसी भी सर्वोत्तम प्रथाओं/सम्मेलनों की सराहना की जाएगी।

उत्तर

1

मुझे लगता है कि इस प्रश्न का सबसे अच्छा जवाब आवश्यकता के आधार पर होगा।

  • टेस्ट
  • क्यूए
  • मचान
  • उत्पादन

कुछ वातावरण है:

मेरे काम में, हम की तरह पर्यावरण प्रकार द्वारा हमारे कोड/परीक्षण डाटा अलग उत्पादन के समान डेटा, जबकि अन्य पुराने (या पूरी तरह से अलग) डेटा हैं । इसके लाभ हैं:

  • सैंडबॉक्स, नए विचारों/प्रौद्योगिकियों के साथ परीक्षण, कार्यान्वयन और 'खेलने' के लिए सैंडबॉक्स।
  • आप लाइव, ग्राहक-सामना करने वाले डेटा को प्रभावित नहीं कर रहे हैं।
  • एकीकृत परीक्षणों को मुख्य कोड आधार पर अज्ञात कुछ पहलुओं पर केंद्रित/केंद्रित किया जा सकता है।

अब, अपने प्रश्नों के रूप में ... जैसा कि मैंने ऊपर कहा गया है, डेटा के अलगाव के बाद से हमारे लिए डेटा उपयोग हम हम क्या परीक्षण कर रहे हैं पर केंद्रित है तेजी से परिवर्तन करने और नई सुविधाओं को लागू करने की अनुमति देता है। हमारे पास तीन ट्रंक हैं जिनमें सभी के पास स्वतंत्र परीक्षण डेटा है जो परीक्षण करने की आवश्यकता के लिए विशिष्ट है। View का परीक्षण करते समय हमारे पास Model का परीक्षण करते समय परीक्षणों का एक सेट होता है, हमारे पास परीक्षण का एक और सेट होता है और Controller का परीक्षण करते समय हमारे पास परीक्षणों का एक और सेट है। आखिरकार, हमारे पास एकीकरण परीक्षण का एक ओवर-आर्किंग सेट है जो एक नया निर्माण जारी होने पर चलता है। सभी मामलों में, लेकिन अंतिम, परीक्षण उन घटक के साथ रहते हैं जिन्हें वे बनाए गए थे; लेकिन फिर से, चूंकि वे एकीकरण परीक्षण हैं, यह समझ में आता है कि उन्हें सत्यापित किए गए तीन टुकड़ों से अलग रखा जाता है।

मुझे लगता है कि आपका विचार एक ठोस है।

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