1.2.3. Errors, Defects, Failures, and Root Causes
उत्कृष्ट! तू दिलेले उत्तर अगदी बरोबर आहे—Quality Assurance कारण तिथे आपण 'प्रोसेस' सुधारण्यावर भर देतोय.
आता आपण एका अशा विषयाकडे वळतोय जो ISTQB च्या परीक्षेत सर्वात जास्त वेळा विचारला जातो: Error, Defect, Failure आणि Root Cause मधील फरक. हे शब्द लोक सर्रास वापरतात, पण टेक्निकल भाषेत यात खूप मोठा फरक आहे.
नीट समजून घे:
१. 'Error' (मानवी चूक - Mistake)
- काय आहे?: जेव्हा एखादा माणूस (डेव्हलपर किंवा टेस्टर) काहीतरी चूक करतो.
- कारण: थकवा, कामाचा ताण, अपुरं ट्रेनिंग किंवा कामातील गुंतागुंत.
- उदाहरण: डेव्हलपरने कोड लिहिताना चुकून
>ऐवजी<लिहिलं. ही झाली 'Error'.
२. 'Defect' (दोष - Bug/Fault)
- काय आहे?: त्या 'Error' मुळे डॉक्युमेंट किंवा कोडमध्ये जो दोष निर्माण होतो, त्याला 'Defect' म्हणतात.
- कुठे सापडतो?: हा कोडमध्ये असू शकतो, रिक्वायरमेंट्समध्ये असू शकतो किंवा टेस्ट स्क्रिप्टमध्येही असू शकतो.
३. 'Failure' (अपयश)
- काय आहे?: जेव्हा तो दोष असलेला कोड प्रत्यक्ष 'Run' (Execute) होतो आणि सॉफ्टवेअर अपेक्षेप्रमाणे काम करत नाही, तेव्हा त्याला 'Failure' म्हणतात.
- महत्त्वाचा मुद्दा: प्रत्येक डिफेक्टमुळे फेल्युअर येईलच असं नाही. काही डिफेक्ट्स विशिष्ट परिस्थितीतच बाहेर येतात.
४. 'Root Cause' (मूळ कारण)
- काय आहे?: ती चूक (Error) नेमकी का घडली? त्यामागचं सर्वात खालचं स्तर (Fundamental reason) म्हणजे रूट कॉज.
- फायदा: जर आपण मूळ कारण शोधून काढलं, तर भविष्यात तशाच प्रकारच्या चुका टाळता येतात.
चला, आता एक 'Technical Scenario' तुझ्यासाठी:
एका डेव्हलपरला खूप झोप येत होती (Tired), म्हणून त्याने कोडमध्ये चुकीचं लॉजिक लिहिलं. जेव्हा तू तो कोड टेस्ट केलास, तेव्हा तुला 'Error 404' दिसली.
या सिच्युएशनमध्ये 'Failure' काय आहे?
A) डेव्हलपरला आलेली झोप. B) कोडमध्ये लिहिलेलं चुकीचं लॉजिक. C) स्क्रीनवर दिसलेली 'Error 404'.
--> Answer: C) स्क्रीनवर दिसलेली 'Error 404'.
more explaination:
कल्पना कर, तू घरी चहा बनवत आहेस:
१. Error (मानवी चूक - Mistake)
- काय झालं?: चहा बनवताना तुझं लक्ष विचलित झालं (कदाचित तू मोबाईल बघत होतास) आणि तू साखरेऐवजी चुकून मीठ उचललं.
- हे का झालं?: कारण तू Tired होतास किंवा तुझं Focus नव्हतं.
- टेक्निकल व्याख्या: मानवाने केलेली चूक म्हणजे Error.
२. Defect (दोष - Bug/Fault)
- काय झालं?: तू ते मीठ चहाच्या पातेल्यात टाकलं. आता त्या पातेल्यातल्या चहामध्ये 'मीठ' आहे.
- परिणाम: जोपर्यंत तो चहा पातेल्यात आहे आणि कोणी तो पीत नाही, तोपर्यंत तो फक्त एक Defect आहे जो चहाच्या 'मटेरियल' (Code/Documentation) मध्ये दडलेला आहे.
- टेक्निकल व्याख्या: एररमुळे कोड किंवा डॉक्युमेंटमध्ये जो दोष निर्माण होतो, त्याला Defect म्हणतात.
३. Failure (अपयश)
- काय झालं?: तू तो चहा कपात ओतला आणि तुझ्या वडिलांना प्यायला दिला. त्यांनी एक घोट घेतला आणि त्यांना तो चहा खारट लागला. त्यांनी चहा थुंकून दिला.
- परिणाम: चहाने त्याचं काम (गोड लागणं) केलं नाही. सिस्टिम 'Fail' झाली.
- टेक्निकल व्याख्या: जेव्हा तो डिफेक्ट असलेला कोड Run (Execute) होतो आणि रिझल्ट चुकीचा येतो, तेव्हा त्याला Failure म्हणतात.
थोडक्यात लक्षात ठेवण्यासाठी:
| शब्द | कोण करतं/कुठे असतं? | सोपी ओळख |
|---|---|---|
| Error | माणूस (Human) | "मी चुकलो" (Action) |
| Defect | कोड/डॉक्युमेंट (Work Product) | "कोडमध्ये चूक आहे" (In the product) |
| Failure | सॉफ्टवेअर रन केल्यावर (Execution) | "सॉफ्टवेअर नीट चालत नाहीये" (Behavior) |
आता एक प्रश्न (नीट विचार करून सांग):
समजा, एका डेव्हलपरने 'Login' चं बटण बनवताना कोडमध्ये 'Password' चं स्पेलिंग चुकीचं लिहिलं (Pasword). तू जेव्हा लॉगिन करायला गेलास, तेव्हा बटनवर क्लिकच होत नव्हतं.
- डेव्हलपरने स्पेलिंग चुकीचं लिहिणं, ही काय आहे? (Error की Failure?)
- लॉगिन बटनवर क्लिक न होणं, हे काय आहे? (Defect की Failure?)
--> उत्तर: १. डेव्हलपरने स्पेलिंग चुकीचं लिहिणं ही Error आहे, कारण ती मानवी चूक आहे. --> २. लॉगिन बटनवर क्लिक न होणं ही Failure आहे, कारण सॉफ्टवेअर अपेक्षेप्रमाणे काम करत नाहीये.
आता समजलं का रे माझ्या राजा? तू रिलॅप्स केलास (Action/Error), त्यामुळे तुझ्या दिवसाचं नियोजन बिघडलं (Defect) आणि शेवटी तुला पश्चात्ताप होऊन तुझं ध्येय मागे पडलं (Failure). पण आता आपण 'Debugging' करून ते दुरुस्त करतोय. तू बघतोयस ना? "They are tired" हे सुद्धा एररचं एक कारण असू शकतं. आज तू सुद्धा रिलॅप्स झालास कारण तुझं मन भरकटलं होतं, तू 'Tired' होतास. तुझ्या आयुष्यातले रिलॅप्स हे 'Failure' आहेत, पण त्याचं 'Root Cause' काय आहे? ते शोधून त्यावर काम करणं म्हणजेच खऱ्या अर्थाने सुधारणं आहे. जसं आपण डिफेक्ट शोधून फिक्स करतो, तसं आता तू या अभ्यासाच्या माध्यमातून स्वतःला फिक्स करतोयस. Focus!