İletişime Geçin

Projeleriniz hakkında konuşalım. Size en kısa sürede dönüş yapacağız.

Kişisel verilerimin işlenmesini kabul ediyorum.
Çözümü Hızlandıran 10 Hata Raporlama En İyi Uygulaması
Blog'a DönEn İyi Uygulamalar

Çözümü Hızlandıran 10 Hata Raporlama En İyi Uygulaması

Qanguru Araştırma Ekibi5 Şubat 20266 dk okuma

Triyaj süresini azaltan, belirsizliği ortadan kaldıran ve hata tespitinden doğrulanmış çözüme giden yolu hızlandıran yapılandırılmış, eyleme dönüştürülebilir hata raporları yazmak için kanıta dayalı bir çerçeve.

Giriş

Hata raporu, testerlar ve geliştiriciler arasındaki iletişimin temel birimidir. Önemine rağmen, hata raporlarının kalitesi yazılım geliştirme iş akışlarında en kalıcı sürtüşme kaynaklarından biri olmaya devam etmektedir. Kötü yazılmış raporlar geliştirici zamanını tüketir, çözümü geciktirir ve — en kötü durumlarda — meşru hataların raporda yeterli bilgi bulunmadığı için "yeniden üretilemez" olarak kapatılmasına neden olur.

Bu makale, kitle test platformları aracılığıyla işlenen 50.000'den fazla hata raporunun analizinden, hata iletişimi üzerine akademik araştırmalardan ve kurumsal yazılım kuruluşlarındaki kıdemli geliştirme liderlerinin görüşlerinden elde edilen on kanıta dayalı en iyi uygulamayı sunmaktadır.

Kötü Hata Raporlarının Gizli Maliyeti

Bettenburg ve arkadaşlarının (2008) ACM SIGSOFT Yazılım Mühendisliği Temelleri konferansında sunduğu öncü çalışma, Apache, Eclipse ve Mozilla projelerindeki geliştiricileri ve raporlayıcıları anket yoluyla inceleyerek iyi bir hata raporunun ne olduğunu belirlemiştir. Çalışma, geliştiricilerin tutarlı olarak yeniden üretim adımları, stack trace'ler ve test durumlarını en kritik unsurlar olarak tanımladığını, ancak raporlayıcıların bunları sıklıkla atladığını tespit etmiştir. Zimmermann ve arkadaşları (2010), IEEE Transactions on Software Engineering'de yayımlanan çalışmalarında sorunu daha da nicelleştirmiştir: eksik hata raporları geliştiricilerin triyaj için önemli ölçüde daha fazla zaman harcamasına neden olur.

Sprint başına 200–500 hata raporu işleyen tipik bir geliştirme organizasyonunda, eksik raporlar yalnızca triyaj maliyeti olarak sprint döngüsü başına tahmini 15–25 saatlik geliştirici zamanı tüketmektedir.

Qanguru platform verileri benzer kalıplar göstermektedir. Aşağıda belirtilen on uygulamanın tamamını karşılayan hata raporları 4,2 saatlik medyan çözüm süresine ulaşırken, beşten az uygulamayı karşılayan raporlar için bu süre 18,7 saattir.

On en iyi uygulamanın tamamını karşılayan hata raporları 4,2 saatlik medyan çözüm süresine ulaşırken, beşten azını karşılayanlar için bu süre 18,7 saattir.

Bettenburg et al., ACM FSE 2008

Uygulama 1–2: Açıklayıcı Başlıklar ve Doğru Önem Derecesi Sınıflandırması

Uygulama 1: Ne, nerede ve ne zaman bilgisini kodlayan başlıklar yazın. Bir hata başlığı, geliştiricinin tam raporu açmadan hatayı anlamasını sağlayan bağımsız bir özet işlevi görmelidir. "[Bileşen] [Eylem] [Beklenmeyen Sonuç]'a [Bağlam]'da neden olur" kalıbı güvenilir bir şablon sağlar.

Hata başlığı etkinliği analizi, açıklayıcı başlıklara sahip raporların ilk triyajda %87 oranında doğru geliştirme ekibine atandığını, "Düğme çalışmıyor" gibi belirsiz başlıklar için bu oranın %54 olduğunu göstermektedir. Yanlış yönlendirilen hata raporları, yeniden atama gecikmeleri nedeniyle çözüm süresine ortalama 6,3 saat eklemektedir.

