१००० त्रुटी, एक Google Sheet आणि पाच तास जे मला कधीच परत मिळणार नाहीत

प्रत्येक बगची (bug) एक गोष्ट असते. बहुतेक गोष्टींची सुरुवात या वाक्याने होते: "माझ्या मशीनवर तर हे व्यवस्थित चालतेय."

आम्ही एका लीड जनरेशन कंपनीसाठी डेटा इम्पोर्ट (data import) फीचरची चाचणी घेत होतो. ते फीचर अगदी साधे वाटत होते. तुम्ही इम्पोर्ट बटण क्लिक करता, स्प्रेडशीट अपलोड करता आणि सिस्टम कॉन्टॅक्ट्स लोड करते. सर्वांना वाटले की ते व्यवस्थित काम करत आहे.

तो अंदाज एक सापळा आहे.

Testers हे तो अंदाज मोडीत काढण्यासाठीच असतात. "happy path" नेहमीच तुमच्याशी खोटे बोलतो.

जर आम्ही एक स्वच्छ Excel फाईल वापरली असती, तर इम्पोर्ट यशस्वी झाले असते. आम्ही दुपारच्या जेवणासाठी जाऊ शकलो असतो. आम्ही ते फीचर रिलीज (ship) करू शकलो असतो. पण एखाद्या ग्राहकाला सोमवारच्या सकाळी प्रोडक्शनमध्ये (production) तो बग सापडला असता.

समस्या होती एक Google Sheet ची.

खरे वापरकर्ते स्वच्छ Excel फाईल्स वापरत नाहीत. ते विस्कळीत (messy) Google Sheets वापरतात. त्यांना अपेक्षा असते की सिस्टमने त्यांच्या गोंधळाला (chaos) हाताळले पाहिजे.

जेव्हा आम्ही Google Sheet चा डेटा अपलोड केला, तेव्हा सिस्टम फेल झाली. आम्हाला १००० पेक्षा जास्त त्रुटी (errors) दिसल्या. स्क्रीन त्रुटींनी भरून गेली. केवळ सोर्स फॉरमॅट बदलल्यामुळे त्याच बटणामुळे आणि त्याच डेटा टाईपमुळे संपूर्ण सिस्टम कोलमडली.

आम्ही अधिक चाचणी करण्यासाठी पुन्हा Excel कडे वळलो. आम्ही वैध (valid) आणि अवैध (invalid) रो (rows) यांचे मिश्रण वापरून पाहिले. सिस्टमने ते व्यवस्थित हाताळले. तिने चुकीच्या रो ला वगळले आणि पुढे गेली.

त्यानंतर आम्ही खऱ्या जगातील गोंधळ (real-world chaos) अनुभवला. आम्ही शेकडो रो असलेली एक बल्क फाईल अपलोड केली. त्यातील बहुतेक डेटा कचरा (garbage) होता. फक्त काहीच चांगले होते.

सिस्टम पूर्णपणे कोलमडली. व्हॅलिडेशन लॉजिक (validation logic) काही चुकीच्या रो साठी काम करत होते, पण चुकीच्या डेटाच्या डोंगराखाली ते संपले.

मूळ कारण शोधण्यात आमचे पाच तास गेले. आम्ही स्क्रीनकडे पाहत राहिलो, चाचण्या पुन्हा केल्या आणि फाईल्स, ब्राउझर आणि कॉफीला दोष दिला.

ते पाच तास स्वस्त होते. त्याऐवजी पर्यायाने एखाद्या ग्राहकाची दुपार वाया गेली असती आणि आमच्या उत्पादनावरील त्यांचा विश्वास उडाला असता. टेस्टिंगमधील बगसाठी तुम्ही वेळेच्या स्वरूपात किंमत मोजता. प्रोडक्शनमधील बगसाठी तुम्ही ग्राहकांच्या स्वरूपात किंमत मोजता.

मी प्रत्येक वेळी ते पाच तास निवडिन.

एक चांगला टेस्टर हे विचारत नाही की एखादे फीचर काम करते का. एक चांगला टेस्टर हे विचारतो की ते कसे तोडले (break) जाऊ शकते.

डेव्हलपरसारखा विचार करणे थांबवा. या लोकांसारखा विचार करायला सुरुवात करा:

  • तो आळशी वापरकर्ता जो चुकीचे फाईल फॉरमॅट अपलोड करतो.
  • तो गोंधळलेला वापरकर्ता ज्याच्याकडे मर्ज केलेल्या सेल्स (merged cells) आणि रिकाम्या रो (empty rows) आहेत.
  • तो बल्क वापरकर्ता ज्याच्याकडे १० स्वच्छ रेकॉर्ड्सऐवजी ४,००० अशुद्ध रेकॉर्ड्स आहेत.
  • तो त्रास देणारा वापरकर्ता जो नेमके तेच करतो जे त्याला करायला नको आहे.

सॉफ्टवेअर अशा इनपुट्सवर (inputs) कोलमडते ज्याची तुम्ही अपेक्षा केली नव्हती.

सर्वात "साधी" फीचर्स अनेकदा सर्वात धोकादायक असतात. इम्पोर्ट बटण, सर्च बॉक्स आणि कॉन्टॅक्ट फॉर्म निरुपद्रवी वाटतात. पण ते तसे नाहीत.

जर एखादे फीचर "happy path" मध्ये यशस्वी झाले, तर तिथेच थांबू नका. अशी व्यक्ती बना जी विचारते: "जर मी कल्पना न करता येण्यासारखी सर्वात वाईट फाईल अपलोड केली तर काय होईल?"

मग ते करून पहा.

Source: https://dev.to/jaswanth_m_ab71bf22ec8b0/1000-errors-one-google-sheet-and-five-hours-i-will-never-get-back-4okl

Optional learning community: https://t.me/GyaanSetuAi