Bu soruya cevabımız çok net: kesinlikle etmeyin. Test otomasyonuna tüm testleri otomatize edip testlerden kurtulmalıyız mantığıyla yaklaşmamanız gerekiyor.

Nedenleri çok basit:

Test Otomasyon Projesi Bir Çeşit Yazılım Geliştirme Projesidir

Test otomasyonu projesi bir çeşit yazılım geliştirme projesi olduğu için, bu projenin neden yapılmak istendiği, paydaşları, gereksinimleri ve fizibilitesinin, çok iyi çalışılıp ortaya çıkarılması gerekiyor. Hedefi belli olmayan, ihtiyacı karşılamayan bir otomasyon projesi hem zaman hem de para kaybına sebep olacağı gibi, bunlardan daha önemlisi organizasyonun çok önemli bir konu olan test otomasyonuna olan inancını ve şevkini de zedeleyecektir.

Test Otomasyonu Yıllarca Yaşayacak ve Bakıma İhtiyaç Duyacak Orta ve Uzun Vadeli Bir Projedir

Yaşanan diğer yanılgı da, bir kere otomatize ettiğimiz zaman o testlerden ebediyen kurtulacağımız yanılgısıdır. Test otomasyonu yatırımının geri dönüşünü orta ve uzun vadede sağlayan bir projedir. Bu gözle bakıldığı zaman tıpkı bir yazılım gibi zaman içerisinde değişikliklere uğrayıp revizeler yapılması, eksikliklerinin giderilmesi; özetle bakımının yapılması gerekmektedir. Gereksiz otomatize edilen testler hem bakım maliyeti hem de test otomasyon projesini kompleksleştirmesi sebebiyle işinizi zora sokmaya başlayacaktır. Çevik prensiplerle birlikte günümüzde her şeyin yalın olması gerekliliği yaklaşımı, test otomasyonu projeniz için de geçerlidir.

Test Otomasyon Araçları da Birer Yazılımdır, Onlarda da Hatalar Vardır

Testlerinizi otomatize etmek için büyük ihtimalle bir araç veya bir araç kütüphanesi kullanmak veya kendi aracınızı yazmak zorunda kalacaksınız. Lisanslı veya açık kaynak kodlu olsun, bu tür araçların da hataları bulunmakta, yeni versiyonları yayınlanmakta ve bu versiyonlarla birlikte araçlara yamalar yapılmaktadır. Kullanacağınız aracın tutarlı bilgiler üretiyor olması, gerektiğinde profesyonel veya paylaşım sitelerinden destek alabiliyor olmanız, otomatize edeceğiniz testlerin kullandığı teknolojileri destekliyor olması gerekmektedir. Her şeyi otomatize edeceğim derken daha sizin kullandığınız teknolojileri tam desteklemeyen, olgunlaşmamış test otomasyon araçlarıyla çalışmak zorunda kalabilirsiniz. Otomatize edeceğiniz testleri iyi belirleyip sayısını azaltarak bu riskin gerçekleşme olasılığını düşürmelisiniz.

Test Otomasyon Aracı Mitoz Bölünmesi

Her testi otomatize edeceğim diye yola çıkan kurumlarda gördüğümüz bir diğer sorun, tek bir ekibin test otomasyonuna yetişememesinden dolayı birden fazla ekibin test otomasyon işine el atarak farklı farklı test otomasyon araçları, kütüphaneleri kullanarak test otomasyonuna girişmesidir. Bu tür girişimler genelde tam bir test hedefi, test stratejisi ve test otomasyon aracı ailesi belirlenmeden hızlı bir şekilde, tez canlılıkla başladığından test otomasyon aracı mitoz bölünmesine yol açmakta ve aynı işi yapan farklı farklı test otomasyon araçlarının kurum bünyesinde varlığını sürdürmesine sebebiyet vermektedir. Zaten zor olan test otomasyon bakım maliyetleri böyle bir yaklaşımla daha da zorlaşıp çok daha maliyetli hale gelmektedir.

Bu tür mitoz bölünmeler yaşayan kurumlarda farklı test otomasyon araçları bir araya getirilmek istense veya birinden vazgeçilmeye çalışılsa da vazgeçilmek istenen test otomasyon aracını sahiplenen ekip duygusal davranarak araçtan vazgeçmemekte, hatta kendi araçlarıyla yapılırsa tüm test otomasyonunun nasıl daha güzel olacağını göstermeye çalışmaktadır.

Her testi otomatize edelim yaklaşımıyla başlayan bu mitoz bölünmeler, kurum bünyesinde sadece zaman ve para kaybına yol açmamakta, ayrıca farklı farklı test otomasyon araçlarından gelen bilgilerin konsolide edilme ihtiyacına ve bilgide tutarsızlık sorunlarına da yol açmaktadır.

Hataları Test Otomasyonu Değil, Test Tasarım Teknikleri ve İyi Kurgulanmış Testler Bulacaktır

Genelde her testi otomatize edelim hedefinin ardında tüm hataların test otomasyonu tarafından bulunabileceği algısı yatmaktadır. Bu yanlış bir algıdır. Test otomasyonu sizin belirlediğiniz testlerin daha sık ve insan müdahalesi olmadan koşulmasını sağlar. Hatayı bulacak olan yine sizin kurguladığınız testler ve bunları kurgulamak için kullandığınız test tasarım teknikleridir. Yanlış kurgulanan bir testi otomatize etmek yanlış bir tarifle pişirdiğiniz keki fabrikasyona sokup bundan binlerce üretmeye benzer. Tarif kötüyse, ne kadar çok o kekten üretseniz de kekin alıcısı olmayacaktır.

İlk başta verdiğimiz cevapla blog’umuzu sonlandıralım; bütün test senaryolarınızı otomatize etmeye çalışmayın. Test senaryolarınızı önceliklendirin ve en çok geri dönüşü sağlayacak şekilde doğru test aracı kullanarak otomasyona geçirmeye başlayın.