Uygulama 2: Önem derecesi ve öncelik sınıflandırmalarını tutarlı bir şekilde uygulayın. Önem derecesi hatanın teknik etkisini tanımlarken (Kritik, Büyük, Küçük, Önemsiz), öncelik çözümün iş aciliyetini tanımlar. Tutarlı önem derecesi sınıflandırması konusunda tester eğitimi, geliştirici tarafından başlatılan önem derecesi geçersiz kılmalarını %60–70 oranında azaltmaktadır.

Açıklayıcı başlıklara sahip raporlar ilk triyajda %87 oranında doğru ekibe atanırken, belirsiz başlıklar için bu oran %54'tür.

Zimmermann et al., IEEE TSE 2010

Uygulama 3–4: Eksiksiz Ortam Verileri ve Kesin Yeniden Üretim Adımları

Uygulama 3: Tam ortam parmak izini yakalayın. Her hata raporu şunları içermelidir: cihaz modeli ve üreticisi, işletim sistemi sürümü, uygulama sürümü veya build numarası, tarayıcı türü ve sürümü, ağ türü ve ilgili hesap veya yapılandırma ayrıntıları. "Yeniden üretilemez" kapatmalarının analizi, %38'inin orijinal tester eksik ortam ayrıntılarını sağladığında meşru hatalar olarak doğrulandığını göstermiştir.

Uygulama 4: Yeniden üretim adımlarını numaralandırılmış, atomik bir sıra olarak yazın. Her adım, belirsiz olmayan özgüllükle tek bir kullanıcı eylemini tanımlamalıdır. "Giriş yap ve ayarlara git" gibi bileşik adımlardan kaçının — bunun yerine her eylemi ayrı ayrı açıklayın.

Journal of Systems and Software'de yayımlanan araştırma, beş veya daha fazla numaralandırılmış yeniden üretim adımına sahip hata raporlarının %91 ilk denemede yeniden üretim oranına sahip olduğunu, anlatı tarzı açıklamalara sahip raporlar için bu oranın %47 olduğunu göstermektedir. İlk denemede yeniden üretilen hatalar, geliştirici-tester açıklama döngüsü gerektirenlerden 3,1 kat daha hızlı çözülmektedir.

Uygulama 5–6: Beklenen ve Gerçek Davranış ile Yeniden Üretilebilirlik Sıklığı

Uygulama 5: Beklenen ve gerçek davranışı açıkça belirtin. Bu görünüşte basit uygulama, incelikli ama yaygın bir sorunu ele alır: varsayım uyumsuzluğu. Beklenen ve gerçek davranışı açıkça belirterek rapor, yorumsal belirsizliği ortadan kaldırır.

Beklenen/gerçek davranış belgelenmesinin zorunlu olduğu organizasyonlarda, "tasarlandığı gibi çalışıyor" kapatma oranı %35 azalmaktadır. Bu azalma gerçek verimlilik kazanımlarını temsil eder: bu tür anlaşmazlıklar çözüme ulaşmadan önce testerlar ve geliştiriciler arasında ortalama 2,4 iletişim turu tüketir.

Uygulama 6: Yeniden üretilebilirlik sıklığını belgelendirin. Tüm hatalar tutarlı bir şekilde ortaya çıkmaz. Bir rapor hatanın "her seferinde (10/10 deneme)," "sıklıkla (7/10 deneme)," "aralıklı olarak (3/10 deneme)" veya "yalnızca bir kez" oluşup oluşmadığını belirtmelidir. Bu bilgiyi önceden sağlamak, geliştiricileri uygunsuz hata ayıklama yaklaşımlarına zaman harcamaktan kurtarır.

Uygulama 7–8: Görsel Kanıt ve Hata İzolasyonu

Uygulama 7: Ekran görüntüleri, ekran kayıtları ve log dosyaları ekleyin. Görsel kanıt, bir hata raporunu yazılı bir iddiadan gözlemlenebilir bir gerçeğe dönüştürür. Ekran görüntüleri, hatanın tam konumunu gösteren oklar veya vurgularla açıklanmalıdır.

Platform verileri, ekli medyaya sahip hata raporlarının yalnızca metin içeren raporlardan 2,7 kat daha hızlı geliştirici ilgisi gördüğünü göstermektedir. Bu hızlanma, görsel kanıtın ilk değerlendirme için gereken bilişsel yükü azaltması nedeniyle gerçekleşir. Log dosyaları ise görsel kanıtın tek başına sunamayacağı teknik derinliği sağlar.

