Blog

Yazılım Testinde Test Seviyeleri

Yazılım geliştirme yaşam döngülerinde (Software Development Life Cycle -SDLC) projenin kademeli olarak(birimden sisteme doğru) geliştirildiği önceki yazıda anlatılmıştı. Kademeler arasındaki tekrarı önlemek amacıyla her bir kademeye karşılık gelen test seviyesi tanımlanmıştır.

Temel olarak 4 test seviyesi bulunmaktadır.

  1. Birim Testleri (Unit Tests)
  2. Entegrasyon Testleri (Integration Tests)
  3. Sistem Testleri (System Tests)
  4. Kabul Testleri (Acceptance Tests)

Resim 1 – Test Seviyeleri

1) Birim Testleri

Yazılımın en küçük birimlerinin (fonksiyon, modül) test edildiği aşamadır. Diğer birimlerden bağımsız olarak test edilmesi için testler sırasında genel olarak sanallaştırılmış ürünler kullanılır. Genellikle yazılım geliştiricilerin kendileri tarafından yapıldığından hatalar tespit edilir edilmez düzeltilir. Yapılan değişikliklerin birimlerin işlevlerini etkileyip etkilemediğini anlamak amacıyla regresyon testlerinde sıklıkla otomatik test altyapıları kullanılır.

2) Entegrasyon Testleri

Birimlerin veya sistemlerin işlevlerinin değil birbiriyle arasındaki iletişimin test edildiği aşamadır. Birimlerin arasındaki iletişimi inceleyen testlere “birim entegrasyon testleri”, sistemlerin arasındaki iletişimi inceleyen testlere “sistem entegrasyon testleri” olarak ifade edilmektedir. Bu seviyede değişikliklerin birimler veya sistemler arasındaki arayüzleri etkileyip etkilemediğini test edilmesi için otomatik regresyon testleri sıklıkla kullanılmaktadır. Entegrasyon testlerinde genellikle arayüzler, API’ler ve mikroservis testleri yapılmaktadır.

3) Sistem Testleri

Tüm birimlerin entegrasyonu yapıldıktan sonra yazılım gereksinimlerinin test edildiği aşamadır. Birim ve entegrasyon testleri bu aşamaya kadar yapıldığı için sistem testlerinde çoğunlukla uçtan uca (End to End ) testler yapılarak sistemin bütün olarak düzgün bir şekilde çalıştığı doğrulanır. Sistem testleri yapılırken test ortamı canlı ortam ile benzer olmalıdır.

4) Kabul Testleri

Sistem testleri gibi tüm sistemin gereksinimlerinin test edildiği aşamadır ancak diğer test seviyelerinin aksine kabul testlerinin hedefi hata bulmak değil gereksinimlerin doğrulanmasıdır. Testler genellikle kullanıcı/müşteri tarafından gerçekleştirilmektedir. Kabul testleri projenin sonunda yapılır ancak agile yazılım geliştirme modeli kullanılan yazılımlarda her sprint sonunda da yapılabilir.

Yaygın olarak kullanılan 4 adet kabul testi vardır.

Kullanıcı Kabul Testleri

Yazılımın kullanıcı tarafından minimum zorlukta testler yapılarak kullanıcıların gereksinimlerinin karşılanıp karşılanmadığının kontrol edildiği testlerdir.

Operasyonel Kabul Testleri

Sistemin sistem yöneticileri tarafından zorlu şartlar altında sistemin optimum şekilde çalıştığının kontrol edildiği testlerdir.

Sözleşme ve Yönetmelik Kabul Testleri

Bir sözleşmeye özel olarak tasarlanmış yazılımların sözleşmenin başında belirlenen sözleşme şartlarının uygunluğunun kullanıcılar tarafından kontrol edildiği testlerdir.

Alfa ve Beta Testleri

Alfa testleri yazılımı geliştiren şirket tarafından şirket ortamında gerçekleştirilen testlerdir.

Beta testleri kullanıcılar tarafından kullanıcıların kendi ortamlarında gerçekleştirilen testlerdir.

Yazılımın kullanılacağı ortamlar ile ilgili hataların saptanmasını sağlamaktadırlar.

Yorum Bırakın

E-posta hesabınız yayınlanmayacaktır. Gerekli alanlar "*" ile işaretlenmiştir.