2010-01-17 9 views
8

मैं सीखना चाहता हूं कि "मजबूत" सॉफ्टवेयर कैसे बनाया जाए जो स्वयं परीक्षण करने के लिए डिज़ाइन किया गया हो। दूसरे शब्दों में, मैं अपने सॉफ़्टवेयर में स्वचालित परीक्षण कैसे लागू करूं (जावा या ग्रोवी या सी ++ का उपयोग करके)।मैं सॉफ्टवेयर परीक्षण तकनीक कहां और कैसे सीख सकता हूं?

तो मैं जानना चाहता हूं कि यह कहां से सीखना है (किताबें या वेबसाइट) और इसके लिए मुझे कौन से टूल्स और लाइब्रेरी की आवश्यकता होगी?

+1

अच्छा सवाल है, लेकिन मुझे लगता है कि विषय का एक सा है। होना चाहिए "मैं स्वचालित सॉफ्टवेयर परीक्षण तकनीक कहां और कैसे सीख सकता हूं?" –

उत्तर

5
  • शुरुआती के लिए सामान्य TDD: केंट बैक: उदाहरण द्वारा टेस्ट प्रेरित विकास
  • जनरल यूनिट टेस्टिंग संदर्भ: जेरार्ड मेस्ज़ारोस: XUnit टेस्ट पैटर्न: पुनर्रचना टेस्ट कोड
  • ग्रीनफील्ड परियोजनाओं के लिए TDD: स्टीव फ्रीमैन, नेट प्राइस : http://www.stackoverflow.com
  • : परीक्षण की समस्याओं के लिए परंपरागत कोड के साथ प्रभावी ढंग से काम कर रहे
  • क्यू & एक: माइकल पंख: ब्राउनफील्ड परियोजनाओं के लिए
  • TDD बढ़ते वस्तु उन्मुख सॉफ्टवेयर, टेस्ट से प्रेरित होकर
  • Software list एक और तकनीक जहां, मूल रूप से, एक दावे उत्पादन कोड में जोड़ने मान्य करने के लिए (नीचे स्क्रॉल)
+1

+1 - बेक वॉल्यूम बहुत उपयोगी है। –

0

xUnit परीक्षण ढांचे को देखें (cppUnit सी ++, JUnit जावा के लिए) और अद्भुत पुस्तक xUnit Test Patterns: Refactoring Test Code देखें।

और यदि आप वास्तव में इसमें शामिल होना चाहते हैं, तो test-driven development देखें। एक अच्छा परिचय अंकल बॉब का The Three Laws of TDD और bowling game kata है (bowling game episode भी देखें)। इस विषय पर एक महान पुस्तक Test Driven Development: By Example है।

0

जावा के लिए स्वचालित परीक्षण दोहन जुनीट, वह टूल है जो वास्तव में चीजों को लात मारता है। The JUnit site शुरू करने के लिए एक उत्कृष्ट जगह है। यह परीक्षण उपकरणों के बहुत सारे लेख और लिंक को गोल करता है।

0

मुझे "खुद का परीक्षण करने" के बारे में पता नहीं है, लेकिन मेरा पहला विचार परीक्षण संचालित विकास (http://en.wikipedia.org/wiki/Test-driven_development) के बारे में पढ़ना होगा और जुनीट देखें।

1

ऊपर उल्लिखित परीक्षण चालित विकास (TDD) तकनीक के अलावा, आप design by contract पर एक नज़र दे सकते हैं, रनटाइम पर कि घटकों के बीच अनुबंध खंड (इनपुट, आउटपुट और इनवेरिएंट) का सम्मान किया जाता है। सॉफ़्टवेयर वितरित होने पर, इन दावों को हटाया जा सकता है या रखा जा सकता है।

मैं यह स्पष्ट करने के लिए अपने उत्तर में वृद्धि करना चाहता हूं कि टीडीडी "सॉफ़्टवेयर जो स्वयं परीक्षण करने के लिए डिज़ाइन किया गया है" का नेतृत्व नहीं करता है, लेकिन कुछ सॉफ़्टवेयर, - इकाई परीक्षण सूट, उत्पादन कोड के साथ उगाया जाता है, जो परीक्षण सॉफ्टवेयर का एक और टुकड़ा।

0

मुझे The Art of Unit Testing by Roy Osherove मिला जो यूनिट परीक्षण, अभिन्न परीक्षण, टीडीडी आदि की मूल बातें समझने में बहुत उपयोगी था। यह नेट भाषाओं के लिए थोड़ा सा अनुरूप है, लेकिन यह स्वचालित परीक्षण के पीछे विचारों पर बहुत अच्छी जानकारी भी प्रदान करता है।