Yazılım test süreçleri ile ilgili gördüğüm her kursu almaya çalışıyorum, bugünlerde ise patika.dev üzerinden Test Otomasyon Patikası isimli kursa başladım. Bu kursu takip ederken aldığım notları da burada yayınlayacağım. Buradaki notlar, kurstaki anlatımların özetidir.
Yazılım Testlerini manuel ve otomasyon olarak iki ayrı türde inceleyebiliriz
Manuel testlerde herhangi bir otomasyon aracı kullanmıyoruz, test araçlarına dair detaylı bir bilgiye ihtiyaç duymuyoruz.
Manuel testleri 3 ana başlık altında toplarsak:
1- White Box Testing: Developerın, test ekibine veya test uzmanına kodlarını teslim etmeden önce yaptığı test şeklidir.
2- Gray Box Testing: Ağırlıklı olarak developer tarafından yapılan testlerdir. Dahili kodların bilinmesi önemlidir. Hem developer hem de test uzmanı tarafından yapılabilir.
3- Black Box Testing: Bu testte, test uzmanı analizlerini yapacak ve kusurları veya hataları belirleyip development ekibine geri gönderecektir. Kaynak kodları bu test türünde görünmez, müşterinin ihtiyacı ile örtüşen bir uygulama yapılıp yapılmadığı belirlenir. Black Box testing de fonksiyonel ve fonksiyonel olmayan testler olarak ikiye ayrılır.
Fonksiyonel testler, uygulamanın işlevselliğine göre yapılır. Girdileri ve sonuçlarını kontrol ederiz. Birim testi, Entegrasyon testi ve sistem testi olarak türlendirilebilir.
Birim testi(Unit Test): Development ekibi tarafından kod performansının ve kalitesinin arttırılması için yapılır.
Entegrasyon testi(Integration Test): Modüllerin arasındaki veri akışının doğru olup olmadığını test edildiği aşamadır. Kısaca, her modül arasındaki bağlantının test edilmesidir.
Sistem testi(System Test): Sistem testi, projenin uçtan uca koşulduğu testlerdir. Elimizdeki projenin tüm parçaları test edilir.
Fonksiyonel Olmayan Testler: Performans, güvenilirlik, yük ve stres gibi testlerin kombinasyonudur. Performans, Kullanılabilirlik ve Uyumluluk testleri olarak türlendirilebilir.
Performans testi; Elimizdeki uygulamanın çalışabilmesi için yük altında uygulamanın tepkileri ölçülür. Yük, stres, ölçeklenebilirlik ve stabilite testleri olarak kendi arasında ayrılır. Önemli bir test türüdür.
Yük testi: Yazılımın en yüksek çalışma hacmi ve darboğazları belirlenir.
Stres testi: Yüksek trafik veya yüksek iş yükü altında nasıl çalıştığı test edilir.
Ölçeklenebilirlik testi: Yazılımın yükü artırılarak veya azaltılarak performansının test edilmesidir.
Stabilite testi: Belirli bir süre zarfında belirli bir yük uygulandığında yazılımın nasıl cevap vereceği test edilir.
Kullanılabilirlik Testi: Bir uygulamanın user-friendly olup olmadığı test edilir. Ara yüz testi de denilebilir.
Uyumluluk testi: Uygulamanın fonksiyonel olarak kararlılığı test edilir. Uygulama farklı tarayıcılarda veya farklı donanımlarda test edilir.
Diğer Test Türleri:
Smoke Test: Uygulamanın temel ve kritik özellikleri test edilir. Örneğin bir e-ticaret sitesinde tıkladığımız ürünü sepete alabiliyor muyuz? sepetten ürün silebiliyor muyuz? arama alanı düzgün çalışıyor mu? gibi temel ve kritik işlemleri test ederiz.
Sanity Test: Mevcut yazılıma eklenen modüllerin düzgün çalışıp çalışmadığı ve eklenen modülün diğer sayfalarda bir etkisi olup olmadığı test edilir.
Regresyon Testi: En yaygın kullanılan test türüdür. Canlıya alınan bir kod değişikliğinin veya eklenen yeni bir modülün uygulamada herhangi bir soruna sebep olup olmadığı test edilir. Uygulamanın mevcut bütün özellikleri test edilir. Smoke ve sanity testlerinin üst kümesidir. Regresyon > smoke, sanity.
Kullanıcı kabul testi: Ürünün tüm testlerinin yapıldığı ve canlıya alınmadan hemen önceki testidir.
Keşif Testi: Uygulamayı mevcut her açıdan incelemektir. Uygulamayı iyi tanımayı ve her aşamasını incelemeyi gerektirir.
Adhoc Test: Rastgele olarak yapılan testlerdir. Negatif senaryolar üzerine odaklanılır.
Security Test: Uygulamadaki risk ve zayıflıkları test ettiğimiz testlerdir.

Bir yanıt yazın