1000 Hata, Bir Google Sheet ve Bir Daha Asla Geri Kazanamayacağım Beş Saat
Her hatanın bir hikayesi vardır. Bu hikaye bir yalanla başladı: "Benim makinemde çalışıyor."
Bir potansiyel müşteri oluşturma (lead generation) şirketi için veri içe aktarma özelliğini test ettik. Basit görünüyordu. Bir düğmeye tıklıyorsunuz, bir dosya yüklüyorsunuz ve veriler yükleniyor.
Çoğu insan bu özelliklerin çalıştığını varsayar. Test uzmanları ise bu varsayımın yanlış olduğunu kanıtlamak için vardır.
Mutlu yol (happy path) bir tuzaktır.
Eğer temiz bir Excel dosyası yüklerseniz, sistem geçer. Öğle yemeğine gidersiniz. İşin bittiğini sanırsınız. Eğer orada durursanız, bozuk kod yayınlamış olursunuz. Bir müşteri, hatayı canlı ortamda (production) bir Pazartesi sabahı bulacaktır.
Sorun bir Google Sheet idi.
Gerçek kullanıcılar temiz Excel dosyaları kullanmazlar. Karışık Google Sheet'ler kullanırlar. E-tablolarda kaos yaratırlar ve sistemlerin bunu yönetmesini beklerler.
Bir Google Sheet yüklediğimizde sistem çöktü. 1.000'den fazla hata verdi. Aynı veri ve aynı düğme, format değiştiği için tam bir çöküşe neden oldu.
Sonra veri kalitesini test ettik.
- Birkaç geçersiz satır mı? Sistem onları atladı ve devam etti.
- Yüzlerce karışık satır mı? Sistem çöktü.
Doğrulama mantığı küçük hatalar için çalışıyordu. Ancak bir çöp veri dağıyla karşılaştığında başarısız oldu.
Bunu hata ayıklamak (debugging) için beş saat harcadık. Dosyayı, tarayıcıyı ve veriyi suçladık. Hatta kahveyi bile suçladık.
O beş saat ucuzdu. Alternatifi çok daha pahalıydı. Eğer bir müşteri bu hatayı bulursa, ürününüze olan güvenini kaybeder. Test aşamasındaki hataların bedelini zamanla ödersiniz. Canlı ortamdaki hataların bedelini ise müşterilerle ödersiniz.
Ben zamanla ödemeyi tercih ederim.
Gerçek hataları bulmak için zihniyetinizi değiştirmelisiniz. Yazılımın çalışıp çalışmadığını sormayın. Onu nasıl bozabileceğinizi sorun.
Geliştirici gibi düşünmeyi bırakın. Şunlar gibi düşünmeye başlayın:
- Yanlış dosya formatını yükleyen tembel kullanıcı.
- Birleştirilmiş hücreleri ve boş satırları olan kaotik kullanıcı.
- 10 temiz kayıt yerine 4.000 kirli kaydı olan toplu veri kullanıcısı.
- Tam olarak yapmaması gereken şeyi yapan sorun çıkaran kullanıcı.
Yazılım, beklemediğiniz girdilerle bozulur.
"Basit" özellikler en tehlikeli olanlardır. İçe aktarma düğmesi ve arama kutusu zararsız görünür. Değillerdir.
Bir dahaki sefere bir özellik mutlu yolu geçtiğinde, şu soruyu soran kişi olun: "Ya hayal edilebilecek en kötü dosyayı yüklüyorsam?"
Sonra da gidip yapın.
