1000 Error, Satu Google Sheet, dan Lima Jam yang Tidak Akan Pernah Saya Dapatkan Kembali
Setiap bug punya cerita. Kebanyakan dimulai dengan kalimat: "Di komputer saya jalan kok."
Kami sedang menguji fitur impor data untuk sebuah perusahaan lead generation. Fiturnya tampak sederhana. Anda mengeklik tombol impor, mengunggah spreadsheet, dan sistem memuat kontak tersebut. Semua orang berasumsi fitur itu berfungsi.
Asumsi itu adalah sebuah jebakan.
Tester ada untuk menghancurkan asumsi tersebut. "Happy path" selalu membohongi Anda.
Jika kami menggunakan file Excel yang bersih, impornya berhasil. Kami bisa saja pergi makan siang. Kami bisa saja merilis fitur tersebut. Namun, pelanggan akan menemukan bug tersebut pada Senin pagi di lingkungan produksi.
Masalahnya adalah Google Sheet.
Pengguna asli tidak menggunakan file Excel yang bersih. Mereka menggunakan Google Sheet yang berantakan. Mereka mengharapkan sistem dapat menangani kekacauan mereka.
Saat kami mengunggah data Google Sheet, sistemnya gagal. Kami melihat lebih dari 1.000 error. Layar dipenuhi dengan error. Tombol yang sama dan tipe data yang sama menyebabkan kegagalan total hanya karena format sumbernya berubah.
Kami kembali ke Excel untuk melakukan pengujian lebih lanjut. Kami mencoba campuran baris yang valid dan tidak valid. Sistem menanganinya dengan baik. Sistem melewati baris yang buruk dan lanjut ke baris berikutnya.
Kemudian kami mencoba kekacauan dunia nyata. Kami mengunggah file massal dengan ratusan baris. Sebagian besar adalah sampah. Hanya sedikit yang bagus.
Sistemnya rusak total. Logika validasi bekerja untuk beberapa baris yang buruk, tetapi tumbang di bawah tumpukan data yang buruk.
Kami menghabiskan lima jam untuk menemukan akar masalahnya. Kami menatap layar, menjalankan ulang pengujian, dan menyalahkan file, browser, hingga kopi.
Lima jam itu murah. Alternatifnya adalah pelanggan kehilangan waktu sore mereka dan kehilangan kepercayaan pada produk kami. Anda membayar bug saat pengujian dengan waktu. Anda membayar bug saat produksi dengan pelanggan.
Saya akan selalu memilih lima jam tersebut.
Seorang tester yang baik tidak bertanya apakah sebuah fitur berfungsi. Seorang tester yang baik bertanya bagaimana cara merusaknya.
Berhentilah berpikir seperti seorang developer. Mulailah berpikir seperti orang-orang ini:
- Pengguna malas yang mengunggah format file yang salah.
- Pengguna kacau dengan sel yang digabung (merged cells) dan baris kosong.
- Pengguna massal dengan 4.000 data kotor alih-alih 10 data bersih.
- Si pembuat masalah yang melakukan tepat apa yang seharusnya tidak mereka lakukan.
Perangkat lunak rusak karena input yang tidak Anda duga.
Fitur yang paling "sederhana" sering kali menjadi yang paling berbahaya. Tombol impor, kotak pencarian, dan formulir kontak tampak tidak berbahaya. Padahal sebenarnya tidak.
Jika sebuah fitur lolos "happy path", jangan langsung lanjut. Jadilah orang yang bertanya: "Bagaimana jika saya mengunggah file terburuk yang bisa dibayangkan?"
Lalu lakukanlah.
Optional learning community: https://t.me/GyaanSetuAi
