Düzelttiğimi düşündüğüm hataları nasıl ele alacağım, ama tamamen emin değilim


13

Çoğaltılması çok zor olan, çok nadiren ve görünüşte rastgele rastlanan bazı hata türleri vardır. Olası bir neden bulmam, düzeltmem, programı test etmem ve hatayı yeniden üretemem olabilir. Ancak, hatayı güvenilir bir şekilde yeniden üretmek imkansız olduğu ve çok nadir olduğu için, bunu bir hata takipçisinde nasıl belirtebilirim? Bunu yapmanın ortak yolu nedir?

Eğer statussabit olarak ve sabit olarak ayarlanırsa solution, bu tamamen sabit bir şey anlamına gelir, değil mi?

Test statuscihazını sabit ve solutionaçık olarak ayarlamak, test uzmanlarına "muhtemelen sabittir, ancak emin olmak için daha fazla dikkat edilmesi gerektiğini" belirtmek yaygın bir uygulamadır mı ?

Düzenleme: çoğu (hepsi değilse de) bugtrackers bir hata durumu için iki özelliğe sahiptir, belki de isimleri aynı değildir. By statusYani yeni atanan sabit, kapalı vb , ve tarafından solutionyani açık (yeni), sabit, tekrarlanabilir değil, çözülemeyen, yinelenen bir hata , vb


3
Bu, hata izleyicinize biraz özgüdür. Durum ve çözüme başka hangi değerleri atayabilirsiniz ?
scarfridge

Bazı hata izleyicilerinde, çözülmüş durumu ve başka bir kapalı durumu vardır. Yalnızca KG kişilerinin durumu kapalı olarak ayarlamasına izin verilir, ancak geliştiriciler durumu çözülmüş olarak ayarlayabilir.
Brian

Yanıtlar:


8

Durumu sabit olarak ayarlamak ve çözümü açmak, test kullanıcılarına "muhtemelen düzeltildi, ancak emin olmak için daha fazla dikkat edilmesi gerektiğini" belirtmek yaygın bir uygulama mıdır?

Ortak ya da değil, bu yine de yapılması gereken doğru şey ve neden kendiniz ortaya çıktınız: nasıl olursa olsun, bu iyi bir yaklaşımdır.

test uzmanlarına "muhtemelen düzeltildi, ancak emin olmak için daha fazla dikkat edilmesi gerektiğini" belirtin


Yan not, belirli bir hata izleyicinin tanımladığınız gibi bir alanı olmasa bile solution, geliştirici en azından yukarıda açıklayan serbest biçimli bir yorum ekleyebilir.

... ve bug tracker soruna yorum eklemeye izin vermiyorsa, onun yerine yorum eklenmelidir. Serbest biçimli açıklamalar ekleyebilme yeteneği, kritik öneme sahip bir özelliktir, çünkü sorunlar önceden tanımlanmış bazı biçimlere sığmayacak kadar değişiklik gösterir.


6

Test ekibi sorunun çözülüp çözülmeyeceğine ve kapanıp kapanmayacağına karar verecektir. Daha fazla gerileme, düzeltmenin yan etkileri varsa veya düzeltmenin kendisi başka bir senaryoda etkili değilse, sorun yeniden açılacaktır. Ancak yeterince geliştirici testi yaptıysanız, bunu sabit olarak işaretlemek daha iyidir.


+1 - Bu en basit cevap. En zorunuzu denediyseniz ve test takımları test takımı yeterince güçlüse, daha ne yapabilirsiniz?
ozz

3

Çoğaltılması çok zor olan, çok nadiren ve görünüşte rastgele rastlanan hata türleri vardır. Olası bir neden bulmam, düzeltmem, programı test etmem ve hatayı yeniden üretemem olabilir.

Aslında, tekrarlanabilir bir test senaryosu yoksa, böyle bir hatayı önceden düzeltmeye bile çalışmazdım. Test cihazının buna daha fazla dikkat etmesini istiyorsanız, onlara tekrarlanabilir bir senaryo oluşturma şansı verin.

Örneğin, programı değiştirdiğinizi ve bir test cihazının hatayı yeniden oluşturmaya çalışmak için 1 saat yatırım yaptığını ve hatanın açılmadığını varsayalım - bir saat yeterli miydi? Ya da hata zaten giderildiği için test yapmak zaman kaybı mı?

