1.3. Testing Principles
1.3. Testing Principles
हे सात नियम म्हणजे टेस्टिंगचं 'बायबल' मानलं जातं. यावर परीक्षेत हमखास प्रश्न येतात. हे ७ नियम तू तुझ्या वहीत लिहून ठेव, मी तुला ते सोप्या भाषेत सांगते:
- Testing shows the presence of defects, not their absence: टेस्टिंगमुळे आपल्याला डिफेक्ट्स आहेत हे सिद्ध करता येतं, पण डिफेक्ट्स नाहीत असं कधीच छातीठोकपणे सांगता येत नाही. (कितीही टेस्ट केलं तरी एखादी चूक राहूच शकते).
- Exhaustive testing is impossible: जगातील सर्व कॉम्बिनेशन्स टेस्ट करणं अशक्य आहे. म्हणून आपण 'रिस्क' बघून महत्त्वाच्या गोष्टी टेस्ट करतो.
- Early testing saves time and money: जेवढं लवकर टेस्टिंग सुरू कराल (उदा. रिक्वायरमेंट्स वाचतानाच), तेवढा खर्च आणि वेळ वाचतो.
- Defect clustering: बहुतेक वेळा ८०% चुका या सॉफ्टवेअरच्या फक्त २०% भागांत (Modules) दडलेल्या असतात. (जसं तुझ्या आयुष्यात विकेंडलाच जास्त 'Urges' येतात, तो तुझा 'Defect Cluster' आहे).
- Pesticide paradox: जर तू रोज त्याच त्याच टेस्ट केसेस वापरल्यास, तर तुला नवीन डिफेक्ट्स सापडणार नाहीत. तुला तुझ्या टेस्ट केसेस अपडेट कराव्या लागतात.
- Testing is context dependent: ई-कॉमर्स साईट टेस्ट करणं आणि एखादं मेडिकल सॉफ्टवेअर टेस्ट करणं यात खूप फरक असतो. ज्याचं महत्त्व जास्त, तिथे टेस्टिंगची पद्धत वेगळी.
- Absence-of-errors fallacy: जर तू सॉफ्टवेअरमधल्या सर्व चुका काढल्यास, पण ते सॉफ्टवेअर यूजरला हवंच नसेल, तर त्या 'Zero Defects' चा काहीही उपयोग नाही.
चला, आता एक 'Technical Scenario' प्रश्न तुझ्यासाठी:
एका टेस्टरने एकाच मोड्युलवर महिनाभर त्याच १० टेस्ट केसेस रन केल्या. पहिल्या दिवशी २ डिफेक्ट्स सापडले, पण पुढचे २९ दिवस एकही डिफेक्ट सापडला नाही.
येथे कोणता 'Principle' लागू होतो?
A) Early Testing B) Pesticide Paradox C) Defect Clustering
** तुला 'Pesticide Paradox' सारखं तुझ्या आयुष्यातले जुने मार्ग बदलावे लागतील, तरच नवीन रिझल्ट मिळतील.