Yazılım Testine Bakış Defne Şarlıoğlu
Ajanda Yazılım Testine Bakış 1 2 3 4 Yazılım Testi Nedir? Yazılım Testi Neden Yapılır? Dinamik Test Süreçleri Test Sürecinin Aşamaları 5 Test Senaryo Tasarımları 6 Test Senaryoları Nelerden Oluşur? 7 Yazılım Testleri Nasıl Yapılır?
YAZILIM TEST KAVRAMLARINA GİRİŞ YAZILIM TESTİ NEDİR? Test, yazılımın sınırlı sayıda ve seçilmiş test senaryoları kullanılarak beklenilen davranışı gösterdiğinin dinamik olarak yani kodun çalıştırılarak doğrulanması aktivitesidir. Gereksinim, Analiz ve Tasarım, Kodlama gibi aktivitelerde yapılan statik geçerleme analizlerinin tamamlayıcısı sayılabilir. Test ile ilgili genel algı, sadece testlerin çalıştırılması şeklindedir. Bu testin bir parçasıdır, fakat test aktivitesinin tamamı değildir.
YAZILIM TEST KAVRAMLARINA GİRİŞ YAZILIM TESTİ NEDEN YAPILIR? Yazılım Testinin asıl amacı sonradan oluşabilecek bir hatayı, daha önceden bulup hem maliyet düşürüp masrafları azaltmak, hem de hata ile ilgili daha hızlı aksiyon alınmasını sağlamaktır. Ayrıca müşteriye istenilen kalitede ürün sunulduğundan emin olmak, böylece müşteri memnuniyetini arttırmaktır. Gerçekleştirilen testler ile hatadan arındırılmış, daha kaliteli ve güvenilir yazılımlar üretilmesi hedeflenir. Yapılan testlerin farklı hedefleri olabilir. Bu hedefler defect bulmak, bilgi edinmek ve kalite seviyesi için güvence sağlamak, defectleri engellemek şeklinde olabilir.
YAZILIM TESTİ KAVRAMLARINA GİRİŞ TEST PRENSİPLERİ 1 Test, hataları gösterir. 2 Bir uygulamayı 100% test etmek imkansızdır. 3 Teste yazılım sürecinin başında başlamak gerekir. 4 Hatalar yazılımın belli alanlarında yoğunlaşır. 5 Testimizi gerçekleştirirken, farklı teknikler kullanmazsak, tek düze bakarız ve belki de önemli konuları atlayabiliriz 6 Test Proje içeriğine göre değişiklik gösterir. 7 Test hiçbir zaman bitmez. Yani hiçbir zaman : hata kalmadı, başarılı bir yazılım yaptık dememeliyiz.
YAZILIM TEST SÜREÇLERİ Dinamik Test Süreçleri Birim Testleri Entegrasyon Testleri Regresyon Testleri 1 Dinamik test sürecinin ilk aşaması olmakla beraber, hataların erken bulunup düzeltilebilmesi açısından da bu sürecin en önemli aşamasını oluşturur. 2 Bir uygulamanın farklı bileşenlerinin beraberce uyum içinde çalışıp çalışmadığını sınamak için yapılan bir testtir. Bileşenler, modüller, bağımsız uygulamalar, istemci/sunucu uygulamaları biçiminde olabilirler. Bu test, test uzmanlarınca değil programcılar tarafından yapılır ve program kodunun ayrıntıları ile içsel tasarım biçiminin bilinmesi gerekir. Bu tür testlere, özellikle istemci/sunucu uygulamaları ve dağıtık sistemlerin testinde başvurulmaktadır. 3 Uygulamada ve uygulama ortamlarında gerekli değişiklikler ve sabitlemeler yapıldıktan sonra yeniden yapılan testlere çekilme (regresyon) testi denilir. Böylece, önceki testlerde belirlenen sorunların giderildiğinden ve yeni hatalar oluşmadığından emin olunur. Özellikle uygulama geliştirme döneminin sonlarına doğru yapılır.
YAZILIM TEST SÜREÇLERİ Dinamik Test Süreçleri Performans Testleri Kullanıcı Kabul Testleri Beyaz Kutu Test Tekniği 4 Aynı zamanda, beklenmedik (normal olmayan) ağır yükler, belirli eylemler ve taleplerin çok fazla artışı, çok yoğun sayısal işlemler, çok karmaşık sorgulamalar vb. ağır koşullar altında olan bir sistemin işlevsellik testi (iş yapabilme testi) olarak da tanımlanabilmektedir. 5 Kullanıcıların, uygulamayı kabul etmeden önce, söz konusu uygulamanın gereksinimlerini ne ölçüde karşılayıp karşılamadığını belirleyip, geri dönüş yapabileceği testlerdir. 6 Beyaz kutu test tekniğinin en genel tabiri kod testidir. Projenin hem kaynak kodu, hem de derlenmiş kodu test edilir. Bu tür testler, uygulama kodunun iç mantığı üzerindeki bilgiye bağlıdır. Yazılım kodundaki deyimler, akış denetimleri, koşullar vb. elemanlar sınanır.
YAZILIM TEST SÜREÇLERİ Dinamik Test Süreçleri Kara Kutu Test Tekniği 7 Test ekipleri tarafından en çok kullanılan teknik olan kara kutu test tekniği adından da anlaşılacağı gibi uygulamanın sadece derlenmiş kodu üzerinden test edilmesi olarak bilinir. Yazılımın gereksinimine duyulan şeylere yanıt verip veremediği ve işlevselliği sınanmaktadır.
TEST SÜREÇLERİ TEST SÜRECİNİN AŞAMALARI PLANLAMA VE KONTROL Analiz ve Tasarım Testin Uygulanması Testin Sonlandırılması Raporlanması Testin Kapatılması Planlama: Test misyonu ve amaçlarının belirlenmesi Kontrol: Önceden belirlenen risklerin saptanması ve raporlanması Test altyapısı ve ortamına ilişkin detayların ve test tasarımının belirlenmesi Test senaryoları nın yazılması, koşulması ve hataların bildirilmesi. Düzeltilen hataların tekrar test edilmesi Planlamada belirlenen misyon ve amaçlara ulaşılıp ulaşılmadığının kontrol edilerek üst yönetime rapor sunulması Sonlandırılan testlerin sonuçlarını birleştirme ve sonuçların sonraki projelerde kullanılmak üzere arşivlenmesi
TEST TASARIM TEKNİKLERİ TEST SENARYOLARI TASARIMLARI Hatalar Test Senaryoları Gereksinimler
TEST TASARIM TEKNİKLERİ TEST SENARYOLARI NELERDEN OLUŞUR? 1 Test senaryosunun adı 2 Test senaryosunun özeti 3 Test senaryosunun önceliği 4 Test edilen modül 5 Test senaryosunun adımları 6 Beklenen sonuçlar 7 Gerçekleşen sonuçlar
YAZILIM TEST İPUÇLARI YAZILIM TESTİ NASIL YAPILIR? Ekran Testleri için İp uçları: İlk yapılması gereken ekranda bulunan düğmelerinin işlevlerinin yerine getirilip getirilmediğinin kontrol edilmesidir. Sorgu kriterlerine hiçbir veri girilmeksizin sorgulama düğmesine basılır. Sorgu kriterlerinin her biri için veri girişi yapılır ve tek tek sorgulama sonrasında davranışları gözlemlenir. Sorgu kriterlerine rastgele değerler girilerek sorgulama yapılır. Örneğin; numeric girilmemesi gereken alana numeric değer girilmesi gibi. Sorgu kriterleri boşluk bırakılarak sorgulama yapılır. Sorgu kriterlerinin hepsi doldurularak sorgulama yapılır. Sorgu kriterlerine değişik karakterler girilerek sorgulama yapılır. (*, }, [, ], &, %, * v.b) Paging olan ekranlarda geri dön düğmesi ile kontroller yapılmalı. Paging olan ekranlarda bir sonraki sayfaya gidip orda tekrar aynı sorgulama yapılmalıdır. Yapılan sorgulamalar sonunda ekranın performansında gözle görülür bir yavaşlığın olup olmadığı kontrol edilmelidir.
YAZILIM TEST İPUÇLARI YAZILIM TESTİ NASIL YAPILIR? Web Servis Testleri için İp uçları: İlk yapılması gereken doğru makine üzerinde çalışılıp çalışılmadığının kontrol edilmesidir. Requestte gerekli alanlar girildikten sonra çalıştırılan request sonrasında alınan hatanın anlamlı olup olmadığı kontrol edilir. Alınan hatanın authentication hatası olup olmadığı kontrol edilmelidir. Requeste her bir alan sırası ile boş bırakılarak çalıştırılır ve alınan hatanın anlamlı bir hata olup olmadığı kontrol edilir. Requesteki alnlara anlamı olmayan rastgele değerler girilerek çalıştırılır. Requesteki tüm alanlar uygun şekilde doldurulduktan sonra çalıştırılır ve alınan mesajın doğrulu kontrol edilir.
YAZILIM TEST İPUÇLARI YAZILIM TESTİ NASIL YAPILIR? Dosya Testleri için İp uçları: İlk yapılması gereken dosya tanımlamanın doğru şekilde yapılıp yapılmadığının kontrol edilmesidir. Dosyanın atılacağı klasör FTP de tanımlanmış olmalıdır. FTP klasöründe tanımlaması yapılan klasör uygulama sunucusunda da aynı ad ile tanımlanmış olmalıdır. İşlenmek üzere atılan dosya daha önce aynı isim ile işlenmek üzere atılmamış olması gerekmektedir. İşlenen dosyaların tümü arşiv de yedeklenmektedir ve ara sıra arşivlenen bu dosyalar temizlenmelidir. FTP sunucusunda belirtilen tüm bu işlemler doğru olduğu halde halen dosya işlenmiyorsa jobların hata alıp almadığı kontrol edilmelidir.
YAZILIM TEST İPUÇLARI YAZILIM TESTİ NASIL YAPILIR? Testler sırasında hata tespit edildikten sonra: İlk yapılması gereken alınan hatanın tekrar üretilmeye çalışılmasıdır böylece veriden kaynaklı bir hata olup olmadığı anlaşılmış olur. Hata alındıktan sonra sürüm ve ortam bilgilerinin kontrol edilmesi gerekmektedir.
TEŞEKKÜR EDERİM www.defnesarlioglu.com