Menü Kapat

Yazılım Test Araçları ve Bazılarının Karşılaştırılması

Çalışmada bazı test araçları karşılaştırılmış ve karşılaştırılan test yazılımlarının hepsinin farklı işlerde iyi olduğu gözlemlenmiştir. Örneğin Ranorex grafiksel arayüz testlerinde iyiken, Selenium web tabanlı uygulamalarda oldukça iyidir. Piyasadaki ücretsiz ve açık kaynak kodlu araçlardan Selenium’un en çok kullanılan ücretsiz araç olduğu ve amacına yönelik testlerde bekleneni verdiği gözlemlenmiştir. Yüksek maliyetler söz konusu olmasına rağmen fonksiyonel testlerde IBM RFT aracının yüksek fiyatına rağmen kurumsal firmalarca tercih edilebilir olduğu gözlemlenmiştir. Bu çalışma teorik olarak kaynak tarama yöntemiyle yapıldığından bir de pratiğe dökerek bu araçların çeşitli parametrelerle test edilmesi ya da kullanan test mühendislerinden fikir alınarak seçilmesi önerilir. Sonuç olarak her test aracının belli alanlarda daha iyi olduğu gözlemlenmiştir.

 

  • GİRİŞ

Günümüzde çok çeşitli ve farklı maksatlarla kullanılan yazılım test araçları vardır. Yazılım test araçlarının hangisini kullanacağımıza karar verirken bazı kriterlere göre seçim yaparız. Bu araştırma ödevinde de yazılım testinin amaçlarına değinilmiş, sağladığı avantajlardan kısaca bahsedilerek piyasada etkin olarak kullanılan bazı test araçları belirli kriterlere göre incelenmiştir.

  • TEST ARAÇLARI

Test otomasyonunu yürütmek için kullanılan bazı araçlar vardır. Günümüzde etkin olarak kullanılan birçok test otomasyon aracı bulunmaktadır. Bunların açık kaynak kodlu ücretsiz sürümleri olduğu gibi kurumsal düzeyde olanları da vardır. Bu araçlardan bazılarını açık kaynak kodlu ve kurumsal olarak ikiye ayırarak sıralayacak olursak [1]:

 

    • Açık Kaynak Kodlu Araçlar

 

a) Test Yönetim Araçları

b) Fonksiyonel Test araçları

  • Selenium

  • Soapui

  • Watir

  • HTTP::Recorder

  • WatiN

  • Canoo WebTest

  • Webcorder

  • Solex

  • Imprimatur

  • SAMIE

  • Swete

  • ITP

  • WET

  • WebInject

c) Yükleme Testi Araçları

  • Jmeter

  • FunkLoad

    • Kurumsal Araçlar

 

a) Test Yönetim Araçları

  • HP Quality Center/ALM

  • QA Complete

  • T-Plan Professional

  • Automated Test Designer (ATD)

  • Testuff

  • SMARTS

  • QAS. TCS (Test Case Studio)

  • PractiTest

  • Test Manager Adaptors

  • SpiraTest

  • TestLog

  • ApTest Manager

  • DevTest

b) Fonksiyonel Test Araçları

  • QuickTest Pro

  • Rational Robot

  • Sahi

  • SoapTest

  • Badboy

  • Test Complete

  • QA Wizard

  • Netvantage Functional Tester

  • PesterCat

  • AppsWatch

  • Squish

  • actiWATE

  • liSA

  • vTest

  • Internet Macros

  • Ranorex

c) Yükleme Testi araçları

  • WebLOAD Professional

  • HP LoadRunner

  • LoadStorm

  • NeoLoad

  • Loadtracer

  • Forecast

  • ANTS – Advanced. NET Testing System

  • vPerformer

  • Webserver Stress Tool

  • preVue-ASCII

  • Load Impact

  • YAZILIM TEST ARAÇLARININ KARŞILAŞTIRILMASI

Bu çalışmada fonksiyonel test araçlarından HP Quick Test Professional, Selenium, Ranorex ​​ ve IBM Rational Functional Tester karşılaştırılmıştır. Sırayla bu araçları tanıyalım.

    • HP Quick Test Professional

Hewlett Packard (HP) firması tarafından geliştirilen bir test aracıdır. Bu test aracılığıyla bir kere yazılan betik aracılığıyla bir otomatik fonksiyonel test izleme olmaksızın kusursuz olarak test edilebilir. HP QTP uygulama otomasyonu için VBScript dilini kullanır. Bu dil Windows işletim sistemi ailesinde özellikle kuruluma ihtiyaç duymaz zaten işletim sisteminin bir parçasıdır. QTP fonksiyonel ve regresyon testleri için iyi bir çözümdür. Windows uygulamalarını yanı sıra Java applet ve uygulamaları, uygulamalardaki multimedya nesneleri test etmemize olanak sağlar. Uygulamanın kullanıcı arayüzündeki nesne veya bir web sayfası üzerinde gerçekleştirilen aksiyonları (örneğin Mouse ile tıklama veya klavye aktiviteleri) tanımlayarak bunların isim ya da bir id numaralarını yakalar ve bu şekilde oradaki hareketleri daha sonradan test sırasında manipüle edebilir. Genellikle UI yani kullanıcı arayüzü tabanlı testlerde kullanılır ancak bazı arayüzü olmayan dosya işlemleri ve veri tabanı testi gibi işlemlerde de kullanılabilir [2].

