१००० त्रुटी, एक Google Sheet, आणि पाच तास जे मला कधीच परत मिळणार नाहीत
प्रत्येक बगची एक गोष्ट असते. याची सुरुवात एका खोट्या विधानाने झाली: "हे माझ्या मशीनवर व्यवस्थित चालतेय."
आम्ही एका लीड जनरेशन कंपनीसाठी डेटा इम्पोर्ट फीचरची चाचणी केली. ते अगदी साधे वाटत होते. तुम्ही एक बटण क्लिक करता, फाईल अपलोड करता आणि डेटा लोड होतो.
बहुतेक लोकांना वाटते की ही फीचर्स व्यवस्थित काम करतात. पण ही धारणा चुकीची आहे हे सिद्ध करण्यासाठीच टेस्टर्स असतात.
'हॅपी पाथ' हा एक सापळा आहे.
जर तुम्ही एक स्वच्छ Excel फाईल अपलोड केली, तर सिस्टम व्यवस्थित चालते. तुम्ही दुपारच्या जेवणासाठी जाता. तुम्हाला वाटते की काम पूर्ण झाले. पण जर तुम्ही तिथेच थांबलात, तर तुम्ही दोषपूर्ण कोड रिलीज करता. एखादा ग्राहक मंडे मॉर्निंगला प्रोडक्शनमध्ये ही त्रुटी शोधून काढेल.
समस्या होती एक Google Sheet ची.
खरे वापरकर्ते स्वच्छ Excel फाईल्स वापरत नाहीत. ते विस्कळीत Google Sheets वापरतात. ते स्प्रेडशीट्समध्ये गोंधळ निर्माण करतात आणि सिस्टमने ते हाताळावे अशी त्यांची अपेक्षा असते.
जेव्हा आम्ही Google Sheet अपलोड केली, तेव्हा सिस्टम फेल झाली. त्यात १००० पेक्षा जास्त त्रुटी आल्या. तोच डेटा आणि तेच बटण वापरूनही पूर्ण सिस्टम कोलमडली, कारण फॉरमॅट बदलला होता.
त्यानंतर आम्ही डेटाच्या गुणवत्तेची चाचणी केली.
- काही अवैध रो (rows)? सिस्टमने त्या वगळल्या आणि पुढे गेली.
- शेकडो विस्कळीत रो (rows)? सिस्टम कोलमडली.
व्हॅलिडेशन लॉजिक लहान त्रुटींसाठी काम करत होते. पण जेव्हा समोर कचरा डेटाचा डोंगर आला, तेव्हा ते अपयशी ठरले.
हे डीबग करण्यासाठी आमचे पाच तास गेले. आम्ही फाईलला, ब्राउझरला आणि डेटाला दोष दिला. आम्ही तर कॉफीलाही दोष दिला.
ते पाच तास स्वस्त होते. त्याऐवजी दुसरी परिस्थिती खूप महाग पडू शकली असती. जर एखाद्या ग्राहकाला ही त्रुटी सापडली, तर त्यांचा तुमच्या उत्पादनावरील विश्वास उडेल. टेस्टिंगमधील त्रुटींची किंमत तुम्ही वेळेने मोजता. पण प्रोडक्शनमधील त्रुटींची किंमत तुम्हाला ग्राहकांच्या स्वरूपात मोजावी लागते.
मला वेळेच्या स्वरूपात किंमत मोजणे जास्त आवडते.
खरे बग्स शोधण्यासाठी, तुम्हाला तुमची मानसिकता बदलणे आवश्यक आहे. सॉफ्टवेअर काम करते का, असे विचारू नका. ते कसे तोडता येईल, असे विचारा.
डेव्हलपरसारखा विचार करणे थांबवा. खालीलप्रमाणे विचार करायला सुरुवात करा:
- तो आळशी वापरकर्ता जो चुकीच्या फाईल फॉरमॅटमध्ये फाईल अपलोड करतो.
- तो गोंधळलेला वापरकर्ता ज्याच्याकडे मर्ज केलेल्या सेल्स आणि रिकाम्या रो आहेत.
- तो बल्क वापरकर्ता ज्याच्याकडे १० स्वच्छ रेकॉर्ड्सऐवजी ४,००० अशुद्ध रेकॉर्ड्स आहेत.
- तो त्रास देणारा वापरकर्ता जो नेमके तेच करतो जे करायला नको आहे.
सॉफ्टवेअर अशा इनपुट्सवर कोलमडते ज्याची तुम्ही अपेक्षा केलेली नसते.
"साधी" फीचर्स सर्वात धोकादायक असतात. इम्पोर्ट बटण आणि सर्च बॉक्स निरुपद्रवी वाटतात. पण ते तसे नाहीत.
पुढच्या वेळी जेव्हा एखादे फीचर 'हॅपी पाथ' पार करेल, तेव्हा अशी व्यक्ती बना जी विचारते: "जर मी कल्पना न करता येण्यासारखी सर्वात वाईट फाईल अपलोड केली तर काय होईल?"
मग जाऊन ते करून पहा.
