Test Nedir Ne Değildir ?

Kerem Metin
3 min readMay 6, 2021

--

Test Ne Değildir ?

Yazılım testi, projede zaman kaybı olarak görülen, en sonra bırakılan ve yazılım yaşam döngüsündeki geliştirme veya analiz kısımları yetişmediğinde zamanından feragat edilmek istenen bir süreç asla değildir.

Test nedir ?

Ortaya çıkarılacak ürünün beklenen seviyede olduğunu belirlemek , yada istenilen ölçüye ulaşmasını sağlamak için belli prosedürler dahilinde gerçekleşen sürece denir.

İlgili bir veya daha fazla özelliği değerlendirmek için yazılımların veya sistemlerin bileşenlerinin manuel veya otomatik araçlar kullanılarak yürütülmesini içerir.

Peki Testin Amacı

● Ürünü oluşturan gereksinimlerin karşılandığından emin olmak,

● Ürünün test işleminin tamamlandığını ve paydaşların beklediği şekilde çalıştığını onaylamak,

● Ürünün kalite düzeyine karşı güven oluşturmak,

● Arıza ve kusurları bulmak,

● Ürünün kalite seviyesi ile ilgili paydaşları bilgilendirerek karar almalarını sağlamak,

● Yetersiz yazılım kalite riskini azaltmak,

Düzgün bir şekilde test edilen yazılım ürünü güvenilirlik, güvenlik ve yüksek performans sağlar ve bu da zaman tasarrufu, maliyet etkinliği ve müşteri memnuniyeti ile sonuçlanır.

Test, Yazılım geliştirme sürecinin en başından itibaren işin içine dahil olmalıdır.

Peki Nasıl ?

Burada işleyeceğimiz konu dinamik ve statik testlerdir.

Statik Test, kodun çalıştırılmadığı test türüdür. Manuel olarak veya bir takım araçlarla yapılabilir. Bu tür testler kodu, gereksinim belgelerini ve tasarım belgelerini kontrol eder.

Statik test ile yazılım uygulamasındaki hataları, kod kusurlarını ve potansiyel olarak kötü niyetli kodları bulmaya çalışırız. Geliştirme yaşam döngüsünde daha erken başlar ve bu nedenle buna doğrulama(verification) testi de denir.

Dinamik Test kod çalışma durumundayken yapılır. Dinamik test, çalışma zamanı ortamında gerçekleştirilir. Yürütülen kod bir değerle girildiğinde, kodun sonucu veya çıktısı kontrol edilir ve beklenen çıktıyla karşılaştırılır. Bununla yazılımın işlevsel davranışını gözlemleyebilir, sistem belleğini, CPU yanıt süresini ve sistemin performansını izleyebiliriz.

Dinamik test, bitmiş ürünü değerlendiren doğrulama testi olarak da bilinir. Dinamik test iki tiptedir: Fonksiyonel Test ve Fonksiyonel olmayan test.

SoftwareTestingClass

Yazılım yaşam döngüsünde yazılım test mühendisinin işi hataları bulmak ve raporlamak, developer’ın işi ise bu hataları düzeltip tekrar teste göndermektir.

● Hataların sebepleri ortadan kaldırıldıktan sonra testerlar re-test işlemine geçerler.

● Testing : Yazılımdaki hataları bulma ve raporlamaktır hataları düzeltmeyi içermez.

● Debugging: Hataları analiz etme ve kök sebeplerini bulup ortadan kaldırmayı içeren bir yazılım geliştirme aktivitesidir.

Kısaca;

Testters — — — → Test

Developers — — — — -> Debug

Test etmenin uzun vadeli hedefi hataların ve problemlerin giderilmesidir.

Büyük Yazılım Hataları

Ariane 5: 4 Haziran 1996’da Avrupa Hava Ajansının (ESA) ilk roket havalandıktan kısa bir süre sonra düştü. Düşme sebebinin daha sonradan yazılımdaki bir hatadan kaynaklandığı anlaşıldı. Hatanın 64 bit ondalıklı integer’ın 16 bit işaretli integer’a dönüştürülürken ondalık kısımda oluşan hatayı kontrol eden exception handling yapısının olmamasından kaynaklandığı anlaşıldı.

Marine Space Probe to Venus: 28 Temmuz 1962’de Mariner1 isimli hava taşıtın roketinin yönü belirlenen yönden aniden çıkarak tehlikeli yola girdiğinde başka bir roket Atlantik okyanusundan imha etti. Roketin yönündeki değişime neden olan hata, mühendislerin kağıt üzerine yazdıkları formülün koda aktarılırken yanlışlık yapmasından kaynaklanıyordu.

Hartford Coliseum Collapse: 1978’de Hartford, Connecticut’da bulunan spor salonunun çatısında biriken sulu karın ağırlığı çatının çökmesine neden olmuş. Çökme sebebi projenin hesaplanmasında kullanılan CAD programının çatı yük hesabını yanlış yapmasından kaynaklanıyordu.

World War III… Almost (1983): Radar sistemi Amerika tarafından 5 adet balistik füzesinin üzerlerine gönderildiğini raporlayınca, savunmak amaçlı nükleer füzelerin gönderilmesi son anda iptal edildi. Sorumlu asker Amerika’nın böyle bir saldırıyı yapmak için 5 adet füzeden çok daha fazla füze göndermesi gerektiğini düşünerek savunma füzelerinden vazgeçti. Hata radarın filtrelemesini yapan kodda olduğu anlaşıldı, güneş ışığı yansımasının formüle dahil edilmemiş.

ISTQB eğitiminden dolayı Alper Buğra KELEŞ ‘ e çok teşekkür ediyorum…

--

--

Kerem Metin

Electrical - Electronics Engineer Software Engineer in Test