𝗠𝘆𝘀𝘁𝗲𝗿𝘆 𝗕𝗿𝗲𝗮𝗱
QA टीमचे ध्येय केवळ चांगले टेस्टिंग करणे हे नसते.
ते योग्य गोष्टी योग्य पद्धतीने तपासणे हे देखील नसते.
खरे ध्येय म्हणजे सॉफ्टवेअर व्यवस्थित काम करेल यासाठी टीमला मदत करणे हे आहे. टेस्टिंग हे हे ध्येय गाठण्यासाठीचे एक साधन आहे. ते एकमेव साधन नाही. अनेकदा ते सर्वोत्तम साधन देखील नसते.
अनेक कंपन्या केवळ टेस्टिंग आणि कव्हरेजवर लक्ष केंद्रित करतात. ही एक चूक आहे.
टेस्टिंगचे काही विशिष्ट उपयोग आहेत:
- ऑटोमेटेड टेस्ट्स महत्त्वाच्या फंक्शन्सवर जलद फीडबॅक देतात.
- एक्सप्लोरेटरी टेस्टिंगमुळे सॉफ्टवेअर कसे वागते हे समजून घेण्यास मदत होते.
तथापि, अनेक टीम्स सर्व काही दुरुस्त करण्यासाठी टेस्टिंगचा वापर करतात. खराब नियोजनामुळे निर्माण झालेल्या त्रुटी भरून काढण्यासाठी ते याचा वापर करतात. मॉनिटरिंग आणि ऑब्झर्व्हेबिलिटीची (observability) जागा घेण्यासाठी ते टेस्टिंगचा वापर करतात.
टेस्ट कव्हरेजला मुख्य क्वालिटी सिग्नल मानणे म्हणजे पाव ओव्हनमधून बाहेर आल्यानंतर त्याला आकार देण्याचा प्रयत्न करण्यासारखे आहे.
तुमच्या सॉफ्टवेअरचा विचार एका पावाप्रमाणे करा. कोड लिहिण्यापूर्वी तुम्हाला आवश्यक असलेल्या गोष्टी म्हणजे त्याचे घटक (ingredients) आहेत:
- सॉफ्टवेअरने नक्की काय केले पाहिजे याची स्पष्ट व्याख्या.
- क्वालिटी म्हणजे काय, यावर सर्वांचे एकमत.
- जोखीम आणि मर्यादांची समज.
जर तुम्ही चुकीचे पीठ वापरले किंवा मीठ टाळले, तर कितीही आकार बदलला तरी पिठाचा (dough) दोष दूर होणार नाही.
सॉफ्टवेअर जेव्हा पिठाच्या स्वरूपात असते, तेव्हा त्याला आकार देणे सोपे असते. याचा अर्थ डेव्हलपमेंटच्या सुरुवातीच्या टप्प्यात. एकदा का कोड लिहिला गेला की, पीठ कडक होते. त्यानंतर बदल करण्यासाठी अधिक वेळ आणि मेहनत लागते.
टेस्ट कव्हरेज तुम्हाला फक्त तुम्ही कुठे पाहिले हे सांगते. तुम्ही ज्या गोष्टी तपासल्या त्या महत्त्वाच्या आहेत का, हे ते सांगत नाही. ८०% कव्हरेजचा अर्थ असा नाही की तुमचे सॉफ्टवेअर उच्च दर्जाचे आहे. याचा अर्थ असा असू शकतो की तुमच्याकडे खूप जास्त निरर्थक टेस्ट्स आहेत.
कव्हरेजच्या आकड्यांच्या मागे लागणे थांबवा. त्याऐवजी, हे प्रश्न विचारा:
- आपल्या सॉफ्टवेअरचे वर्तन (behavior) कुठे अज्ञात आहे?
- ते शोधण्याचा सर्वात जलद मार्ग कोणता आहे?
कधीकधी याचे उत्तर टेस्टिंगमध्ये असते. अनेकदा, याचे उत्तर संवादात असते. ज्या प्रश्नांना सर्वजण गृहीत धरतात, ते प्रश्न तुम्हाला विचारावे लागतील.
बहुतेक सॉफ्टवेअर शेवटी कधी ना कधी बिघडतातच. जेव्हा ते बिघडतात, तेव्हा तुम्हाला ते त्वरित समजणे आवश्यक आहे. युजर्सना समजण्यापूर्वीच प्रोडक्शन मॉनिटरिंग तुम्हाला काहीतरी चुकले आहे हे सांगते. टेस्टिंग हे काम स्वस्त दरात करू शकत नाही.
AI मुळे हे काम अधिक कठीण झाले आहे. आता तुम्ही कोणत्याही वास्तविक समजेशिवाय कोड आणि टेस्ट्स तयार करू शकता. कव्हरेजचे आकडे वाढतात, पण गुणवत्ता कमीच राहते. तुम्ही पिठाचा टप्पा वगळून थेट ओव्हनमध्ये जाता.
टेस्टिंग हे ध्येय गाठण्याचे एक साधन आहे. कव्हरेज हे केवळ एक प्रतीक (proxy) आहे. खरे काम पिठाच्या टप्प्यात (dough stage) घडते. तो टप्पा वगळू नका.
Source: https://dev.to/susanne_abdelrahman/mystery-bread-2526
Optional learning community: https://t.me/GyaanSetuAi