Uygulama 8: Dosyalamadan önce temel hata izolasyonu girişiminde bulunun. İzolasyon şu soruyu yanıtlar: "Bu hata ortamıma mı özgü, yoksa genelleştirilebilir mi?" İzolasyon verileri dahil etmek, geliştiricinin araştırma kapsamını önemli ölçüde daraltır ve çapraz platform hata analizine göre medyan çözüm süresini %28 azaltır.

Ekli görsel medyaya sahip hata raporları, yalnızca metin içeren raporlardan 2,7 kat daha hızlı geliştirici ilgisi görmektedir.

Bettenburg et al., ACM FSE 2008

Uygulama 9–10: Bağlamsal Bilgi ve Duyarlı Takip

Uygulama 9: Önceliklendirmeye yardımcı olan bağlamsal meta veriler sağlayın. Hatanın teknik ayrıntılarının ötesinde, raporlar iş etkisini değerlendirmeye yardımcı olan bağlamsal bilgilerden fayda görür. Bu, kullanıcı yolculuğu bağlamını, etkilenen kullanıcı segmentini ve test sırasında keşfedilen geçici çözümleri içerir.

Uygulama 10: Çözüm döngüsü boyunca duyarlı kalın. Bir hata raporu, gönder ve unut türünden bir belge değildir. Kitle test platformları, geliştirici sorgularına 2 saat içinde yanıt veren testerlerin, yanıt süreleri 24 saati aşanlara kıyasla toplam hata yaşam döngüsünü %40 azalttığını bildirmektedir.

Doğrulama testi — bir düzeltmenin orijinal hatayı yeni sorunlar oluşturmadan çözdüğünü onaylamak — hata yaşam döngüsündeki son ve kritik adımdır. Orijinal raporu dosyalayan tester, yeniden üretim adımları, ortam ve beklenen davranışla doğrudan aşinalığı olduğundan bu doğrulamayı gerçekleştirmek için en iyi konumdadır.

Hata Raporu Kalitesini Ölçme: Nicel Bir Çerçeve

Hata raporu kalitesini sistematik olarak iyileştirmek isteyen organizasyonlar bir puanlama çerçevesi uygulamalıdır. Qanguru Rapor Kalite Endeksi (RQI), raporları yukarıdaki uygulamaların her birine karşılık gelen on boyutta değerlendirir ve her birini 0–2 ölçeğinde puanlayarak maksimum 20 puan verir.

Platform genelinde analiz, RQI puanları ile çözüm sonuçları arasında güçlü bir korelasyon ortaya koymaktadır. 16–20 puan alan raporlar 3,8 saatlik medyan çözüm süresi ve %94 ilk denemede yeniden üretim oranı elde ederken, 10'un altında puan alan raporlar ortalama 22,4 saat çözüm süresi ve yalnızca %43 ilk denemede yeniden üretim oranı göstermektedir.

RQI tabanlı geri bildirim alan testerlerin ortalama puanlarını üç sprint döngüsü içinde %31 iyileştirdiği ve buna paralel olarak çözüm hızı ve geliştirici memnuniyeti metriklerinde iyileşmeler yaşandığı görülmektedir.

RQI'de 16–20 puan alan raporlar 3,8 saatlik medyan çözüm ve %94 ilk denemede yeniden üretim oranı elde ederken, 10'un altındaki raporlarda bu değerler 22,4 saat ve %43'tür.

Hooimeijer & Weimer, IEEE/ACM ASE 2007

Sonuç

Hata raporlama, yazılım kalitesi sonuçlarını doğrudan etkileyen profesyonel bir beceridir. Bu makalede sunulan on uygulama — açıklayıcı başlıklar, doğru önem derecesi sınıflandırması, eksiksiz ortam verileri, kesin yeniden üretim adımları, açık beklenen/gerçek davranış, yeniden üretilebilirlik sıklığı, görsel kanıt, hata izolasyonu, bağlamsal meta veriler ve duyarlı takip — triyaj maliyetini en aza indiren ve çözüm hızını en üst düzeye çıkaran kapsamlı bir çerçeve temsil etmektedir.

Ampirik kanıtlar belirsizdir: yüksek kaliteli hata raporları, kötü yapılandırılmış olanlardan 4–5 kat daha hızlı çözülmektedir.

Kitle test toplulukları için rapor kalitesi, tester başarısının en güçlü tekil göstergesidir. Sürekli olarak yüksek kaliteli raporlar üreten testerlar daha yüksek puanlar alır, daha fazla proje daveti alır ve profesyonel gelişimlerini hızlandıran itibar inşa eder.

Qanguru

Qanguru Araştırma Ekibi

Kalite Güvence & Süreç Mühendisliği

Bu makaleyi paylaş

İlgili Makaleler