« Tüm yayınlar

Testler Geçti, Sistem Bozuk: On Sahte Pozitif Deseni

Bir denetim gününden çıkan on gerçek örnekle, yeşil geçen testlerin ve kontrollerin neden yanıltıcı olabileceğini ve bunu nasıl fark edeceğinizi anlatan analiz.

Bir sitede tek bir çalışma gününde, ücretli bir kitap bedava dağıtılıyor, iletişim formu tüm mesajları sessizce kaybediyor, site haritası boş render ediliyor ve bir metin metriği aslında sadece cümle uzunluğunu ölçüyordu. Bunların hepsi, arızalandıkları anda bile geçerli bir kontrolden geçmişti. Bu vaka analizi, bir kontrolün yeşil kalırken nasıl yanılabileceğine dair on farklı deseni kataloglar: asla kırmızıya dönemeyen scriptler, kontrol edenle kontrol edilenin farklı bir 'lehçe' konuştuğu aramalar, kaynak kodda doğru ama render edilen sayfada bozuk olan bağlantılar, güvenilir ama yanlış şeyi ölçen metrikler ve hatayı sessizce yutan catch bloklarıyla dolduran formlar.

Ortak payda şudur: bir kontrolü tekrar çalıştırmak sadece aynı ölçüm aracını yeniden test eder, oysa kontrolü farklılaştırmak — bilinen bir pozitifi arattırmak, render katmanında bakmak, ölçümün kayıtsız kalması gereken bir dönüşüm uygulamak, hipotezi önceden bilmeyen verilerle test etmek — asıl aracın kendisini sınar. Belgelerdeki iddiaların, hesaplandıkları veriden zamanla kopması da aynı hastalığın bir türüdür: kod hiç hatalı değildir, sadece cümle artık doğru değildir.

Mühendisler için çıkarım nettir: bir kontrolün hiç kırmızı yakmamış olması onu kanıtlanmış yapmaz, tam tersine şüpheli kılar. Doğrulama mantığını bir kez kasıtlı olarak bozup kontrolün gerçekten tepki verip vermediğini görmek, üretim ortamındaki en ucuz ve en gözden kaçan test biçimidir.