Ex ante: ऐसा लगता है कि परीक्षण के रूप में क्या नहीं है पर बहुत भ्रम है। निश्चित रूप से, प्रत्येक डेवलपर को अपने कोड का परीक्षण करने की आवश्यकता होती है क्योंकि वह इसे बनाता है, उसे / उसे यह सत्यापित करने की आवश्यकता है कि वह काम करता है। इससे पहले कि वह ऐसा करती / करती है और उसे काफी अच्छा लगता है, वह उसे किसी परीक्षक को नहीं सौंप सकती। लेकिन डेवलपर्स सब कुछ नहीं देखते हैं। वे बग को नहीं पहचान सकते। ये बग केवल बाद में विकास चक्र में पाए जा सकते हैं जब पूरी तरह से परीक्षण किया जाता है। सवाल यह है कि क्या डेवलपर्स को इस तरह का परीक्षण करना चाहिए या नहीं, और मेरी विनम्र राय में इसे परियोजना प्रबंधक के दृष्टिकोण से देखने की आवश्यकता है:
डेवलपर परीक्षक हो सकते हैं, लेकिन वे परीक्षक नहीं होने चाहिए । डेवलपर्स अनजाने में / अनजाने में आवेदन को इस तरह से उपयोग करने से बचते हैं जो इसे तोड़ सकते हैं। ऐसा इसलिए है क्योंकि उन्होंने इसे लिखा है और ज्यादातर इसे उसी तरह से परखते हैं जिस तरह से इसका इस्तेमाल किया जाना चाहिए।
दूसरी ओर एक अच्छा परीक्षक, आवेदन को यातना देने की कोशिश करता है। उसका प्राथमिक उद्देश्य इसे तोड़ना है। वे अक्सर उन तरीकों से एप्लिकेशन का उपयोग करते हैं जिनकी डेवलपर्स ने कल्पना नहीं की होगी। वे डेवलपर की तुलना में उपयोगकर्ताओं के करीब हैं और अक्सर किसी वर्कफ़्लो का परीक्षण करने के लिए एक अलग दृष्टिकोण रखते हैं।
साथ ही, टेस्टर के रूप में डेवलपर्स का उपयोग करने से विकास लागत में वृद्धि होती है और उत्पाद की गुणवत्ता में उतना लाभ नहीं होता है जितना कि एक समर्पित परीक्षक के रूप में होता है। मैं डेवलपर्स को उनके कामों को पार नहीं करने देता जब मैं इसे एक परीक्षक द्वारा सस्ते में बेहतर कर सकता था। केवल अगर डेवलपर्स और परीक्षकों के बीच फीडबैक लूप बहुत महंगा हो जाता है, तो मैं डेवलपर्स को एक-दूसरे के कोड को क्रस्टस्टेस्ट करूंगा, लेकिन मेरे अनुभव में ऐसा शायद ही कभी होता है और यह प्रक्रिया पर निर्भर करता है।
इसका मतलब यह नहीं है कि एक डेवलपर को मैला होना चाहिए और परीक्षक को सब कुछ छोड़ देना चाहिए। सॉफ्टवेयर को यूनिट परीक्षणों द्वारा समर्थित किया जाना चाहिए और सॉफ्टवेयर को परीक्षक को सौंपने से पहले तकनीकी त्रुटियों को कम से कम किया जाना चाहिए। फिर भी, कभी-कभी आप यहाँ ठीक होते हैं, वहाँ की समस्याओं या अन्य बगों को तोड़ते हैं जो कोई भी डेवलपर नहीं कर सकता, यह ठीक है। इसके अलावा, एकीकरण परीक्षण ज्यादातर डेवलपर्स द्वारा किया जाना चाहिए। परीक्षक का मुख्य उद्देश्य यह सत्यापित करना है कि आवश्यकताओं को पूरा किया गया है।
इस तरह की एक छोटी सी टीम में (और अनुप्रयोग के आकार के आधार पर भी), मैं परीक्षक को एक हाइब्रिड भूमिका में भी देख सकता हूं, इकाई परीक्षण और UI परीक्षण लिख सकता हूं। आपको निश्चित रूप से एक को किराए पर लेना चाहिए ।
लेकिन परीक्षक की तुलना में अधिक महत्वपूर्ण नियमित जमा / शाखाएं हैं। ऐसी किसी भी चीज़ को प्रस्तुत न करें जिसका ठीक से परीक्षण नहीं किया गया है। जब आपने कोई सुविधा जोड़ी है या कुछ बदला है, तो उसके आस-पास की हर चीज को फिर से सत्यापित करना होगा। यदि आपकी कंपनी नहीं करती है तो आपको केवल एक खराब प्रतिष्ठा मिलेगी। अस्थिर कुछ जारी न करें। जब ग्राहक एक निश्चित तिथि तक सॉफ़्टवेयर रखना चाहता है, तो उसे पर्याप्त रूप से विकसित करना बंद कर दें और ठीक से परीक्षण करें, इसलिए आपके पास बग फिक्स के लिए पर्याप्त समय है। अक्सर अंतिम-मिनट की सुविधा-अनुरोधों को अस्वीकार करने से बेहतर है कि उन्हें खराब तरीके से लागू किया जाए या उचित परीक्षण के बिना जारी किया जाए।