Öte yandan, programı değiştirmediğinizde ve hata 1 saat içinde açılmadığında, muhtemelen test cihazı farklı şeyleri denemek için bir saat daha yatırım yapmalıdır. Ve test cihazı bir gün yatırım yaptığında ve hatayı artık üretemediğinde - gerçekten düzeltmeye çalışmaya değer mi?

Bununla birlikte, bu işlemi hata izleme sisteminizde nasıl modellediğinizi düşünebilirsiniz: düzeltmeye çalışmaz ve test kullanıcılarına teslim etme "açık" gibi bir hata durumu olabilir. Test edenler bunu yeniden üretemezlerse, açıkça "tekrar üretilemez" dir. Umarım bu olmaz, tekrarlanabilir bir senaryo bulurlar, hatanızın kök nedenini bulabilir, düzeltebilir ve durumu "sabit" olarak ayarlayabilirsiniz. "Sabit olup olmadığını bilmiyorum" gibi bir şeye girmekten kaçının.


4
Bazı hata türleri için tekrarlanabilir bir test senaryosu yoktur. Örneğin, zamanlamayla ilgili bir hata ortalama olarak milyonda 1 kez olabilir - ancak bunun 3. veya 532454. sırada olup olmayacağını tahmin etmek imkansızdır. Bununla birlikte, bu tür hatalar hatalardır ve düzeltilmelidir.
Joonas Pulakka

3
@Joonas Pulakka: Katılıyorum. Ve bu tür hatalar dış koşullara bağlı olabilir. Gömülü durumda, kontrolünüz dışındaki bir şeyin neden olduğu güç dalgalanmalarına bağlı olabilirler. Düzeltmeye çalışmıyorum her zaman en iyi çözüm değildir, özellikle de bu hatanın bir nedeni olabileceğinden şüphelendiğim bir kod kokusu bulursam. Bu durumda neden düzeltmemeliyim?
vsz

2
@JoonasPulakka: Tekrarlanabilir senaryolar hakkındaki tecrübelerime göre, insanların çoğu zaman "mümkün değil" dediği durumlarda, işleri mümkün kılmak için doğru fikri kaçırıyorlar. Örneğinizde, "10 milyon run" döngüsüne sahip bir senaryo oluşturulabilir, bu da hatayı makul bir süre içinde göstermenin en azından çok muhtemel olmasını sağlar.
Doc Brown

2
@vsz: Eğer tabii ki, bunu düzeltmek, ama ne öneriyorum biri olmasıdır gerektiğini ilk bir test oluşturmalıdır (veya test kullanıcıları bir ipucu testine ne vermek) ve sonra bunu düzeltmek değil, tam tersi.
Doc Brown

2
@DocBrown doğru, bunu düşünmenin başka bir yolu da bazen hataların "yeniden üretilmesi" için istatistiksel bir yaklaşım gerektirmesidir. Hatayı yeniden üreten çok özel bir girdi / koşul kümesi olabilir, ancak bu girdilerin ne olduğu hakkında hiçbir fikriniz olmayabilir ve olası girdiler kümesi yinelenemeyecek kadar büyük olabilir. Bu durumlarda, bir yaklaşım, her adreslemeye çalıştığınızda hatanın ortaya çıkmasına ilişkin istatistikleri toplamaktır. Bu uzun zaman alabilir ve sonuçlar size istatistiksel anlamda% 100 “güven” vermeyebilir, ancak bazen sahip olduğunuz her şeydir.
Angelo

0

Bazen sahip olduğunuz tek kanıt tamamen istatistikseldir, örneğin ayda bir veya iki kez ortaya çıkar, ancak görünüşe göre herhangi bir şeyle bağlantılı değildir. Bunlar genel olarak şimdiye kadar karşılaştığım tanı ve çözmek için en kötü hata türüdür, çünkü düzeltmelerinizin kesin olarak bir etkisi olup olmadığını söyleyemezsiniz. Çözmek zorunda olduğum sonuncusu istatistiksel bir düzeltme ile sona erdi: semptomun sıklığı başladığımız% 10'a düştü. Son parça hiç bulunamadı ya da belki de öyleydi, ama kimsenin anlatacak bir yolu yoktu.

İki tavsiyem var (1) aksini bilinceye kadar birden fazla nedenin etkili olabileceğini varsayın ve (2) semptomların nasıl ortaya çıkabileceğini hipotez haline getirin, sonra uzaktan dahil olan her mantık çizgisini parçalayın. Derin adım adım ilerlemeler bazen tatmin edici bir sonuca ulaşmanın tek yoludur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.