Şekil 2. HP Quick Test Pro test konsepti [4]

Avantajları:

  • VBScript ile çalışmasından dolayı çok iyi düzeyde kod yazma becerisi gerektirmez. Nesne yönelimli diğer dillerle karşılaştırıldığında oldukça kolaydır.

  • Menüler arasında gezinme, sonuç doğrulama ve rapor oluşturma kolaydır.

  • HP-Quality Center test yönetim aracıyla entegre olduğundan zamanlama ve izleme kolaydır.

  • Mobil uygulama testlerinde de kullanılabilir.

  • Teknik destek konusunda arkasında kurumsal düzeyde destek verebilecek bir ekip vardır.

Dezavantajları:

  • Sadece Windows üzerinde çalışır.

  • Tüm web tarayıcı sürümleriyle çalışmaz. Her sürümde yama yayınlanması beklenir.

  • Lisans ücretleri çok yüksektir.

  • Kod yazma süresi kısa olmasına rağmen, CPU & RAM üzerine yüklenip çalışma zamanı buna nazaran uzundur.

 

    • Selenium

Selenium ücretsiz ve açık kaynak kodlu bir test aracıdır. Selenium web sitesinden kolaylıkla indirilebilir. Öncelikli kullanım amacı web uygulamalarını test etmektir. Destek konusunda kendi forumu vardır, ayrıca bir teknik destek ekibi bulunmamaktadır. Java, Python, PHP, C#, Ruby ve JavaScript gibi bir çok dili destekler. Çevik metodolojisi için çok uygundur. Bir uygulamayı test ederken kaydedilen kullanıcı aksiyonları dışarı aktarılarak daha sonra da kullanılabilir [3].

Şekil 3. Selenium test konsepti [4]

