Test otomasyonu, test senaryolarının bir yazılım kullanılarak bilgisayar tarafından otomatik gerçekleştirildiği ve sonuçlarının belirli araçlar ile raporlandığı test etme yöntemidir. Manuel testte olduğu gibi bir insan tarafından tek tek adımların gerçekleştirilmesine ve izlenmesine gerek yoktur.

Hem manuel testin hem de otomasyon testinin bazı avantaj ve dezavantajları vardır. Bu noktada, testten maksimum verimi almak için hangisini ne zaman uygulamanız gerektiğini iyi bilmeniz gerekmektedir.

Hangi Test Türleri için Hangi Test Yöntemini Kullanmalıyız?

Manuel testler için uygun test türleri:

Keşif Testi (Exploratory Testing): Bu test türü yazılım testçisinin tecrübesine, yeteneklerine, yaratıcılığına ihtiyaç duyan bir türdür. Test senaryoları burada çoğu zaman çok iyi yazılmamış istek/özellik dokümanlarına göre belirlenir ve testi yürütmek için çok kısa zaman vardır.

Kullanılabilirlik Testi (Usability Testing): Burada yazılım ve ürünün son kullanıcılar için ne kadar kullanıcı dostu, verimli veya kullanışlı olduğunu ölçmemiz gerekir. Bu noktada insan gözlemi çok önemlidir. Bu sebeple genelde bu test türü için manuel test tercih edilir.

Geçici Test (Ad-Hoc Testing): Bu senaryoda belirli bir yaklaşım yoktur. Planlanmamış bir test senaryosuyla tamamen testçinin yaklaşımının önemli olduğu bir test türüdür. Bu sebeple manuel test için uygundur.

Otomasyon testinin tercih edildiği test türleri:

Regresyon Testi (Regression Testing): Burada oluşturduğumuz geniş kapsamlı test senaryoları için, kod değişikliklerini test edebilmek ve aynı zamanda zamandan kazanmak için otomasyon testi tercih edilmektedir.

Yük Testi (Load Testing): Otomasyon testi için en uygun test türlerinden biridir. Sürekli ve yoğun kullanıcısı olan sistemleri belirli periyotlarla aşırı yük durumunda test etmek en kolay otomasyonla mümkündür.

Performans Testi (Performance Testing): Yük testiyle benzer şekilde, binlerce eşzamanlı kullanıcının simülasyonunu gerektiren bu test türünde de en kolay yöntem otomasyon testi olmaktadır.

Test Otomasyonunun Avantajları

Tüm iş akışlarının, tüm alanların, tüm olumsuz senaryoların test edilmesinde manuel teste göre zaman ve maliyetten tasarruf sağlar.

Testleri yürütmek için belirli bir zaman dilimi gerektirmez. İnsan katılımını gerektirmediği için herhangi bir saate programlayarak isterseniz gece bile çalıştırabilirsiniz.

Test yürütme hızını arttırır.

Test kapsamını(test coverage) arttırmayı sağlar.

İnsan hatalarının önüne geçer.

Hangi Case’ler Otomatize Edilmeli? Hangileri Edilememeli?

Her test türü otomasyona uygun olmadığı gibi her case de otomasyon case’i olmaya uygun değildir.

Otomasyon testi için uygun olabilecek case’ler:

Sürekli test tekrarı gereken case’ler (Örn: Bir otel rezervasyon sistemi için boş odaları gösteren modülün testleri)

Manuel yapılması yorucu ve zaman alan case’ler

Kritik insan hatası kabul etmeyecek case’ler (Örn: Banka uygulaması için para transfer özelliğinin testleri)

Otomasyon testine uygun olmayan case’ler:

Yeni tasarıma sahip ve manuel olarak hiç test edilmemiş case’ler

Sürekli değişen özelliklerin test case’leri

Canlıya hızlı bir şekilde çıkması gereken bir özelliğin test case’leri

Otomatik Test Süreci (Automated Test Process)

Her yazılımda olduğu gibi test otomasyonunda da baştan sona bir süreç vardır. Her adımda titizlikle çalışarak doğru sonuçları verecek bir otomasyon süreci yürütmek önemlidir.

Test otomasyon süreci adımları:

1)Test Tool Seçimi: Test edilecek sistemde kullanılan teknolojilerin neyi desteklediğini bilerek ve otomatize edilecek test türüne göre uygun bir tool seçilmelidir.

2)Otomasyon Kapsamının Tanımlanması: Hangi caselerin otomasyona dahil edileceği, ürün sahibi müşterilerin nelere önem verdiği, teknik fizibilite gibi konular düşünülerek bir kapsam belirlenmelidir.

3)Planlama, Tasarım ve Geliştirme: Bu aşamada aşağıdaki ayrıntıları içeren bir otomasyon stratejisi belirlenir.

Otomasyon aracı seçimi

Framework seçimi ve tasarımı

Kapsam içi ve kapsam dışı otomasyon öğeleri

Otomasyon test ortamı hazırlığı

Komut dosyalarının oluşturulması

4)Gerçekleştirme: Bu aşamada ise oluşturulmuş otomasyon test scriptleri yürütülerek test sonuçları görüntülenir.

5)Bakım: Sisteme yeni eklenen özelliklerin otomasyon caselerinin eklenmesi yada değişikliklerin test case’ler içerisinde güncellenmesi (Örn: Giriş Sistemi testi için değişen test hesabı şifresinin otomasyon içerisindeki casede güncellenmesi vb.).