Yazılım

Yazılım Bozukluğu (Defect) Nedir ?

Merhabalar. Uzun bir süredir iş yoğunluğundan dolayı yazı yazamadım. Bu yazımda genel olarak “Software Testing” adı altında karşılaştığımız yazılım bozukluklarından ve anlamlarından bahsetmeye çalışacağım. Sayfamda daha önce “Yazılım Geliştirme Süreçleri”nden ve sahip olduğu metodolojilerden bahsetmiştim. Pek tabii bu metodolojilerin bir işleyişi ve “Life Cycle” olarak adlandırdığımız bir yaşam döngüsü vardır. Software Testing de bu döngüler içinde kendine yer bulur. Görünümü küçük olan bu aşamanın önemi aksine büyüktür. Buraya kadar sahip olduğumuz fragman tadındaki bilgilerin ışığında, şu soruyla başlayarak giriş yapabiliriz :

 

Software Testing nedir ?

Adından da anlaşılacağı gibi bir yazılımı test etmektir. Kısaca amaç bir yazılım projesinde ortaya çıkacak ürünün müşteriye sunulmadan önce kalitesinden emin olmak, düzeltme ve geliştirme masraflarını azaltmak, geliştirme işleminin erken aşamalarında yanlışları saptayarak, ileri aşamalara yayılmasını önleyerek zaman ve maliyetten tasarruf sağlamak ve müşteri memnuniyetini arttırmaktır. Birçok şirkette ve büyük yazılım projelerinde “Software Quality Assurance” adı altında test mühendisleri görev almaktadır ve yukarıda bahsettiğim amaç doğrultusunda çalışmaktadır. Designer/developer’ın yazdığı kodun içinde defect (yazılım bozukluğu) varsa bulmak başlıca görevleridir. Şimdi, defect derken neyi kastediyoruz onu inceleyelim.

 

Defect nedir ?

Defect’i en anlaşılır şekilde şöyle karşılaştırmalı bir örnekle açıklamak istiyorum. Koddaki hata error olarak tanımlanır, tester tarafından bulunan bu error defect olarak tanımlanır, designer/developer tarafından kabul edilen bu defect’e ise bug denir.

 

Peki bir defect bulunduğunda nasıl bir süreç işler. Öncelikle bu süreçler web tabanlı hata takip ve proje yönetim araçlarıyla kontrol edilir. Buna verebileceğim en geçerli örnek günümüzde sektörde yaygın bir şekilde kullanılan Atlassian firması tarafından geliştirilmiş JIRA’dır. Bunun hakkında ileride ayrıca bir yazı yazacağım.

Bug/Defect Life Cycle

 

Yukarıdaki şablon bir Bug/Defect yaşam döngüsüdür. Görüldüğü gibi yeni bir defect bulunur ve tester tarafından designer’a atanır. Designer defect’i açar ve değerlendirir. Bu değerlendirme sonucunda fixlenip fixlenmeyeceğine karar verir. Eğer fixlenecek bir defect ise fixi girer ve retest edilmesi için tester’a geri assign eder. Tester retest sonucunda başarısız bir senaryoyla karşılaşırsa aynı süreç designer’a tekrar assign edilerek devam eder. Eğer retest başarılı bir şekilde gerçekleşirse verify edilir ve defect kapatılmış olur.


Unutmadan 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir