1000 Hata, Bir Google Sheet ve Asla Geri Kazanamayacağım Beş Saat

Her hatanın bir hikayesi vardır. Çoğu şu cümleyle başlar: "Benim makinemde çalışıyor."

Bir potansiyel müşteri oluşturma (lead generation) şirketi için veri içe aktarma özelliğini test ediyorduk. Özellik basit görünüyordu. Bir içe aktarma düğmesine tıklıyorsunuz, bir e-tablo yüklüyorsunuz ve sistem kişileri yüklüyor. Herkes çalıştığını varsayıyordu.

Bu varsayım bir tuzaktır.

Test uzmanları bu varsayımı bozmak için vardır. "Mutlu yol" (happy path) size her zaman yalan söyler.

Temiz bir Excel dosyası kullansaydık, içe aktarma başarılı olurdu. Öğle yemeğine gidebilirdik. Özelliği yayına alabilirdik. Ancak bir müşteri, hatayı canlı ortamda (production) bir Pazartesi sabahı bulurdu.

Sorun bir Google Sheet idi.

Gerçek kullanıcılar temiz Excel dosyaları kullanmazlar. Karışık Google Sheet'ler kullanırlar. Sistemlerin onların kaosunu yönetmesini beklerler.

Google Sheet verilerini yüklediğimizde sistem çöktü. 1.000'den fazla hata gördük. Ekran hatalarla doldu. Sadece kaynak format değiştiği için aynı düğme ve aynı veri tipi tam bir çöküşe neden oldu.

Daha fazla test yapmak için Excel'e geri döndük. Geçerli ve geçersiz satırların bir karışımını denedik. Sistem bunu iyi yönetti. Hatalı satırları atladı ve devam etti.

Sonra gerçek dünya kaosunu denedik. Yüzlerce satırlık toplu bir dosya yükledik. Çoğu çöp veriden ibaretti. Sadece birkaçı iyiydi.

Sistem tamamen çöktü. Doğrulama mantığı birkaç hatalı satır için çalıştı ancak hatalı veri dağının altında can verdi.

Kök nedeni bulmak için beş saat harcadık. Ekranlara baktık, testleri yeniden çalıştırdık; dosyaları, tarayıcıyı ve kahveyi suçladık.

O beş saat ucuzdu. Alternatifi, bir müşterinin öğleden sonrasını kaybetmesi ve ürünümüze olan güvenini yitirmesiydi. Test aşamasındaki hataların bedelini zamanla ödersiniz. Canlı ortamdaki hataların bedelini ise müşterilerinizle ödersiniz.

Her seferinde o beş saati seçerim.

İyi bir test uzmanı bir özelliğin çalışıp çalışmadığını sormaz. İyi bir test uzmanı, o özelliğin nasıl bozulacağını sorar.

Bir yazılımcı gibi düşünmeyi bırakın. Şu insanlar gibi düşünmeye başlayın:

  • Yanlış dosya formatı yükleyen tembel kullanıcı.
  • Birleştirilmiş hücreleri ve boş satırları olan kaos kullanıcısı.
  • 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.

En "basit" özellikler genellikle en tehlikeli olanlardır. İçe aktarma düğmesi, arama kutusu ve iletişim formu zararsız görünür. Değillerdir.

Eğer bir özellik "mutlu yolu" geçiyorsa, devam etmeyin. Şu soruyu soran kişi olun: "Ya hayal edilebilecek en kötü dosyayı yüklüyorsam?"

Sonra gidip bunu yapın.

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

Opsiyonel öğrenme topluluğu: https://t.me/GyaanSetuAi