1000 Ralat, Satu Google Sheet, dan Lima Jam yang Tidak Akan Saya Dapat Semula

Setiap pepijat mempunyai ceritanya yang tersendiri. Kebanyakannya bermula dengan ungkapan: "Ia berfungsi di komputer saya."

Kami sedang menguji ciri import data untuk sebuah syarikat penjanaan prospek (lead generation). Ciri tersebut kelihatan ringkas. Anda klik butang import, muat naik hamparan (spreadsheet), dan sistem akan memuatkan kenalan tersebut. Semua orang menganggap ia berfungsi.

Andaian itu adalah satu perangkap.

Penguji wujud untuk merosakkan andaian tersebut. "Laluan senang" (happy path) sentiasa menipu anda.

Jika kami menggunakan fail Excel yang bersih, proses import akan berjaya. Kami boleh sahaja pergi makan tengah hari. Kami boleh sahaja melancarkan ciri tersebut. Namun, pelanggan pasti akan menemui pepijat itu pada pagi Isnin di persekitaran produksi.

Masalahnya adalah Google Sheet.

Pengguna sebenar tidak menggunakan fail Excel yang bersih. Mereka menggunakan Google Sheet yang bersepah. Mereka mengharapkan sistem dapat mengendalikan kekacauan mereka.

Apabila kami memuat naik data Google Sheet tersebut, sistem gagal. Kami melihat lebih 1,000 ralat. Skrin dipenuhi dengan ralat. Butang yang sama dan jenis data yang sama menyebabkan kegagalan total hanya kerana format sumber berubah.

Kami kembali ke Excel untuk melakukan lebih banyak ujian. Kami mencuba campuran baris yang sah dan tidak sah. Sistem mengendalikannya dengan baik. Ia melangkau baris yang rosak dan meneruskan proses.

Kemudian kami mencuba kekacauan dunia sebenar. Kami memuat naik fail pukal dengan ratusan baris. Kebanyakannya adalah sampah. Hanya beberapa sahaja yang baik.

Sistem tersebut rosak sepenuhnya. Logik pengesahan berfungsi untuk beberapa baris yang rosak, tetapi ia lumpuh di bawah timbunan data yang buruk.

Kami menghabiskan masa lima jam untuk mencari punca utama. Kami merenung skrin, menjalankan semula ujian, dan menyalahkan fail, pelayar (browser), serta kopi.

Lima jam itu adalah "murah". Alternatifnya adalah pelanggan kehilangan waktu petang mereka dan hilang kepercayaan terhadap produk kami. Anda membayar untuk pepijat dalam ujian dengan masa. Anda membayar untuk pepijat dalam produksi dengan pelanggan.

Saya akan memilih lima jam tersebut setiap kali.

Penguji yang baik tidak bertanya sama ada sesuatu ciri itu berfungsi. Penguji yang baik bertanya bagaimana untuk merosakkannya.

Berhenti berfikir seperti seorang pembangun (developer). Mula berfikir seperti orang-orang ini:

  • Pengguna malas yang memuat naik format fail yang salah.
  • Pengguna kacau-bilau dengan sel yang digabungkan (merged cells) dan baris kosong.
  • Pengguna pukal dengan 4,000 rekod kotor berbanding 10 rekod yang bersih.
  • Si pembuat masalah yang melakukan tepat apa yang tidak sepatutnya dilakukan.

Perisian rosak disebabkan input yang tidak anda jangkakan.

Ciri yang paling "ringkas" selalunya adalah yang paling berbahaya. Butang import, kotak carian, dan borang kenalan kelihatan tidak berbahaya. Hakikatnya tidak.

Jika sesuatu ciri melepasi "laluan senang", jangan teruskan. Jadilah orang yang bertanya: "Bagaimana jika saya memuat naik fail yang paling teruk yang boleh dibayangkan?"

Kemudian, pergilah lakukan.

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