Yazılım Test Seviyeleri

Zeynep Kösten
2 min readDec 12, 2020

--

Yazılım projelerinde amaçları birbirinden farklı dört seviyede test gerçekleştirilir. Birim testlere doğru inildikçe test edilen yazılım parçasının büyüklüğü ve işlevselliği azalır.

Yazılım Test Seviyeleri

Birim Testleri(Unit Testing): Bir kod parçasının diğer kod parçalarından izole edilerek kendisinden beklenen işlevi doğru şekilde yerine getirdiğini ve hata içermediğini göstermek için yazılımcılar tarafından gerçekleştirilen testlerdir.

Birim testleri kaliteli yazılım ürünleri ortaya çıkartmak için kullanılabilecek olan en iyi araçlardan birisi olmasına rağmen bazen yeterli tecrübe olmamasından bazen de az önem verilmesinden dolayı ya yapılmaz ya da acele ile geçiştirilerek yapılır.

Birim Testlerinin Amacı:

  • Yazılımda hata riskinin azaltılması
  • Yazılımdaki fonksiyonel ve fonksiyonel olmayan hataları yakalamak
  • Birimdeki hataların bulunması ve daha üst seviyelere geçmesinin önlenmesi

Entegrasyon Testleri(Integration Testing): Bir yazılım projesinde birim testlerinde başarılı bir şekilde sonuçlanmasından sonra tümleştirme (entegrasyon) testleri başlar. Birimler veya sistemler arasındaki etkileşimlere odaklanır. Bu testlerde sistemin işleyişi değil, diğer sistemlerle nasıl entegre olduğu test edilmelidir. Birim testlerinde amaç modüllerin ayrı ayrı kendilerinden beklenen işlevleri yerine getirdiğinin gösterilmesi iken tümleştirme (entegrasyon) testlerinin amacı bir araya gelerek entegre edilmiş olan bir yazılımın içerisindeki bileşenlerin birbiriyle uyum içerisinde doğru şekilde çalıştığının ve bileşenlerin kendilerine ait gereksinimleri yerine getirdiğinin doğrulanmasıdır.

Entegrasyon Testlerinin Amacı:

  • Riskin azaltılması. Uygulamanın erken safhada test edilip daha sonra çıkacak hataların engellenmesidir.
  • Arayüzlerin kalitesine dair güvenin oluşturulması.
  • Hataların bulunması.

Sistem Testi (System Testing): Eksiksiz ve tamamen entegre edilmiş olan bir yazılımın testidir. Bütün bir sistemin veya ürünün davranış ve yeteneklerine odaklanır ve genellikle sistemin gerçekleştirebileceği uçtan uca işleri ve bu işleri gerçekleştirirken gösterdiği fonksiyonel olmayan davranışları ele alır. İşlevsel gereksinimler yazılımın çalışma ortamında nasıl davranacağını, işlevsel olmayan gereksinimler ise yazılım doğruluk, performans, güvenlik, güvenilirlilik, uyması gereken standartlar gibi kalite özelliklerinin belirtilmesidir.

Sistem Testlerinin Amacı:

  • Riskin azaltılması
  • Sistemin tamamlandığının ve beklendiği gibi çalışacağının sağlamasının yapılması
  • Bir bütün olarak sistemin kalitesine dair güven oluşturulması
  • Hataların bulunması, hataların daha üst seviyelere veya canlıya çıkmadan önlenmesi

Kabul Testleri: Sistem testlerinde olduğu gibi geliştirilen ürünün tamamının kapasite ve yeteneklerine odaklanır. Müşteri ihtiyaçlarının ve gereksinimlerinin geliştirilen sistem tarafından yerine tam olarak getirildiği görülmeye çalışılır. Tüm kullanıcı ihtiyaçlarını ve gereksinimini doğrulayacak olan test durumları ve test senaryoları oluşturulur. Tüm testlerin başarılı olması ortaya çıkan ürünün müşteri tarafından kabul edileceği anlamına gelmez. Müşterinin ihtiyaçlarını karşılayan bir ürünün müşteriye sunulmasıdır.

Kabul Testlerinin Amacı:

  • Bir bütün olarak sistemin kalitesine yönelik güven oluşturmak
  • Sistemin tamamlandığını ve beklendiği gibi çalıştığını göstermek
  • Sistemin işlevsel ve işlevsel olmayan davraışlarının belirtildiği gibi gerçekleştiğini doğrulamak

--

--

No responses yet