npm'nin En Popüler 100 Paketini Test Ettik, Sorun Kendi Aracımızda Çıktı
Bir araç yazıyorsunuz ve onu test etmek istiyorsunuz. Peki nasıl bilebilirsiniz gerçekten işe yaradığını? CloneProof adlı bir statik analiz aracı tam bu soruya cevap vermek için yapıldı: "Bu repo'yu temiz klonlayıp npm install + npm test çalıştırabilir miyiz?"
Geliştiriciler npm ekosisteminin en çok bağımlı olan 100 paketini test ettiler. Metodoloji ve değerlendirme kurallarını önceden yazıya döktüler, sonra kontrol başladı. Bulgu? İlk turda 10 build hatası bulundu, ama 9'u yanlış pozitif çıktı. Hepsi de aynı yerden geliyordu: CloneProof, README'deki kullanım örneklerini ("package.json'a şu scripti ekle, sonra çalıştır") repo'nun kendi kurulum talimatı sanıyordu.
Bu keşif sonrası aracı düzelttiler. Şimdi CloneProof v0.2.4 aynı 100 paket üzerinde çalıştırıldığında 3 build hatası bulunuyor ve hepsi gerçek. 63 uyarıdan 60'ı doğru, önceki versiyonda 73 uyarıdan sadece 56'sı tutarlıydı.
Test sonuçları ilginç: 12 paket en az bir gerçek setup sorunu var. Altısı npm test sırasında gerçek bir tarayıcı çalıştırıyor. Beşinin testleri root npm test'ten bağımsız, workspace rootları, husky'nin shell suite'i, dart-sass'ın Dart test seti.
Önemli çıkarım şu: Kendi araçlarınızı test ederken yanlış pozitif oranı yüksekse, önce araçta hata arayın. Ekip, metodolojisini açık tutarak ve sonuçları paylaşarak araçlarını iyileştirdi. npm paketlerinin kurulum sorunları çok nadir görünüyor, asıl problem tespit mekanizmasının kendisiydi.
0 yorum