Yazılım testi: Bir yazılımın kendisinden beklenen özellikleri karşılayıp karşılamadığını incelemek amacıyla yapılan işlemlerdir. Eğer varsa yazılımdaki hatalar bulunup düzeltilebilir ve gereksinimlere uygun hale gelebilir.
Yazılım testi neden önemlidir: İnsanın olduğu yerde hata kaçınılmazdır. Geliştirme aşamalarında yapılan hataları belirtmek için gereklidir. Ürün performansı için gerekli. Müşterinin kuruluşu güvenilir bulmasını ve uygulamadaki memnuniyetini koruması açısından önemlidir. İleride ürün arızalanmaması için gereklidir.
Yazılım test otomasyonu: Önceden tahmin edilmiş sonuçlarla gerçek sonuçların karşılaştırılması ve testlerin çalıştırılmasını kontrol etmek için belirli yazılımın kullanılmasıdır. Test otomasyonu tekrar eden testler, test süreçlerinde sık kullanılan gerekli testlerin otomatikleştirebilir ve manuel yapılması zor olacağı testleri içerebilir. Test otomasyon arayüzü birden çok test etme araçlarının ve test altındaki uygulamanın Sistem/entegrasyon testi için sağlanan yapının(framework) birlikte çalışabilirliği için tek bir çalışma arayüzü sağlayan platformlardır. Test otomasyon arayüzü aşağıdaki ana modülleri içerir: • Arayüz motoru • Arayüz ortamı • Nesne havuzu
Test aracı: Test yönetimi, test tasarımı, testin yürütülmesi ve sonuçlarının değerlendirilmesi gibi test aktivitelerine yardımcı olmak için kullanılan yazılım. Genel olarak yaygın kullanılan araçlar Selenium otomasyon aracı, Jmeter performans test aracı, Testlink test yönetim aracıdır. Tabii farklı testler için birçok farklı test aracı da vardır.
Test mühendisi kimdir ne yapar: Geliştirilen yazılım üzerinde test yapan kişidir. Tüm dokümanları okumak ve neyin test edilmesi gerektiğini anlamak ve nasıl olacağına karar vermek. Test senaryolarını geliştirmek ve test faaliyetlerine öncelik vermek. Tüm test senaryolarını yürütmek ve hataları bildirmek, hata önceliği ve ciddiyeti tanımlamak. Her hata sonrası regresyon testi yapmak. Kullanıcıların taleplerini karşılamak ve memnuniyetini sağlamaya çalışırlar.
Test tipleri: Manuel ve Otomasyon
Manuel: Yazılımın el ile test edilmesidir. Yazılımdaki beklenilmeyen hata -davranış bulmak için yapılır. Küçük projelere uygun. Az maliyetli, yavaş, güvenilir değil, kullanıcı arayüzü testlerinde verimli.
Otomasyon: test yapan kişilerin script yazdığı ve test için başka yazılımlar kullandığı test türüdür. Yük, performans, stres gibi çok kullanıcı gerektiren testlerde ve sık sık değişiklik yapan regresyon testlerinde kolaylık sağlar.
Maliyetli, güvenilir, karmaşık projeler için uygundur.
Test metodları: WhiteBox, BlackBox
Whitebox: yazılımın iç çalışma yapısını dikkate alarak yapılan test yöntemi. Kodun yapısını ve iç mantık yapılarını detaylı inceler. Test uzmanı kodu iyi bilmelidir.
Blackbox: yazılımın iç çalışma mantığı dikkate alınmadan sadece yazılımın girdi ve çıktı kombinasyonları göz önüne alınarak yapılan test etme yöntemi. Doğru olmayan ya da kayıp fonksiyonlar,
ara yüz hataları, veri yapılarındaki hatalar, davranış ya da performans hataları, başlatma sonlandırma hataları bulunur.
Yazılım test seviyeleri:
Birim test(kodda) -> Entegrasyon testi(dizayn) -> Sistem testi(gereksinimleri tanımlama) -> Kabul testi(kullanıcı ihtiyacı)
Yazılım test türleri: genel olarak 3 kategoriye ayrılır; fonksiyonel, fonksiyonel olmayan(performans) ve bakım.
Fonksiyonel test: birim, entegrasyon, smoke, kullanıcı kabul, yerelleştirme, küreselleştirme, işlerlik.
Fonksiyonel olmayan test: performans, yük, kullanılabilirlik, dayanıklılık, ses, ölçeklenebilirlik.
Bakım testi: regresyon ve bakım
Test Seviyeleri:
*Birim Testi
*Entegrasyon Testi
*Sistem Testi
*Kabul Testi