Test Otomasyonu Toolları Piyasası
Pazarın bugünkü durumu
Test otomasyonu yazılımları firmalara test oluşturma, testlerin koşulması ve bakımı alanlarında şu şekillerde
yardım eder:
- Skript yaratma ve geliştirme: Test otomasyonu yazılımları; kullanıcıların program kullanım şekillerini
kaydederek (record-play), manüel kodlamayla, parametre ekleyerek ve var olan hazır skriptlerin
uyarlanması ile skript yaratımını ve geliştirmesini destekler. Test otomasyonu yazılımları artık record – play
işlemini artık çok ayrıntılı (arkada skript oluşturma) bir hale getirmiştir. Kullanıcının kendisinin yazacağı bir
skriptin tabii ki de çok daha etkili olmasını beklerizfakat programlama veya skript yazmayla alakası
olmayan insanlar için araçların bu yenilikleri tamamen kullanıcı yararına gelişmektedir.
- Skript bakımı; Bugünün test araçları kullanıcılara, programlarda yapılan küçük değişiklere rağmen,
hatasız sonuna kadar koşabilen skriptler yaratma şansı tanımaktadır. Örneğin artık birçok araç record
işlemi esnasında kullanıcı arabirimlerine ait bütün özellikleri kendilerine özel repository’lerde tutarak
kendine bir avantaj sağlamaya çalışmaktadırlar. Bunu yapma sebepleri de (ayrıntılı bilgi tutma) tamamen
ilerde ortaya çıkabilecek arabirim değişikliklerine otomatik tepki verebilme yeteneğinin geliştirilmesinden
ibarettir.
Yazılımın kalan yaşam döngüsü alanlarında test yönetimi ve test entegrasyonunun sağlanması; Test
etmenin sadece bir aktivite olmayıp başlı başına bir süreç olmasından dolayı başı çeken test aracı yazılım
şirketleri bu süreci yani fonksiyonel test aşamasını, testlerin planlanması ve raporlanması gibi alanlarla
birleştirmekteler. Test araçlarının, yazılımın yaşam döngüsünün kalan alanlarına entegrasyonu amacıyla
development, source control, gereksinim yönetimi, test yönetimi ve performans testleri gibi alanlar da
aynı araçlarla kontrol altına alınmak istenmektedir. Bunun açık ve tek amacı da kalitenin üst seviyelere
çekilmesidir. Bunu da analiz aşamasından deployment (prod.) aşamasına kadar bu araçlar yardımıyla
takip ve raporlama yaparak gerçekleştirmektedirler.
________________________________________
Size 7 adet pazar oyuncusundan bahsedeceğim ve bu araçların kritere göre ağrılıklarının alındığı bir grafik
göstereceğim.
Oyuncularımız: Compuware TestPartner (QACenter Enterprise Edition+ ın bir parçası olarak); Empirix
e-Tester (e-TEST suite’in bir parçası olarak); IBM Rational Functional Tester (Rational Manual Tester
ve Rational TestManager bağlamında); Mercury QuickTestProfessional (TestDirector bağlamında);
RadView WebFT (TestView Suite’in bir parçası olarak); Seapine QA Wizard(TestTrack Pro’nun bir
parçası olarak); ve son olarak Segue SilkTest (SilkCentral Test Manager ve Issue Manager bağlamında)
(Segue firması 2007’de Borland tarafından satın alındı)
Pazarın geleceği
Test otomasyonu araçları göreceli de olsa belli bir olgunluğa erişmiş durumdalar; onun için yumuşak karın
diye adlandırabileceğimiz sadece birkaç alan var gelişime açık. Gelecek yıllarda firmalardan beklenen
geliştirme alanları:
Halka açık olan formatları benimseme. Açık standartlardan(HTML, XML gibi) ve nerdeyse herkesçe
kabullenilmiş standart uygulamalardan (UML, Eclipse ve Visual Studio Team System gibi) en üst düzeyde
yararlanılması. Bunun üzerine gidilme sebebi ortak platformlarda geliştirilen araçların, kayda değer biçimde
diğer yaşam döngüsü araçlarıyla entegrasyon kolaylığı sağlıyor olması. Peki, getirisi nedir bu platformların:
Defectlerin iş akışı esnasında, keşfedilme ve fix edilmesi sürecinin geliştirme aşamasında fark edilip aynı
aşamada başlayıp bitirilmesi, ek olarak yazılım firmaları AR&GE bütçelerini piyasadaki ürünlerin taklit veya
benzerlerini üretmek için değil yenilikler (innovation) ortaya koymak için ayıracaklar. İncelemeye alınan
7 firmadan 4ü bu standartlar ışığında çalışmalarını sürdürmekte.
Fonksiyonel test araçlarının diğer yaşam döngüsü araçlarıyla entegrasyonu ve/veya uyumu. Firmaların çoğu
bu ihtiyacı karşılayabilmekte; bazıları kendi bünyesindeki yazılımlarla, bazıları ise başka firmaların araçlarına
destek vermek suretiyle. Bazı firmalar bu entegrasyon sürecini daha da geliştirmek amacıyla XML import/export
desteği olan açık arabirimler geliştirmekte ve ek API’ler oluşturmaktalar.
Yeni kullanıcı popülâsyonlarına erişmek. Kullanıcıların ilgisini cezbetmek için firmalar hem giriş seviyesi hem
de ileri seviye kullanıcılara hitap eden araçlar yazmaktalar. Çoğu firma developer’lara güçlü ve esnek yapıda
bir skript dili, IDE’lerle entegrasyon ve ucuz masaüstü uygulamaları sunarak bu ilgiyi daha da artırmaya
çalışmaktadırlar. Geri kalan firmalar ise programlama yeteneği olmayan kullanıcıları hedef alıp kullanımı kolay
araçlar yazmaya yönelmişlerdir.
Distributed takım çalışmaları ve organizasyonlar için desteğin artırılması. Distributed yapıdaki takımların kendine
özgü bazı ihtiyaçları olacaktır ve değerlendirilen firmalardan özellikle Mercury ve Empirix bu konuda ileriye dönük
geliştirme planları hazırlamış durumdalar(Test Plan ve Test Asset paylaşımı gibi). Bu noktada firmaların web
tabanlı uygulamalarla çözüm aradıkları görülmektedir.
Mercury en üst sırada oturuyor. Mercury eskiden beri bilinen WinRunner ürünü sayesinde az bir farkla pazar
payı lideri konumunda. Mercury’nin Test Director yazılımı da göz önüne alındığında, QuickTest Pro piyasadaki
çoğu müşteriyi tatmin edebilecek fonksiyonaliteye sahip. Bu artıların yanında Mercury’nin aşırıya kaçan fiyatlandırma
politikası kullanıcıları diğer araçlara yöneltiyor. Ayrıca Mercury piyasadaki en hazır ürün olduğu için geliştirme
çalışmalarında da bir doyuma ulaşılmış durumda bu nedenle diğer firmalar Mercury’yi yakalamaya çalışırken
Mercury ise yenilikler yaratmak zorunda.
IBM yükselişte. Yeniden düzenlenen ve geliştirilen IBM Rational Functional Tester aracı yazılım kalitesine
IBM’in verdiği kaliteyi gösteriyor. Functional Tester, Piyasadaki en gelişmiş araç olmamasına rağmen Mercury’nin
Pazar liderliğini tehdit etmeye başlamış durumda. Rational’ın en güçlü noktaları açık standartları kullanıyor olması,
Java ve Visual Basic .NET ile skripting yapılabiliyor olması, Eclipse ve Visual Studio .NET entegrasyonu ve
manuel ve otomatik test edebilme kabiliyetleri sıralanabilir.
Orta sıralar biraz kalabalık. Burada, piyasada 10 yıldan fazla bir süredir varlığını sürdüren iki ünlü test aracı
yazılım firması Compuware ve Segue, kendilerini daha küçük ölçekli iki firma Empirix ve Radview –özellikle
Web tabanlı uygulamalarda uzman- arasında buluyorlar. Bu dört araç da çok yetenekli fakat bir QuickTest Pro
ve Rational Functional Tester kadar başarılı değiller.
Seapine grubun en arkasında kalıyor. Seapine’ın QA Wizard aracı kullanımı kolay fakat özellikleri kısıtlı
bir araç. Temel düzeyde test çalışması yapan şirketler QA Wizard’ı kendilerine uygun bulacaklardır; böylece
gereksiz özelliklere de para ödemek zorunda kalmayacaklardır.
Doğru araç seçimi:
Dört ana faktör araç seçimini kolaylaştırması açısından önemli (Bkz: Şekil – 2):
1- Teste sokacağınız uygulamalarınız hangi dilde ve hangi ortamda geliştirilmiş olursa olsun araç tarafından
desteklenmelidir. Yani .NET ortamında geliştirilen bir uygulama araç ne kadar özellik sunuyor olursa olsun
bu ortam araç tarafından desteklenmediği sürece bir anlam ifade etmeyecektir.
2- Aracın onu kullanacak kişilerin seviyesine hitap edebilmelidir. Değerlendiren araçların neredeyse hepsi
teknik kapasitesi yüksek olan veya olmayan kişilere hitap edebilmektedir; fakat mutlaka her araç iki
seviyeden birine daha yakın durmaktadır. Zaten bir araçtan aynı anda iki seviyenin de gereksinimlerini
karşılamasını beklememek gerekir.
3- Önceden sahip olunan (elde olan) yazılım geliştirme araçları ile entegrasyon desteği sağlamalıdır.
Aslında bu o kadar da önemli bir madde değil ama kesinlikle bir aracı diğerinin önüne kullanılabilirlik
ve hız açısından geçirecektir. Firmalar bir test otomasyonu aracı alırken ellerindeki örneğin source
control sistemleriyle entegre çalışıyor mu diye kontrol etmez. Ama düşünüldüğünde source control
için örneğin test aracımızı bırakıp Visual Source Safe’i açıp check out – check in işlemleri yapıp tekrar
test aracımıza döndüğümüzde kaybettiğimiz 1-2 dakikalık zaman ilk anda bir kayıp gibi gelmeyebilir fakat
uzun vadede ne kadar fark ettiği görülecektir. Elimizdeki araçlara göz attığımızda da bu süreci en iyi
sağlayan avantajlı yazılım firmasının IBM olduğunu görüyoruz.
4- Önceden sahip olunan (elde olan) yazılım yaşam döngüsü araçlarıyla entegrasyon desteği sağlamalıdır.
Üretilen yazılımın kalitesi yazılım production ortamına çıktıktan sonra bile bir sorun olarak süregelmektedir.
Mercury bu noktada QuickTest Pro ve Test Director entegrasyonu ile bunu bir sorun olmaktan çıkarmıştır.
Rational ve Tivoli’nin entegrasyonu da yine yüksek bir potansiyele sahip ama olgunlaşmamış bir durumda.
Öneriler:
Değerlendirilen test otomasyonu yazılım araçları, farklı durumlarda ve farklı kullanım alanlarında yine farklı
kullanıcı tiplerine hitap etmektedir.
Peki, hangi aracı ne zaman kullanmalıyız:
Compuware TestPartner, orta seviye ya da teknik olmayan alt seviye kullanıcılarına hitap eden bir araç. Çeşitli
uygulamaları destekliyor.
Empirix e-Tester daha çok Web tabanlı uygulama geliştiren firmaların teknik olmayan alt seviye kullanıcılarına hitap
ediyor.
IBM Rational Functional Tester ise çok daha teknik kullanıcılara hitap ediyor ayrıca bu kullanıcıların yazılım geliştirme
ekibinden geliyor olması bile önerilebilir.
Mercury QuickTest Professional her çeşit kullanıcıya uygun bir yapıda. Belli bir merkezden yönetilen yazılım geliştirme
süreçlerinde ve çeşitli uygulamalara destek gerektiren durumlarda en iyi çözüm olarak gözüküyor.
RadView WebFT yine daha çok teknik kullancılara yönelik ve Web tabanlı uygulamalara destek veriyor.
Seapine QA Wizard teknik olmayan hatta giriş düzeyinde bilgisi olan insanlar için uygun. Tabi fazla bir bütçe ayırmak
da gerekmiyor böyle bir araç için.
Segue SilkTest karmaşık yapıdaki uygulamalar için hazırlanmış ve üst düzey teknik bilgi gerektiriyor.
Son Yorumlar