Test Otomasyonu Nedir?

Test otomasyonu, test senaryolarının yazılım aracılığıyla 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 uygulamamız gerektiğini iyi bilmemiz gerekmektedir. Otomasyon testini ve manuel testi kısaca karşılaştıralım.


Otomasyon Testi;

• Otomasyon testleri tekrar eden testler için uygundur, verimliliği arttırır.

• Otomasyon ile her testin çıktısı otomatik olarak oluşturulur ve düzenli rapor tutulabilir.

• Otomasyon ile sadece kodlanan kısım kontrol edilir.

• Otomasyon testi hızlıdır.

• Testi koşan bilgisayar olduğu için kullanıcı deneyimi sağlayamaz.

• Otomasyon testinin manuel teste göre hata bulma oranı daha yüksektir.

Manuel Test;

• Manuel testler tekrar eden testler için iş gücü kaybına sebep olabilir.

• Manuel testte rapor testi yapan kişi tarafından kayıt edilmelidir.

• Manuel test ile en küçük ayrıntı bile test edilebileceği için daha kapsamlıdır.

• Manuel test ise daha yavaştır.

• Kullanıcı deneyimi sağlar.

• Manuel test ile kullanıcı deneyimine dayalı hatalar da bulunabilir.

Otomasyon testleri hızla gelişiyor olsa da insan faktörüne dokunulduğu için kalite ve güvence konusunda farklı verimler sağlayan manuel testlerin de önemini yitirmeyeceği düşünülmektedir.

Test Otomasyonunun Avantajları Nelerdir?

• Otomasyona uygun olan tüm test çeşitlerinin (Regresyon, Smoke, Performans, Load vb.) daha sık koşulabilmesine olanak sağlar.

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

• 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.

• Uygulamaya olan güveni arttırır

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

• Zaman ve maliyetten tasarruf sağlar.

• Stabilite sorunlarının tespit edilmesine yardımcı olur.

Hangi Senaryoları Test Otomasyonuna Geçirmeliyiz?

Test koşumlarınız belli bir standartta olduğunu ve bunun üzerine test süreçleriniz için otomasyona geçme kararı aldığınızı düşünelim. Testlerin otomatize edilmesi birçok açıdan kulağa hoş gelse de tüm test süreçlerini otomatize edebilmek mümkün değildir. Bu sebeple test senaryoları arasında seçim yapmanız gerekir. Peki önceliklendirmeniz gereken test senaryolarını nasıl belirleyeceksiniz? Test otomasyonuna geçirebileceğiniz senaryoları birlikte inceleyelim.

1) Tekrarlanan Test Senaryoları

Bir test senaryosunu otomasyona geçirebilmek için bu senaryonun belirli periyotlarla tekrarlanan bir senaryo olması gerekmektedir. Bunun en önemli sebebi, testi otomatize etmek için belirli bir geliştirme eforu harcamanızın gerekmesidir. Test otomasyonu için harcayacağınız geliştirme eforu, testi manuel koşmak için harcayacağınız kümülatif efordan fazla olmamalıdır.

2) Olgunlaşmış Test Senaryoları

Otomasyona geçirmek istediğiniz testler belirli bir olgunluğa ulaşmış olmalıdır. Bu testler, belirli bir süredir koşuluyor olmalı ve senaryoda yakın zamanda değişiklik yapılmamış olmalıdır. Sürekli değişen senaryoları otomatize etmeye çalışmak ve otomasyon kodunu düzenlemek ekstra efor harcamanızı gerektirecek ve otomasyondan alacağınız verimi düşürecektir.

3) Tutarlı Sonuç Veren Test Senaryoları

Otomasyona geçirmek istediğiniz test senaryoları tutarlı adımlardan oluşmalıdır. Testler aynı senaryo için her zaman aynı sonucu vermelidir. Aksi takdirde testi otomatize ettiğinizde istediğiniz verimi alamayabilirsiniz.

Test Otomasyonunda Hangi Case’ler Otomatize Edilmeli? Hangileri Edilmemeli?

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 aşağıdaki özelliklere sahip olmalıdır;

• Sürekli test tekrarı gereken case’ler (örneğin bir otel rezervasyon sistemi için boş odaları gösteren modülün testleri)

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

• Kritik insan hatası kabul etmeyecek case’ler (örneğin banka uygulaması için para transfer özelliğinin testleri)

Otomasyon testine uygun olmayan case’leri ise aşağıdaki gibi örneklendirebiliriz;

• 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

Test Case Nedir?

Test Case test mühendisleri tarafından yazılan, uygulamada yapılması gereken adımların ve kontrollerin sırasıyla yer aldığı dokümandır. Test case’i maddeler halinde inceleyecek olursak;

• Düzgün hazırlanan bir test case müşteri memnuniyeti demektir.

• Test case hem manuel hem de otomasyon testi için yazılabilir.

• Her user story için minimum olarak 1 test case hazırlanır.

• Test case dokümanı içerisinde test case numarası, testin yapıldığı ortam(environment), test adımları, test datası, beklenen sonuç ve gerçekleşen sonuç bölümleri yer almalıdır.

İdeal Test Senaryosu Nasıl Yazılmalıdır?

• Her bir test senaryosu yalnızca bir modülü ve modülün içinde bulunan tek bir fonksiyonu test etmelidir. Bu gereksinim senaryonun karışık ve uzun yapıda olmaması açısından önemlidir.

• Eğer bir senaryo test ettiği fonksiyon doğrultusunda sitede herhangi bir veriyi değiştiriyor, yenisini oluşturuyor veya siliyorsa senaryo bitiminden önce siteye girdiği ilk andaki gibi (default) olacak şekilde senaryoyu sonlandırmalıdır. Çünkü bu diğer senaryoların Çalışmasını etkileyebilir ve otomasyonda koddan kaynaklı faillere sebep olabilir.

• Testlerin diğer testler ile bağımlılığının olmaması, öncesinde hangi test hangi sıra ile koşulmuş olursa olsun spesifik olarak istenilen testi çalıştırabilmek ve senaryo takibini kolaylaştırmak için önemlidir. Bu yüzden birbirine bağlı senaryolar yazılmaması testin sürdürülebilirliği ve takibi açısından önemlidir.

• Çok uzun senaryo adımlarından kaçınmak gerekir. Ortalama bir senaryonun 50 adımı geçmemesi hem kodun okunabilirliği ve anlaşılabilirliği hem de bakım maliyeti açısından fayda sağlayacaktır.

• Aynı senaryonun içerisinde daha önce doğrulaması yapılmış kontrollerin tekrarlanmaması gerekmektedir. Bu yalnızca test senaryosunu uzatmakta olup, bakım maliyetini arttırır. Bu da istenmeyecek bir durumdur.

Detaylı bilgi ve çözümlerimiz için bizimle iletişime geçebilirsiniz