यदि आपके पास परीक्षण नहीं हैं, तो आप अपने कोड कार्यों को कैसे जानते हैं?
संपादित करें: परीक्षण का दावा करने वाला यह साबित नहीं कर सकता कि कोड कार्य एक महत्वपूर्ण शब्द को परिभाषित करने में विफल रहता है, अर्थात काम करता है । एक कार्यक्रम के काम करने का क्या मतलब है? यदि आप इस शब्द को अस्पष्ट रखते हैं, तो यह साबित करने या सुनिश्चित करने का कोई तरीका नहीं है कि कोई भी कार्यक्रम काम करता है। कभी।
दूसरी ओर, आप कार्यों को "विनिर्देश के अनुसार व्यवहार" के रूप में परिभाषित कर सकते हैं । अब आप केवल उस कोड को दिखाने के लिए परीक्षणों का उपयोग नहीं कर सकते हैं, लेकिन परीक्षण स्वयं आपके कोड के व्यवहार के निष्पादन योग्य विनिर्देश के रूप में कार्य कर सकते हैं। दूसरे शब्दों में, एक अच्छी तरह से लिखा गया परीक्षण सूट परिभाषित करता है कि काम का क्या मतलब है।
सोचने का यह तरीका आपको बग के अर्थ को फिर से जांचने के लिए मजबूर करता है । यदि आपका कोड सभी परीक्षण पास करता है, तो कोड में कोई बग नहीं हैं। यदि, इसके बावजूद, सिस्टम व्यवहार नहीं करता है जैसा कि उसे करना चाहिए, तो उसका व्यवहार सही ढंग से निर्दिष्ट नहीं है। अर्थात। बग परीक्षण के द्वारा परिभाषित की गई युक्ति में है।
सॉफ्टवेयर विकास के लिए यह दृष्टिकोण इसके कार्यान्वयन से एक प्रणाली के कार्यात्मक विनिर्देश को डिकम्पोज करता है, जो कि दुनिया में हर सॉफ्टवेयर इंजीनियरिंग पुस्तक के अनुसार, एक बहुत अच्छी बात है। उसी समय, यह दृष्टिकोण सुनिश्चित करता है कि आपका कार्यान्वयन हमेशा कार्यात्मक कल्पना से मेल खाता है।