Yazılım Testi Nedir? Giriş, Temel Bilgiler ve Önemi

Yazılım Testi Nedir?

Yazılım testi, güncel (fiili) sonuçların beklenen sonuçlarla eşleşip eşleşmediğini kontrol etmek ve yazılım sisteminde bir kusur olmadığından emin olmak için yapılan bir faaliyettir. Bir yazılım veya sistem bileşeninin bir veya daha fazla özelliğini değerlendirmek için koşulmasını içerir.

Yazılım testi, mevcut gereksinimlere ek olarak hataları, boşlukları veya eksik gereksinimleri belirlemeye de yardımcı olur. Manuel olarak ya da otomasyon araçları kullanılarak yapılabilir. Bazıları, yazılım testine Açık-kutu ve Kara-kutu testi demeyi tercih eder.

Yazılım testi niçin önemlidir?

Yazılım hataları potansiyel olarak parasal kayıplara veya can kayıplarına neden olabilir, tarih bu örneklerle doludur. Bu yüzden yazılımları test etmek önemlidir.

  • Nisan 2015'te, Londra'daki Bloomberg terminali yazılım hatasından dolayı çöktü ve finansal piyasalar üzerinde 300.000'den fazla tüccar etkilendi. Bu durum, hükümeti 3 milyar pound borç satışını ertelemeye zorladı.
  • Nissan, hava yastığı sensör dedektörlerindeki yazılım hatası nedeniyle, piyasadan 1 milyonun üzerinde arabasını geri çağırmak zorunda kaldı. Bu yazılım hatasından dolayı iki kaza olduğu bildirildi.
  • POS sistemindeki yazılım hatası nedeniyle Starbucks; ABD ve Kanada'daki mağazaların yaklaşık %60'ını kapatmak zorunda kaldı. İşlemi gerçekleştiremedikleri için bir mağazasında kahveyi ücretsiz servis etti. 
  • Amazon'un üçüncü şahıs perakendecilerinin bir kısmı, yazılım hatasından dolayı ürün fiyatlarının 1 pound'a düştüğünü gördü. Ağır kayıplarla karşı karşıya kaldılar.
  • Windows 10'daki bir güvenlik açığı, kullanıcıların win32k sistemindeki hata üzerinden güvenlikten kaçmasına olanak verdi.
  • 2015'te F-35 savaş uçağı, bir yazılım hatasına kurban gitti. Hedefleri doğru tespit edememesine sebep oldu. 
  • China Airlines Airbus A300, 26 Nisan 1994'te bir yazılım hatası nedeniyle düştü ve 264 masum canlı öldü.
  • 1985'de Kanada'da Therac-25 radyasyon terapisi makinesi, yazılım hatasından dolayı arızalandı ve hastalara ölümcül dozda radyasyon verdi. Bunun sonucunda 3 kişi öldü ve 3 kişi de ciddi şekilde yaralandı.
  • 1999 yılının Nisan ayında bir yazılım hatası, 1.2 milyar dolarlık bir askeri uydunun fırlatılışının başarısız olmasına neden oldu. Tarihe en pahalı kaza olarak geçti.
  • Mayıs 1996'da bir yazılım hatası, büyük bir ABD bankasının 823 müşterisinin banka hesaplarına 920 milyon ABD doları verecek hale getirdi.

Yazılım Testi Çeşitleri

Genel olarak 3 kategoriye ayrılır. 
  • Fonksiyonel Test
  • Fonksiyonel-Olmayan Test veya Performans Testi
  • Bakım (Regresyon ve Bakım)

Test Kategorisi Test Çeşitleri
Fonksiyonel Test
Birim Testi
Entegrasyon Testi
Duman Testi
Kullanıcı Kabul Testi
Lokalizasyon
Globalleşme
Birlikte Çalışabilirlik
vb.
Fonksiyonel-Olmayan Test
Performans
Dayanıklılık
Yük
Hacim
Ölçeklenebilirlik
Kullanılabilirlik
vb.
Bakım
Regresyon
Bakım

Bu listede test çeşitlerinin tamamı yoktur, çünkü 150'den fazla test çeşidi vardır ve hala yenileri eklenmektedir. Ayrıca tüm test çeşitlerinin tüm projelerde geçerli olmadığını; projenin doğasına ve kapsamına bağlı olduğunu unutmayın.

~~~~~~~~~~O~~~~~~~~~~

Referanslar
- Turkish Testing Board
- Guru99

Yorumlar

Bu blogdaki popüler yayınlar

YAZILIM TESTİ KARİYER REHBERİ

Yazılım Geliştirme ve Testi Yaşam Döngüleri

Testin 7 Temel İlkesi