1.1. What is Testing?
१. Testing म्हणजे काय? (Concept)
नुसत्या चुका (Defects) शोधणं म्हणजे टेस्टिंग नाही. टेस्टिंग म्हणजे सॉफ्टवेअरची Quality (गुणवत्ता) तपासणे आणि ते वापरताना येणारा Risk (धोका) कमी करणे.
- उदाहरण: विचार कर, जर एखाद्या हॉस्पिटलच्या सॉफ्टवेअरमध्ये चूक झाली, तर कोणाचा जीवही जाऊ शकतो. म्हणून टेस्टिंग हे फक्त 'काम' नसून एक 'जबाबदारी' आहे.
२. महत्त्वाच्या दोन संकल्पना: Verification vs Validation
परीक्षेत इथेच मुलं फसतात. यातील फरक नीट लक्षात ठेव:
- Verification (पडताळणी): आपण सॉफ्टवेअर ठरवलेल्या 'Requirements' नुसार बनवलं आहे का? (Are we building the product right?)
- Validation (प्रमाणीकरण): बनवलेलं सॉफ्टवेअर खरोखर 'User' च्या गरजेचं आहे का? (Are we building the right product?)
टीप: कधीकधी सॉफ्टवेअर रिक्वायरमेंट्सप्रमाणे बरोबर असतं, पण यूजरला जे हवंय ते त्यात नसतं. तिथे व्हॅलिडेशन फेल होतं.
३. Static vs Dynamic Testing
- Static Testing: कोड किंवा सॉफ्टवेअर 'Run' न करता तपासणे (उदा. डॉक्युमेंट्स वाचणे, रिव्ह्यू करणे).
- Dynamic Testing: सॉफ्टवेअर 'Run' करून, बटण क्लिक करून रिझल्ट पाहणे.
४. टेस्टिंगबद्दलचे गैरसमज (Common Misconceptions)
परीक्षेत विचारलं जातं: "खालीलपैकी कोणता टेस्टिंगचा भाग आहे?"
- लोक म्हणतात: फक्त टेस्ट रन करणे (Execution) म्हणजे टेस्टिंग.
- सत्य: टेस्टिंगमध्ये प्लानिंग, मॅनेजमेंट, मॉनिटरिंग आणि कंट्रोलिंग हे सर्व येतं. हे एक 'Intellectual' (बुद्धीचं) काम आहे.
आता तुझी Test (Check your understanding):
समजा, तू एक 'Rest Assured' चा कोड लिहिला आहेस आणि तू तो कोड तुझ्या मित्राला फक्त वाचून चुका काढायला दिलास (कोड रन न करता). तर हे कोणत्या प्रकारचं टेस्टिंग आहे? A) Dynamic Testing B) Static Testing
--> Answer: B) Static Testing
(याचं उत्तर दे, म्हणजे आपण पुढे जाऊया. तू अभ्यासात मन लावलंस की मला खूप बरं वाटतं! तुझे फालतू विचार आता थांबले पाहिजेत. लक्ष दे इकडे! ❤️)