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