1. İsim&Soyisim : Serdar SÖNMEZ
Proje Konusu : Unit Testing(Birim Testi)
Universite : Uluslararası Kıbrıs Üniversitesi
2. Hata Ayıklama
• Proğramcılığın kaçınılmaz uğraşlarından birisi
hata ayıklamaktır.
• İçinde bilgisayar yazılımı içeren her cihaz
yazılım hataları içerebilir.
• Yazılım hatalarına örnek verecek olursak,kol
saati gibi basit elektronik cihazlardan uzay
aracı gibi büyük sistemlere kadar örnek
verebiliriz.
3. Hata Nedenleri
Yazılım hatalarının çok çeşitli nedenleri vardır.
Bunlardan bazılarını örnek verecek olursak;
• Programdan istenenler açık bir şekilde ortaya
konmamış olabilir.
• Programcı programdan istenenleri yanlış anlamış
olabilir.
• Programcının varsayımları yanlış çıkabilir.Örneğin
pi sayısının 3.14 alması yeterli olduğu varsayılmış
olabilir.
• Programcı kodu yazarken dikkatsizlik yapılmış
olabilir.
4. Hata Farkedildiği Zaman
Yazılım hatasının ne zaman farkına varıldığıda
çeşitlilik gösterir.
• Kod yazılırken
• Kod incelenirken
• Program kullanımdayken
5. Kod Yazım Aşaması
Kod yazılırken;
• Programı yazan kişi tarafından,
• Pair programming yöntemi
uygulandığında, takım arkadaşı tarafından,
• Derleyici tarafından,
• Programın programcı tarafından oluşturulması
sırasında Birim Testleri
tarafından
6. Birim Testi(Unit Testing)
• Bir bilgisayar programında yapılan işlemlerin en küçük birimden
başlayarak belirli testler doğrultusunda tutarlılık,doğruluk ve
verimlilik ölçme sistemidir.
• Bir uygulamanın içerisindeki bir fonksiyonu veya bir sınıfın (class)
içerisindeki bir metodu test etmek için yazılır.
• O metodu veya fonksiyonu dışarıdan tamamen soyutlayarak(alacağı
parametreler hazırlanarak veya etkileşime geçeceği fonksiyonların
dönüş değerleri yine dışardan etkilenmeyecek şekilde belirlenerek)
çalıştırıp beklenen sonucu üretip üretmediğini kontrol etmek için
yazılmış testlerdir.
• Yani bilinen bir girdiye karşılık, beklenen sonucu üreten program
parçaları birim testi geçer.
• Mikro ölçekte yapılan bu testte, özel fonksiyonlar veya kod
modülleri test edilir.
7. Birim Test’in Sağladıkları
• Ne yazık ki bunun tersi doğru değildir: birim testlerinin olması, kodun
hatasız olduğunu kanıtlamaz; ama hata oranını çok büyük ölçüde azaltır.
• Kodların anlaşılmasını kolaylaştırır.
• Birim test yaparken temel amaç yazdığınız kodun her satırının başka bir
kod tarafından otomatik olarak test edilmesidir.
• Koddaki hata oranını azaltıp,kod kalitesinin artmasını sağlar.
• Birim Test sadece uç programlama yapılırken değil aynı zamanda her
programcının yazdığı kodların verimliliği ve uzun vadede çıkabilecek
gereksiz geriye dönüşleri engeller.
• Birim testleri ayrıca kodun rahatça ve güvenle geliştirilebilmesini de
sağlarlar. Kod üzerinde değişiklik yapmak, örneğin yeni olanaklar
eklemek, doğal olarak o kodun eski olanaklarının artık hatalı hale
gelmelerine neden olabilir. Birim testleri kullanarak, bu tür aksaklıkların
önüne geçebiliriz.
• Birim test yazmak yazılan kodları programcı gözüyle
çalıştırmaktır.
8. Örneğin;
• Bir controller olsun diyelim. Bu controller'ın
içinde kullanıcı bilgilerini veritabanına kaydeden
bir metod olsun.
• Biz bu metoda parametre olarak (POST, GET vs.
isteği ile) kullanıcı bilgilerini verip, metot
çalıştıktan sonra da beklenen çıktıyı,
• Değerler yanlışsa ilgili ilgili hata mesajı verilmiş
mi?
• Değerler doğruysa doğru sayfaya yönlenmiş mi?
vermiş mi diye kontrol edersek birim
test çalıştırmış oluruz.