Bug

Bug, Türkçe’de böcek anlamına gelen bu kelime yazılım dünyasında yazılım hatası olarak tanımlanabilir. Bir bug, bilgisayar programında veya bir donanım sisteminde bir hata, arıza veya beklenmeyen bir kusur olabilir.

 

Debug Nedir?

 

Debug (hata ayıklama), bir yazılımın kodu çalıştırıldığında beklenmedik şekilde davranmasına veya çökmesine neden olabilecek mevcut ve olası hataları algılama veya kaldırma işlemidir. Bir yazılımın veya sistemin yanlış çalışmasını önlemek için hata ayıklama yaparız. 

 

Hata Ayıklama Süreci: 

 

  1. Yazılımınızda sorunun nereden geldiğini tespit edin. Hatayı tanımlayın.
  2. Hata göründüğünde programın anlık görüntüsünü yakalayın. Hata sırasında programın tüm değişken değerlerini ve durumlarını almaya çalışın.
  3. Anlık görüntüyü duruma ve eyleme göre analiz edin. Hatanın nedenini bulmaya çalışın. 
  4. Mevcut hatayı düzeltin ve herhangi bir yeni hatanın oluşmadığını kontrol edin.

 

Yazılım Hatalarının Türleri

 

Yazılım geliştirme alanında yaygın olarak bilinen hata türleri vardır. 

Bunlar; fonksiyonel hatalar, söz dizimi (syntax) hataları, run-time (çalışma zamanı) hataları ve mantık hatalarıdır. 

 

1. Fonksiyonel Hatalar

Yazılım istendiği gibi çalışmadığı durumda meydana gelen geniş kapsamlı bir hata türüdür. Örneğin, bir kullanıcı bir metin editöründe çalışma yapıp bir şeyler yazdıktan sonra “Kaydet” butonuna tıklarsa ve çalışması kaydedilmezse, bu fonksiyonel bir hata olur. 

 

2. Söz dizimi (Syntax) Hataları

Söz dizimi hataları, yazılım geliştirme esnasında yazmış olduğunuz kodlarda yaptığınız yazım hatalarıdır. Eğer gelişmiş bir kod editörü kullanıyorsanız örneğin visual studio code, bir söz dizimi (syntax) hatası yaptığınız zaman editör sizi uyarır. En yaygın hata türü olan söz dizimi hatalarını, henüz yazılım geliştirme aşamasında oluştuğu anda kolayca görüp düzeltebilirsiniz. 

 

3. Run-Time (Çalışma Zamanı) Hataları

Run-time (Çalışma Zamanı) hataları ise, yazmış olduğunuz kodu derleyip çalıştırdıktan sonra ortaya çıkan hatalardır. Bu hata türü bir söz dizimi (syntax) hatası olmasa bile her şey normal görünüyorken programın çalıştırma esnasında hata vermesiyle oluşur. 

 

4. Mantık Hataları

Mantık hatası, bir yazılımın çalışma akışındaki hatayı temsil eder. Yazılımın yanlış davranmasına neden olur. Bu tür bir hata, programın yanlış bir çıktı vermesine, askıda kalmasına veya programın çökmesine neden olabilir. 

Söz dizimi hatalarından farklı olarak mantık hatalarında program derlenir ama düzgün çalışmaz. Mantık hatasına örnek olarak bir kod dizisinin sürekli olarak çalıştığı sonsuz döngü örnek verilebilir.

 

5. Arayüz Hataları

Arayüz hataları, programınızın nasıl kullanılmasını amaçladığınız ile gerçekte nasıl kullanıldığı arasında bir bağlantı olmadığında ortaya çıkmaktadır. Çoğu yazılım standartları takip eder. Programınızın almış olduğu girdiler programın standartlarına uygun değilse bir arayüz hatası alabilirsiniz. 

Örneğin, belli bir parametrenin ayarlanmasını gerektiren bir API’niz varsa ve bu parametreler ayarlanmadıysa bir arayüz hatası meydana gelebilir.