13 Ocak 2016 Çarşamba

Nasıl daha iyi hata raporu hazırlayabilirsiniz?

Bir özgür yazılımı kullanıyorsunuz, geliştiricisi onu size özgürce kullanma, dağıtma, değiştirip dağıtma haklarını vermiş ama yolunda gitmeyen bir şeyler var. Yazılım böyle bir şey zaten; mutlaka daha iyisi, daha az hatalısı yazılabilir. Belki bir hatayla karşılaşmadınız da yazılımda şu da olsa dediğiniz bir şey var. Bu durumda başka bir yazılımı kullanmayı deneyebileceğiniz gibi kullandığınız yazılımın hatasının giderilmesine veya ihtiyacınız olan özelliğin eklenmesine yardımcı olabilirsiniz. Özgür yazılım projelerinin çoğunun birer hata takip sistemi oluyor, olmayanların geliştirici listeleri var, o da yoksa geliştiricisine doğrudan yazabilirsiniz. Bunlardan birine bir hata kaydı göndermek sizin çok az zamanınızı alacak ama karşılığında istediğinize daha yakın bir programı kullanabileceksiniz.

Geliştiriciler de sizin gibi insanlar olduklarından ne kadar iyi hata raporlarsanız hatanın düzeltilme süresini o kadar kısaltırsınız. Öncelikle hata raporlamanın geliştiriciler tarafından memnuniyetle karşılanacağını aklımızda tutalım. Hata raporunu alan geliştirici yazdığı yazılımın birileri tarafından kullanıldığını ve geliştirilmesi için istekte bulunulduğunu görmekten memnun olacaktır. Şimdi birlikte hata raporunu nasıl daha iyi hale getirebileceğimize bakalım.

Gerçekten bir hata var mı?

İlk bakışta size hata gibi görünen şey bir özellik olabilir ;) ya da belki siz ilk denemenizde istediğiniz şeyi yaptıramadınız programa. Kullandığınız program ne kadar çok iş yapıyorsa o kadar çok menüsü, ayar dosyası olacaktır, onların arasında istediğiniz şeyi bir bakışta görememiş olabilirsiniz. Kullandığınız programın varsa wiki sayfasına, kullanıcı listesi yazışmalarına, yardım dosyalarına bakmak bazen yapamadığınız/yaptıramadığınız şeyin kolay bir yolunu bulmanıza yardımcı olabilir. 'Şu işlem nasıl yapılıyor' şeklindeki ifadeler bir hata kaydı olarak kabul edilmeyecek ve istediğiniz sonuca ulaşamayacaksınız.

Sisteminiz güncel mi?

Yazılımlar çoğunlukla yaşayan birer varlık gibi gelişim halindedirler. Sizin kullandığınız sürümde sorunlu olan bir durum yazılımın son sürümünde güncellenmiş olabilir. Veya sorun yazılımdan değil de işletim sisteminden kaynaklanıyor olabilir. Bu güncellemeleri yaptıktan sonra sorun hala devam ediyorsa bir defa da yazılımın web adresine bakarak oradaki son sürümün size işletim sisteminiz tarafından sağlanan sürüm olup olmadığını kontrol etmek iyi olabilir. Uzun dönem desteği  (LTS) sunan dağıtımların yazılımların sürümlerinde radikal değişiklikleri dağıtma dahil ettiğini bilerek kullanıyor olduğunuzdan karşılaştığınız hatayı yazılımın geliştiricilerin değil de dağıtıma raporlamanız gerekebilir.

Her durumda yazılımlarınızı güncel tutmak iyi bir fikir olacaktır.

Hata kullandığınız yazılımdan mı kaynaklanıyor?

Örneğin ayağa kaldırmaya çalıştığınız sunucu servisine dışarıdan bağlanmaya çalışanlara engel olan olan bir güvenlik duvarı kuralınız olabilir. Kullanıcı izinleriniz o programı çalıştırmanıza yetmiyor olabilir. Bir programı kullanarak yazıcıdan çıktı alamıyorsanız denemeniz gereken şeyler şunlar olabilir: a) Bilgisayarınızdaki başka bir programla o yazıcıdan çıktı alabiliyor musunuz? b) (eğer varsa) başka bir yazıcıyla da aynı sorunu yaşıyor musunuz? c) (eğer varsa) aynı yazılımın başka bir işletim sistemindeki sürümüyle aynı sorunu yaşıyor musunuz? Bütün bu sorulara yanıtınız evetse (ya da deneyemiyorsanız) onu raporlamalısınız.

Hata raporlarken neler dikkat etmek gerekir?


Unutmayın hatanın düzeltilmesini isteyen sizsiniz. Ne kadar iyi bir hata raporu gönderirseniz onun düzeltilmesi olasılığı o kadar yüksek olur. Şimdi basit ama faydalı birkaç noktaya değinelim.

  • Hatayı doğru kanaldan bildirin

Önce hatasını bildirmek istediğiniz projenin bir hata takip sistemi var mı diye kontrol etmek en doğrusu olacaktır. Eğer projenin bir bugzilla, redmine veya benzeri bir hata takip sistemi varsa burasını kullanın. Bazı projeler bu işlem için e-posta listesi kullanıyor olabilir. Bu projenin web sayfasında belirtilmişse elbette buraya yazmalısınız. Eğer projenin böyle bir kanalı yoksa geliştiricisine eposta gönderebilirsiniz. Uzun zamandır, yıllardır, yeni sürüm çıkarmamış bir projeye bir hata raporlandığında (hatta bir çeviri dosyası gönderildiğinde bile) projenin canlandığını görmek mutluluk verici bir şey olacaktır.

  • Önceden girilmiş hataları tekrarlamayın

İster bir hata takip sistemine, isterse eposta listesine yazacak olun öncesinde bir arama yapmak çok yerinde bir hareket olacaktır. Eğer karşılaştığınız hata daha önce raporlanmışsa duruma göre kendinizi hatayı takip edenler listesine ekleyebilirsiniz. Hata raporu yazılımın eski bir sürümüne aitse ve siz yeni sürümde de karşılaşıyorsanız hatayı tekrarlayabildiğinizi yorum olarak girmek de faydalı olacaktır. Kesinlikle mevcut bir hata raporunu tekrarlayan yeni bir kayıt açmayın.

  • Hata bildirim kurallarına uyun

Eğer bir hata takip sistemi varsa yazılımın uygun bileşenine gönderin hata raporunuzu. Geliştiriciler hatalar arasından seçsin diye beklemeyin. Hatanın düzeltilmesini isteyenin siz olduğunuzu aklınızdan çıkarmayın. Örneğin; kullandığınız yazılımın Türkçeye özgü karakterlerle ilgili bir sorunu varsa geliştiricisi muhtemelen bundan hiç haberdar olmadan ömrünü geçirebilir. Siz hata raporunu doğru yapabilirseniz işinizi görecek bir yazılımı kullanabiliyor olursunuz.

  • Gerektiği kadar ayrıntı verin

Bir hatayı raporlarken en öncelikli hedefiniz geliştiricilere nasıl bir hatayla karşılaştığınızı göstermek olmalıdır. Bunun için programı çalıştırdıktan sonra karşılaştığınız hatanın nasıl tekrarlanacağını adım adım yazmalısınız. Burada olayı hikaye etmeyin. Basit ve kısa adımlarla tarif edin. Bir işin birden çok yapılma yöntemi olacağını düşünerek siz nasıl yapıp hatayla karşılaşmışsanız onu yazın. Örneğin "servisi başlattıktan sonra" demek yerine "servisi /etc/init.d/bestserviceever start diyerek başlattıktan sonra" diye yazın. Programın bir kısayolunu kullanarak dosya açıyorsanız bunu belirtin. "Yeni dosyayı CTRL+O ile açmaya çalışırken" diye yazmak geliştiriciyi hatayı bulmaya zorlamaktan iyi olacaktır.

Kullandığınız işletim sisteminin adını ve sürüm numarasını, en son ne zaman güncellediğinizi mutlaka hata raporunda belirtin. Yazılımın sürüm numarası ve paket yöneticisinden mi kaynak koddan mı kurduğunuz bilgisi de çok önemlidir.

  • Gerekmeyen ayrıntıları hata raporuna yazmayın

Bu hatanın sizin için ne kadar önemli olduğunu, onu düzeltmezlerse başka bir yazılımı kullanmak zorunda kalacağınızı filan yazmayın hata raporuna. Hata raporu sadece gerektiği kadar ayrıntı içermeli ama gereken bütün ayrıntıları da içermelidir.

  • Her hata raporunda tek bir hatayı bildirin

Projelerin farklı bileşenlerinin farklı kişiler, hatta ekipler, tarafından geliştirilebildiğini düşünerek karşılaştığınız her hata için ayrı hata kaydı açın. Size çok yakın, ilişkili gibi görünen hataları bile bir raporda sakın birleştirmeyin.

  • Ne bekliyordunuz, ne oluyor?

Hata raporunuzda (eğer imkanı varsa elbette) bir ekran görüntüsü koymak çoğu zaman işleri çok hızlandıracaktır. Bu görüntü yazılımdan ne bekliyordunuz, neyle karşılaşıyorsunuz sorusuna cevap verecek nitelikte olmalıdır. Ekran görüntüsü alırken lütfen ilgisiz veya mahremiyetinizi tehlikeye atacak şeyleri göndermemeye çok dikkat edin. Tarayıcıda açık bulunan diğer sekmeler veya masaüstünüzde bulunan ve kimseye göstermediğiniz dosyaların ekran görüntüsü gibi şeyleri kamuya açık yerlere göndermeyin.

  • Hata raporuna eklediğiniz dosyaları temizleyin

Hatanın anlaşılması ve çözülmesi için eklemeniz gereken dosyalar varsa onları temizleyerek göndermek de dikkat edilmesi gereken konuların başında gelir. 50 sayfalık bir yapılandırma dosyasının tamamını göndermek yerine varsayılan halinden neyi değiştirmişseniz sadece o kısmı göndermek hatanın tekrarlanabilmesine imkan sağlayacaktır. Hatasını raporlayacağınız program sadece bazı dosyaları açarken, kayderderken (veya başka bir biçimde) hataya neden oluyorsa bu tipte bir dosya göndermek elbette iyi olur ama çok sayfalı bir belge diye doktora tezinizi veya yüksek çözünürlüklü bir imaj dosyası diye halka açık olmasını istemeyeceğiniz bir fotografı hata raporuna eklemeyin. İlla çok sayfalı bir metin gerekiyorsa elinizdeki dosyadaki bütün karakterleri x (veya uğurlu harfiniz varsa onunla) ile değiştirip farklı kaydedip onu göndermelisiniz.

Ek olarak göndereceğiniz dosyalardaki başlık bilgilerinin, varsa sürüm değişikliği bilgilerinin de temizlenmesi gerektiğini unutmayın. Bu bilgiler hata raporunuza eklendiğinde artık herkes tarafından kullanılabilir durumda olacaktır. Bir hatayı raporlayacağım derken kendinizi mağdur etmemeye büyük dikkat gösterin.

Açtığınız hata kaydını takip edin

Oluşturduğunuz hata kaydına geliştiriciler bir yorum yazıp sizden bilgi isteyebilirler. Bunlara mutlaka geri dönüş yapmalısınız.

Karşılaştığınız bir hatayı geliştiricilerine raporlayıp düzeltilmesine katkı verdiğiniz için kendinizle gurur duyabilirsiniz artık!

2 Ocak 2016 Cumartesi

LibreOffice Online için hata avcılığı

Geçen hafta düzenlediğimiz LibreOffice Android görüntüleyici için hata avcılığı etkinliğinde mevcut hata kaydı sayısını ikiye katladıktan sonra şimdi de henüz geliştirme aşamasında olan LibreOffice Online için 10 Ocak tarihinde benzer bir etkinlik düzenleyelim istiyoruz.


LibreOffice Online sunucu tarafında LibreOffice çalıştırmayı ve tarayıcı ile ona bağlanarak kullanmayı hedefleyen bir ürün. İsteyen burada tarif edildiği gibi sunucu sürümünü kurup deneyebilir. Android için bir apk dosyası hazırlamış olmamıza rağmen tanımadığımız neredeyse kimse hata avcılığına katılmadığı için sunucu sürümünü denemeniz için oldukça uzun sayılabilecek adımları takip etmenizi beklemeyeceğiz. Bu etkinlik için bir sunucu kurup denemek isteyenlere birer hesap açacağız.

LibreOffice'in bu heyecan verici ürününü deneyerek karşılaştığınız hataları ve iyileştirme isteklerinizi bugzilla'ya girmek isterseniz bana eposta göndermeniz yeterli olacak.

Ayı Dağı - Andrew Krivak

Duvar'da dünyada tek sağ kalan kadının hikayesini okuduktan sonra Ayı Dağı'nda (dünyaya her ne olduysa artık) hayatta kalan iki kişi...