QAMap – Commit ve diff’leri okuyup PR QA senaryoları öneren yerel CLI
(github.com/IvoryCanvas)Merhaba. PR’deki değişiklik bağlamını okuyup gerekli QA’yı tasarlayan yerel bir CLI olan QAMap’i geliştiriyorum.
Ürün ekibinde hissettiğim darboğaz, test kodu yazmaktan çok her PR için “bu değişiklik tam olarak neyi kanıtlamalı?” sorusunu yeniden değerlendirme süreciydi. İlk başta diff ve proje yapısını analiz ederek Playwright·Maestro ve E2E taslakları önermeye çalıştım, ancak pratikte bu öneriler geliştiricinin zaten bildiği şeylerde ve basit başarılı ekran testlerinde kaldı.
Bu yüzden hedefi değiştirdim. Tüm domain’i kusursuzca anlamaya çalışmak yerine, commit ve diff’leri temel alarak değişiklik niyetini ve işlev akışını düzenliyor, normal·başarısızlık·sınır·durum geçişi senaryoları içinde eksik kalma ihtimali yüksek QA’leri öneriyorum. Karar vermenin zor olduğu durumlarda gerekçe ve güven düzeyini de birlikte gösteriyorum.
Nihai hedef, PR açıldığında etkilenen işlevleri bulup gerekli E2E ve mock·fixture yapılarını kuran, bunları güvenli şekilde çalıştıran ve doğrulama gerekçelerini de kaydeden yerel bir QA aracı olmak. Şu anda v0.4.0 sürümündeyim; gerçek depolarda hata yaptığı örnekleri tek tek doğrulayarak bu hedefe yaklaşmak için güncellemeler yapıyorum.
Henüz erken aşamada olduğu için yanlış yorumlayabilir veya önemli senaryoları kaçırabilir. Şu anda en çok ihtiyaç duyduğum şey gerçek başarısızlık örnekleri. QAMap alakasız değerlendirmeler yaparsa ya da kullanılamaz testler önerirse lütfen rahatça paylaşın.
1 yorum
Diff tabanlı olarak yerelde sınır durumları ve durum geçişlerini de önermesi iyi bir yaklaşım. Her senaryoda dayanağın hangi diff hunk’ından veya dosyadan çıkarıldığı daha net görünürse, inceleme sırasında false positive’leri ayıklamak daha kolay olur gibi görünüyor.