Avantajları:

  • Bir çok programlama dilini destekler (Java, Python, PHP, C#, Ruby vs.)

  • Tüm web tarayıcılar üzerinde çalışır (IE, Safari, Chrome, Firefox vs.)

  • Açık ya da sorunları Jenkins aracılığıyla JIRA (bug management tool) üzerine aktarmanızı sağlar.

  • Ücretsizdir.

  • Açık kaynak kodlu diğer uygulamalar entegre şekilde çalışabilir. Örneğin paralel testler için API sağlayan Grid.

 

 

Dezavantajları:

  • Teknik destek sadece Community ile sınırlıdır.

  • Yeni sürüm ve geliştirme rutini yoktur. Diğer kurumsal yazılımlardaki gibi bir gelişim rutinine sahip değildir.

  • Sadece web uygulamaları test ederken kullanılır.

 

    • Ranorex

 

Düşük maliyetli ve kapsamlı bir test aracıdır. Alışılagelmiş test araçlarına iyi bir alternatiftir çünkü kullanıcı perspektifinde, standart programlama tekniklerini ve C#, VB.net gibi yaygın dilleri kullanır. Betik dili öğrenmek zorunlu değildir saf .NET kodları ile kullanılır. C#, VB.net ve Iron Python dillerinden birini kullanabilirsiniz. Dünya çapında yüzlerce kullanıcısı vardır. Ranorex XPath tabanlıdır böylelikle web tabanlı uygulamalarda nesnelerin yerini bulma oranı yüksektir. Ranorex eklentileriyle çeşitli teknolojiler daha sonradan da entegre edilebilir. Görsel tabanlı tanıma yapar.

Şekil 4. Ranorex test konsepti [4]

Avantajları:

  • Tüm ortamlarda ve tüm tarayıcılarda çalışır

  • Sürükle bırak test otomasyonu

  • Çoklu programlama dili desteği

  • Çalıştırması kolaydır

  • Düşük maliyetlidir

Dezavantajları:

  • Bazı durumlarda nesne tanımanın zaman alması

  • Teknik destek konusunda bazı sıkıntılar mevcut

  • Aynı anda birden çok test gerçekleştiremez

  • Veri tabanı testi yoktur

 

    • IBM Rational Functional Tester

IBM Rational Functional Tester nesne yönelimli fonksiyonel test otomasyon yazılımıdır. Aynı zamanda yaşam döngüsü IBM Rational Software yazılım yaşam döngüsü araçlarının bir parçasıdır. Herhangi bir graiksel arayüze sahip değildir. RFT Java kullanıcıları için Eclipse’de veya NET geliştiricileri için Visual Studio’da kullanılabilir. Test bir kere kaydedildiğinde hem Java hem de VB.NET için kullanılabilir. [5]

 

Şekil 5. IBM Rational Functional Tester test konsepti [4]

 

Avantajları:

  • Verimliliği yüksektir.

  • Kodları optimize etmenize yardımcı olur.

  • Testçinin herhangi bir spesifik programlama dili bilmesine gerek yoktur.

  • Kodlardaki fazla satırların silinmesinde yardımcı olur.

Dezavantajları:

  • Deneyimli testçi gerektirir.

  • Gizli hataları bulmak için kodlardaki tüm bitlere bakamaz.

  • Dizayn etmesi zordur.

  • Girişler çok zaman alır.

Karşılaştırma

Şimdi kısaca incelediğimiz bu test araçlarını bir tablo üzerinde karşılaştıralım.

 

Tablo 1. Test araçlarının karşılaştırılması

Özellik

HP QTP

Selenium

Ranorex

IBM RFT

Desteklediği Diller

VBScript

Java, .Net, Perl, PHP, Python ve Ruby

C#, VB.net ve Iron Python

Java ve VB.NET

Ortam Desteği

Windows

Unix, Linux, OS X, Windows

Windows

Windows, Unix (Kısmen)

Kodlama Deneyimi Gereksinimi

Düşük

Yüksek

Düşük

Düşük

Performans

Yüksek

Yüksek

Orta

İyi

Ürün Desteği

İyi

Orta (Sadece topluluk desteği)

Orta

İyi

Fiyat

Yüksek
(~8000-12000 USD)

Ücretsiz

Düşük
(~2200-3500 USD)

Orta
(Fiyat bulunamadı fakat HP QTP’den pahalı olmasından [11] yola çıkılarak kıyas yapıldı)

Kaynak Gereksinimi

Yüksek

Düşük

Düşük

Yüksek

Raporlama

Var

Var (Yardımcı araçlarla)

Var

Var

Özelleştirilebilirlik

Orta

Yüksek (Eklenti desteği)

Düşük

Orta

Kullanılabilirlik

Yüksek

Yüksek

Orta

Orta

Veri Tabanı Testi

Var

Yok

Yok

Yok

Aynı Anda Çoklu Test

Yok

Var

Yok

Yok

Test Sonucu Analizi

Var

Yok

Var

Yok

Zamanlamalı Test

Yok

Yok

Yok

Yok

Web Tabanlı Uygulama Testi

Var

Var

Var

Var

Masaüstü Yazılım Testi

Var

Yok

Var

Var

Servis Testi

Var

Yok

Yok

Yok

Mobil Uygulama Testi

Var

Var

Var

Var

Anlık Ekran Görüntüsü Alabilme

Var

Yok

Var

Yok

Test Logları

Var

Var

Var

Var

Test Kaydetme ve Tekrar Etme

Var

Var

Var

Var

Eklenti Desteği

Var

Var

Yok

Var

Kontrol Noktası

Var

Var

Var

Var

Object Mapping

Var

Var

Var

Var

 

 

  • SONUÇ

Yapılan inceleme sonucunda bu dört aracın da belli alanlarda birbirlerine üstünlük kurdukları gözlemlenmiştir. Bu araştırmada karşılaştırılan kriterler göz önüne alındığında ve internet üzerinde bulunan bazı incelemeler okunduğunda HP Quick Test Professional ürünün bir adım önde çıktığını gözlemleyebiliriz. 143.111 üyesi olan IT Central Station’ın internet sitesinde yer alan inceleme, karşılaştırma ve puanlamalara göre yapılan sıralamada da HP QTP 5., IBM RFT 7. Sırada yer almaktadır [12]. Ranorex ve Selenium da ciddi kullanımı olan ürünlerdir ancak bu dört yazılım test aracı içerisinde HP QTP ve IBM RFT öne çıkmaktadır. Maliyet açısından HP QTP sadece bu dört yazılım içerisinde değil genel olarak tüm test araçları içerisinde en yüksek maliyete sahip araçlardan biridir. Ancak buna karşın test işlemlerinin kolay olması, yazılım uzmanlığı gereksiniminin düşük olması ve eğitim maliyetlerinin diğer araçlara göre düşük olmasından dolayı görünmez maliyet çıkarma olasılığı düşük olduğu için tercih edilmektedir. Selenium aracı her ne kadar ücretsiz olsa da karmaşık olması ve yüksek seviyede yazılım bilgisi gerektirdiğinden 5-10 yıllık periyotlarda daha maliyetli olabilmektedir [13]. Bunun sebebi de yüksek yazılım becerisine sahip test elemanlarının maaşlarının daha yüksek olmasından ileri gelmektedir. Tüm bunlardan yola çıkarsak test aracı seçimi ağırlıklı olarak yapılan yazılım testi türüne ya da yazılım türüne göre belirlenmelidir.

 

REFERANSLAR

 

 

Posted in Bilişim, Genel

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir