Yazılım test etmede, test otomasyonu önceden tahmin edilmiş sonuçlarla gerçek sonuçların karşılaştırılması ve testlerin koşulmasını kontrol etmek için(test edilmiş yazılımdan farklı olan) belirli yazılımın kullanılmasıdır. Test otomasyonu tekrar eden fakat çoktan test etme süreçlerinde yer almış gerekli testlerin otomatikleştirebilir veya manuel olarak koşulmasının zor olacağı testleri de içerebilir. Test otomasyonları sürekli paket dağıtımı veya sürekli test etme için kritik öneme sahiptir.
Genel bakış
Genişletilmiş düşük-seviye arayüz regresyon test etme benzeri yazılım test etme görevleri, gibi görevleri manuel olarak gerçekleştirmek zahmetli olabilir veya çok zaman alabilir. Ek olarak, manuel yaklaşım bazı kesin kusurları ortaya çıkartmada her zaman etkili olmayabilir. Test otomasyonu bu tip kusurları bulmada etkili test etme tiplerini mümkün kılar. Bir kez otomatikleşitirlmiş testler geliştirildiğinde çabucak ve tekrarlı bir şekilde çalıştırılabilir. Çoğu kez, sürdürülebilirlik sürecinin uzun olduğu yazılım ürünlerinin regresyon testlerinde maliyet etkili bir metot olabilir.Uygulamanın yaşam süreci üzerinde küçük bir ekleme bile önceden çalışmakta olan özelliklerinin bozulmasına yol açabilir. Birçok test otomasyon yaklaşımı vardır bununla birlikte aşağıdakiler geniş alanda kullanılan genel yaklaşımlardır:
- Grafiksel kullanıcı arayüzü test etme. Bu test etme yapısı fare tıklaması, klvye tuşlaması gibi kullanıcı arayüzü olaylarını üretebilir ve kullanıcı arayüzündeki değişiklikleri programın doğru davranışlar ürettiğini gerçeklemek için gözlemleyebilir.
- . Bu test etme yapısı test altındaki davranışı gerçeklemek için uygulamaya özel bir programlama arayüzü kullanır. Tipik olarak API test etme uygulamayla beraber kullanıcı arayüzünü bütünüyle ele alır. Çeşitli girdi argümanlarıyla sonucun doğruluğunu gerçeklemek için genel bir arayüz üzerinden, Sınıfları, modülleri veya kütüphaneleri test edebilir.
Test otomasyon araçları pahalı olabilir ve genellikle manuel test etme ile birlikte işletilir. Test otomasyonu uzun dönem içinde maliyet-etkin olabilir özellikle tekrar eden resgresyon testlerinde kullanıldığında maliyet etkilidir.
Test mühendisliği veya Yazılım test teminatı otomatikleştirilmiş test etmede, kişi yazılım kodlama yeteneğine sahip olmalıdır çünkü test hususları kaynak kod biçiminde yani çalıştırıldığında testin bir parçası olan (assertions) sonuçlara göre çıktı üreten biçimde yazılır.
Test hususlarını otomatik olarak üretmenin bir yolu test hususu üretimi için sistemin modelini kullanarak kullanmaktır, fakat araştırma alternatif metodolojiler üzerinde devam etmektedir. Bazı test hususlarında model tabanlı yaklaşım düz yazı İngilizcesindeki otomatikleştirilmiş iş test hususlarını oluşturmak için teknik olmayan kullanıcılara imkân tanır böylece birden fazla işletim sisteminde, tarayıcılarda ve akıllı cihazlarda test hususlarını çalıştırmak için herhangi bir programalama becerisi gerekmez. Gerçekten otomasyon ihtiyacı test etme veya geliştirme de önemli kararlar olsa bile, otomatikleştirmeyi yapacak takım Ne otomatikleştirilir, ne zaman otomatikleştirilir sorularının cevabını bilmelidir. Otomasyon için ürünün doğru özelliklerini seçmek geniş çapta otomasyonun başarısını belirler. Stabil olmayan veya sürekli değişen özelliklerin otomasyonundan kaçınılması gerekmektedir.
Birim test etme
xUnit yapısı(mesala JUnit ve NUnit) gibi yapıların yazılım geliştirmesinde büyüyen bir trend olduğunu görmekteyiz, bu yapılar çeşitli koşullar altında kodun belirli bölümlerinin beklendiği gibi çalıştığını belirlemek için birim testlerin yürütümünü gerçekleştirir. Test hususları programın beklendiği gibi çalıştığını doğrulamak için programda yürütülmesi gereken testleri içerir. Birim test etme kullanan Test otomasyonu çoğunlukla çevik yazılım geliştirmede(Test driven development olarak da bilinir.) kullanılan anahtar bir özelliktir. Birim tesleri kod yazılmadan önce fonksiyonelliği tanımlamak için yazılır. Bununla birlikte bu birim testleri geliştirilir ve kodlama evresinde iken genişletilir. Sadece tüm istenen özellikler için tüm testler geçtiğinde kod tamamlanmış olarak düşünülebilir. Bunu destekleyen fikir manuel keşif ile test edilen konudan daha az maliyetli ve daha güvenilir bir yazılım üretilmesidir. Daha güvenilir olduğu düşünüldü çünkü kod kapsamı daha iyi ve şelale yazılım geliştirme sürecindeki gibi kodlamanın sonunda bir kez çalıştırılmasından her geliştirme evresinde sürekli çalıştırılması daha iyidir. Geliştiriciler değişiklik yaptıklarında hemen kusuru keşfederler ve kusuru düzeltmek daha az maliyetlidir. Son olarak kod iyileştirme konusunda, kodu daha az veya hiç kod duplikasyonu olmadan taşınmasında daha güvenlidir fakat yeni kusurlar bulmak daha az olasıdır.
Grafiksel Kullanıcı arayüzü test etme
Çoğu test otomasyonu aracı kullanıcı aksiyonlarını etkileşimli olarak kaydetmek ve birden çok kez tekrarlamak için kullanıcılara kayıt ve yeniden oynatma özellikleri sağlar. Bu yaklaşımın avantajı çok az yazılım geliştirme gerektirir ya da hiç gerektirmez. Bu yaklaşım güvenilirlik ve sürdürülebilirlik problemlerinin birçoğunu ortaya çıkarır. Bir butonu etiketleme veya diğer bir pencereye taşıma testin kaydını gerektirebilir. Kayıt ve yeniden oynatma genellikle istem dışı aktiviteler veya doğru olmayan bazı aktivitelerinde kayıtlarını ekler.
Web sitelerini test etmek için bu tip araçlar bir alternatiftir. Burada arayüz web sayfasıdır, bununla bilrikte bu gibi yapılar HTML yi yorumladığı için tamamen farklı tekniklerden yararlanabilir ve Windows API olayları yerine DOM olaylarını dinleyebilir. Başlıksız tarayıcılar veya Selenium Web Driver tabanlı çözümler bu amaç için normal bir şekilde kullanılabilir. Bu tip test otomasyon aracının diğer bir çeşidi mobil uygulamaları test etmek için olan araçlardır. Bu tip araçlar farklı boyutlarda, çözünürlükte ve işletim sistemlerine sahip olan mobil telefonlarda çok kullanışlıdır. Bu çeşit için bir yapı(Calabash frameworkü) mobil cihazlarda aksiyonları örneklemek için ve aksiyonların sonuçlarını toplamak için kullanılabilir. Diğer bir çeşit script-less test otomasyon aracıdır ve kayıt, yeniden oynatma kullanmaz fakat Application Under Test(AUT)(Test altındaki uygulama) için bir model inşa eder ve sonra kullanıcının basitçe test parametrelerini ve koşullarını düzenleyerek test hususlarını oluşturmasını sağlar. Bu herhangi bir script becerisi gerektirmez fakat script yaklaşımının tüm esnekliğine ve gücüne sahiptir. Test hususu sürdürülebilirliği kolaydır çünkü hiçbir kod sürdürülebilirliği ve yazılım nesnesinin değişitirilmesi gerekliliği yoktur ve değiştirildiğinde kolayca öğrenilebilir ve eklenilebilir. Herhangi bir GUI tabanlı yazılım uygulamasına uygulanabilir. Problem AUT(Test altındaki uygulama) değiştiğinde sürekli olarak onarılması gereken test scriptin kullanılarak AUT gerçekleştiriminin yapılmasıdır.
API driven(sürdürümlü) test etme
API test etme GUI tabanlı otomasyon test etmenin oluşturulması ve sürdürülebilirliğinin zorluğu yüzünden yazılım tester ları tarafından kullanılır. Fonksiyonellik, performans ve güvenlik için beklenilenin karşılanıp karşılanmadığını belirlemek için entegrasyon test etmenin bir bölümünde doğrudan APIlerin test edilmesini içerir. API ler GUI ye sahip olmadığından, API test etme mesaj katmanında işletilir. API test etme API hizmetleri uygulamanın mantıksal katmanına temel arayüz olduğundan kritik olarak göz önüne alınır. Çünkü GUI testlerinin yazılım paketlerinin hızlı teslimi ve sürekli değişen çevik yazılım geliştirme konularında sürdürülebilirliği zor olmaktadır.
Sürekli test etme
Yazılım dağıtım sürümüne ilişkin iş riskleri üzerinde anlık geri bildirim sağlamak için yazılım dağıtım iş hattının bir parçası olarak otomatikleşitirilmiş testlerin yürütüm sürecidir. Sürekli test etme için aşağıdan yukarıya gereksinimlerin gerçeklenmesinden veya kullanıcı hikâyelerinin iş hedeflerine ulaşmasıyla ilişkili sistem gereksinimlerinin değerlendirilmesine kadar geniş bir alanda değerlendirilebilir.
Neyi test edelim
Test etme araçları ürün kurulumu, test veri oluşturmasını, GUI etkileşimini, problem tespit etme gibi A dan Z ye tüm testlerin otomatikleştirilmesini gerektirmeyen durumlarda bile otomatikleştirmeye yardımcı olabilir.
Test otomasyon dğünüldüğünde aşağıdaki popüler gereksinimlerin yerine getirilmesi gerekir:
- Platform ve işletim sistemi bağımsızlığı
- Veri sürdürülebilirlik yeteneği(girdi verisi, çıktı verisi, Metadata)
- İyileştirilebilir raporlama(DB Access very tabanı, Cyristal Reports)
- Kolay debug ve loglama.
- Kullanıcı dostu versiyon kontrolü- minimal binary dosyalar.
- Genişletilebilir ve uyarlanabilir (Diğer araçlarla entegre olabilen açık kaynak API ler.)
- Ortak sürücü(mesala java geliştirme ekosistemi, ANT veya Maven ve popular geliştirme ortamları.) Bu testlerin geliştirici iş akışlarıyla entegre edilmesini mümkün kılar.
Otomasyonda yapı(framework) yaklaşımı
Test otomasyon yapısı belirli bir ürünün otomasyon kurallarını ayarlayan entegre edilmiş bir sistemdir. Bu sistem fonksiyon kütüphanelerini, test veri kaynaklarını, nesne ayrıntılarını ve çeşitli yeniden kullanılabilir modülleri entegre eder. Bu bileşenler iş süreçlerini temsil etmek için birleştirilmeye ihtiyaç duyan küçük bina blokları gibi davranır. Bu yapı otomasyon için sarf edilen gücü basitleştirir ve test otomasyonuna bir taban sağlar. Otomatik yazılım test etmeye destek sağlayan varsayım, kavramlar ve araçların yapısal(framework) avantajı, sürdürülebilirliğinin düşük maliyetli olmasıdır. Eğer herhangi bir test hususunda değişiklik varsa o zaman sadece test hususu dosyası güncellenmeye ihtiyaç duyar ve sürdüren script ile başlangıç scripti aynı kalır. İdeal olarak uygulamanın değişmesi durumunda scriptin güncellenmeye ihtiyaç duymaması gerekmektedir. Doğru bir yapı(framework)/scripting tekniği seçmek düşük maliyetli sürdürülebilirlikte çok yardımcı olur. Test script yazmaya ilişkin maliyetler, geliştirme ve sürdürülebilirlik için harcanan eforla ilişkilidir. Test otomasyon boyunca kullanılan script yazma yaklaşımları maliyet etkilidir.
Genel olarak kullanılan çeşitli yapı(framework)/script yazma teknikleri:
- Liner(yapısal kod, genellikle kayıt ve yeniden oynatma benzeri araçlar tarafından ütretilir.)
- Yapısal(control yapılarını kullanır-tipik olarak if-else, switch, for, while şart ifadeleri)
- Data-driven (very veritabanı, word excel türü dosyalar içinde testlerin dışında tutulur.)
- Anahtar sözcük sürdürülen.
- Hibrit(2 veya daha fazla örüntünün kullanıldığı.)
- Çevik otomasyon yapısı(framework)
Test etme yapısı(framework) şunlar için sorumludur:
- Beklentileri ifade etmek için kullanılacak formatı tanımlamak.
- Test altındaki uygulamanın sürdürülmesi veya uygulamanın testi için mekanizma oluşturmak.
- Testlerin koşulması
- Sonuçların raporlanması.
Test otomasyon arayüzü
Test otomasyon arayüzü birden çok test etme araçlarının ve test altındaki uygulamanın Sistem/entegrasyon testi için sağlanan yapının(framework) birlikte çalışabilirliği için tek bir çalışma arayüzü sağlayan platformlardır. Test otomasyon arayüzünün hedefi sürecin işlenmesinde kodlamaya geçmeden iş kriterine testleri eşleyebilmek için basitleştirme sağlamaktır. Test otomasyon arayüzünden test scriptlerinin sürdürülebilirliğinin esnekliğini ve verimliliğini geliştirmesi beklenir.
Test otomasyon arayüzü aşağıdaki ana modülleri içerir:
- Arayüz motoru
- Arayüz ortamı
- Nesne havuzu
Arayüz motoru
Arayüz motorları Arayüz ortamının tepesine inşa edilir. Arayüz motoru bir ayrıştırıcı ve test koşucusu içerir. Ayrıştırıcı belirli script dili içerisindeki nesne havuzundan gelen nesne dosyalarını ayrıştırır. Test koşucusu test koşum takımı kullanarak test scriptlerini çalıştırır.
Nesne havuzu
Nesne havuzları test altındaki uygulamayı keşfeden test etme aracı tarafından tutulan UI/Uygulama nesne verisinin koleksiyonudur
Otomasyon yapısı(framework) ve test etme aracı arasındaki sınırların tanımlanması
windows ve web otomasyon araçları gibi araçlar özel olarak belirli test ortamlarında çalışmak için tasarlanırlar. Araçlar bir otomasyon süreci için sürücü gibi hizmet ederler. Bununla birlikte bir otomasyon yapısı(framework) belirli bir görevi gerçekleştirmek için değildirler fakat onun yerine belirlenmiş davranışta görev alabilen farklı araçlara çözümler sağlayan bir alt yapıdır. Bu otomasyon mühendisi için ortak bir platform sağlar. Çeşitli yapı(framework) tipleri vardır. Bu yapılar çalıştıkları otomasyon bileşenlerine göre sınıflandırılırlar.: 1-Veri sürdürümlü test etme 2-Modüler sürdürümlü test etme 3-Anahtar sözcük sürdürümlü test etme 4-Hibrit test etme 5-Model tabanlı test etme 6-Kod sürdürümlü test etme 7-Davranış sürdürümlü test etme.
Kaynakça
Dış bağlantılar
- Çanakkale OnSekiz Mart Üniversitesi Bilgisayar Mühendisliği22 Ekim 2013 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Yazilim test etmede test otomasyonu onceden tahmin edilmis sonuclarla gercek sonuclarin karsilastirilmasi ve testlerin kosulmasini kontrol etmek icin test edilmis yazilimdan farkli olan belirli yazilimin kullanilmasidir Test otomasyonu tekrar eden fakat coktan test etme sureclerinde yer almis gerekli testlerin otomatiklestirebilir veya manuel olarak kosulmasinin zor olacagi testleri de icerebilir Test otomasyonlari surekli paket dagitimi veya surekli test etme icin kritik oneme sahiptir Genel bakisGenisletilmis dusuk seviye arayuz regresyon test etme benzeri yazilim test etme gorevleri gibi gorevleri manuel olarak gerceklestirmek zahmetli olabilir veya cok zaman alabilir Ek olarak manuel yaklasim bazi kesin kusurlari ortaya cikartmada her zaman etkili olmayabilir Test otomasyonu bu tip kusurlari bulmada etkili test etme tiplerini mumkun kilar Bir kez otomatiklesitirlmis testler gelistirildiginde cabucak ve tekrarli bir sekilde calistirilabilir Cogu kez surdurulebilirlik surecinin uzun oldugu yazilim urunlerinin regresyon testlerinde maliyet etkili bir metot olabilir Uygulamanin yasam sureci uzerinde kucuk bir ekleme bile onceden calismakta olan ozelliklerinin bozulmasina yol acabilir Bircok test otomasyon yaklasimi vardir bununla birlikte asagidakiler genis alanda kullanilan genel yaklasimlardir Grafiksel kullanici arayuzu test etme Bu test etme yapisi fare tiklamasi klvye tuslamasi gibi kullanici arayuzu olaylarini uretebilir ve kullanici arayuzundeki degisiklikleri programin dogru davranislar urettigini gerceklemek icin gozlemleyebilir Bu test etme yapisi test altindaki davranisi gerceklemek icin uygulamaya ozel bir programlama arayuzu kullanir Tipik olarak API test etme uygulamayla beraber kullanici arayuzunu butunuyle ele alir Cesitli girdi argumanlariyla sonucun dogrulugunu gerceklemek icin genel bir arayuz uzerinden Siniflari modulleri veya kutuphaneleri test edebilir Test otomasyon araclari pahali olabilir ve genellikle manuel test etme ile birlikte isletilir Test otomasyonu uzun donem icinde maliyet etkin olabilir ozellikle tekrar eden resgresyon testlerinde kullanildiginda maliyet etkilidir Test muhendisligi veya Yazilim test teminati otomatiklestirilmis test etmede kisi yazilim kodlama yetenegine sahip olmalidir cunku test hususlari kaynak kod biciminde yani calistirildiginda testin bir parcasi olan assertions sonuclara gore cikti ureten bicimde yazilir Test hususlarini otomatik olarak uretmenin bir yolu test hususu uretimi icin sistemin modelini kullanarak kullanmaktir fakat arastirma alternatif metodolojiler uzerinde devam etmektedir Bazi test hususlarinda model tabanli yaklasim duz yazi Ingilizcesindeki otomatiklestirilmis is test hususlarini olusturmak icin teknik olmayan kullanicilara imkan tanir boylece birden fazla isletim sisteminde tarayicilarda ve akilli cihazlarda test hususlarini calistirmak icin herhangi bir programalama becerisi gerekmez Gercekten otomasyon ihtiyaci test etme veya gelistirme de onemli kararlar olsa bile otomatiklestirmeyi yapacak takim Ne otomatiklestirilir ne zaman otomatiklestirilir sorularinin cevabini bilmelidir Otomasyon icin urunun dogru ozelliklerini secmek genis capta otomasyonun basarisini belirler Stabil olmayan veya surekli degisen ozelliklerin otomasyonundan kacinilmasi gerekmektedir Birim test etmexUnit yapisi mesala JUnit ve NUnit gibi yapilarin yazilim gelistirmesinde buyuyen bir trend oldugunu gormekteyiz bu yapilar cesitli kosullar altinda kodun belirli bolumlerinin beklendigi gibi calistigini belirlemek icin birim testlerin yurutumunu gerceklestirir Test hususlari programin beklendigi gibi calistigini dogrulamak icin programda yurutulmesi gereken testleri icerir Birim test etme kullanan Test otomasyonu cogunlukla cevik yazilim gelistirmede Test driven development olarak da bilinir kullanilan anahtar bir ozelliktir Birim tesleri kod yazilmadan once fonksiyonelligi tanimlamak icin yazilir Bununla birlikte bu birim testleri gelistirilir ve kodlama evresinde iken genisletilir Sadece tum istenen ozellikler icin tum testler gectiginde kod tamamlanmis olarak dusunulebilir Bunu destekleyen fikir manuel kesif ile test edilen konudan daha az maliyetli ve daha guvenilir bir yazilim uretilmesidir Daha guvenilir oldugu dusunuldu cunku kod kapsami daha iyi ve selale yazilim gelistirme surecindeki gibi kodlamanin sonunda bir kez calistirilmasindan her gelistirme evresinde surekli calistirilmasi daha iyidir Gelistiriciler degisiklik yaptiklarinda hemen kusuru kesfederler ve kusuru duzeltmek daha az maliyetlidir Son olarak kod iyilestirme konusunda kodu daha az veya hic kod duplikasyonu olmadan tasinmasinda daha guvenlidir fakat yeni kusurlar bulmak daha az olasidir Grafiksel Kullanici arayuzu test etmeCogu test otomasyonu araci kullanici aksiyonlarini etkilesimli olarak kaydetmek ve birden cok kez tekrarlamak icin kullanicilara kayit ve yeniden oynatma ozellikleri saglar Bu yaklasimin avantaji cok az yazilim gelistirme gerektirir ya da hic gerektirmez Bu yaklasim guvenilirlik ve surdurulebilirlik problemlerinin bircogunu ortaya cikarir Bir butonu etiketleme veya diger bir pencereye tasima testin kaydini gerektirebilir Kayit ve yeniden oynatma genellikle istem disi aktiviteler veya dogru olmayan bazi aktivitelerinde kayitlarini ekler Web sitelerini test etmek icin bu tip araclar bir alternatiftir Burada arayuz web sayfasidir bununla bilrikte bu gibi yapilar HTML yi yorumladigi icin tamamen farkli tekniklerden yararlanabilir ve Windows API olaylari yerine DOM olaylarini dinleyebilir Basliksiz tarayicilar veya Selenium Web Driver tabanli cozumler bu amac icin normal bir sekilde kullanilabilir Bu tip test otomasyon aracinin diger bir cesidi mobil uygulamalari test etmek icin olan araclardir Bu tip araclar farkli boyutlarda cozunurlukte ve isletim sistemlerine sahip olan mobil telefonlarda cok kullanislidir Bu cesit icin bir yapi Calabash frameworku mobil cihazlarda aksiyonlari orneklemek icin ve aksiyonlarin sonuclarini toplamak icin kullanilabilir Diger bir cesit script less test otomasyon aracidir ve kayit yeniden oynatma kullanmaz fakat Application Under Test AUT Test altindaki uygulama icin bir model insa eder ve sonra kullanicinin basitce test parametrelerini ve kosullarini duzenleyerek test hususlarini olusturmasini saglar Bu herhangi bir script becerisi gerektirmez fakat script yaklasiminin tum esnekligine ve gucune sahiptir Test hususu surdurulebilirligi kolaydir cunku hicbir kod surdurulebilirligi ve yazilim nesnesinin degisitirilmesi gerekliligi yoktur ve degistirildiginde kolayca ogrenilebilir ve eklenilebilir Herhangi bir GUI tabanli yazilim uygulamasina uygulanabilir Problem AUT Test altindaki uygulama degistiginde surekli olarak onarilmasi gereken test scriptin kullanilarak AUT gerceklestiriminin yapilmasidir API driven surdurumlu test etmeAPI test etme GUI tabanli otomasyon test etmenin olusturulmasi ve surdurulebilirliginin zorlugu yuzunden yazilim tester lari tarafindan kullanilir Fonksiyonellik performans ve guvenlik icin beklenilenin karsilanip karsilanmadigini belirlemek icin entegrasyon test etmenin bir bolumunde dogrudan APIlerin test edilmesini icerir API ler GUI ye sahip olmadigindan API test etme mesaj katmaninda isletilir API test etme API hizmetleri uygulamanin mantiksal katmanina temel arayuz oldugundan kritik olarak goz onune alinir Cunku GUI testlerinin yazilim paketlerinin hizli teslimi ve surekli degisen cevik yazilim gelistirme konularinda surdurulebilirligi zor olmaktadir Surekli test etmeYazilim dagitim surumune iliskin is riskleri uzerinde anlik geri bildirim saglamak icin yazilim dagitim is hattinin bir parcasi olarak otomatiklesitirilmis testlerin yurutum surecidir Surekli test etme icin asagidan yukariya gereksinimlerin gerceklenmesinden veya kullanici hikayelerinin is hedeflerine ulasmasiyla iliskili sistem gereksinimlerinin degerlendirilmesine kadar genis bir alanda degerlendirilebilir Neyi test edelimTest etme araclari urun kurulumu test veri olusturmasini GUI etkilesimini problem tespit etme gibi A dan Z ye tum testlerin otomatiklestirilmesini gerektirmeyen durumlarda bile otomatiklestirmeye yardimci olabilir Test otomasyon dgunuldugunde asagidaki populer gereksinimlerin yerine getirilmesi gerekir Platform ve isletim sistemi bagimsizligi Veri surdurulebilirlik yetenegi girdi verisi cikti verisi Metadata Iyilestirilebilir raporlama DB Access very tabani Cyristal Reports Kolay debug ve loglama Kullanici dostu versiyon kontrolu minimal binary dosyalar Genisletilebilir ve uyarlanabilir Diger araclarla entegre olabilen acik kaynak API ler Ortak surucu mesala java gelistirme ekosistemi ANT veya Maven ve popular gelistirme ortamlari Bu testlerin gelistirici is akislariyla entegre edilmesini mumkun kilar Otomasyonda yapi framework yaklasimiTest otomasyon yapisi belirli bir urunun otomasyon kurallarini ayarlayan entegre edilmis bir sistemdir Bu sistem fonksiyon kutuphanelerini test veri kaynaklarini nesne ayrintilarini ve cesitli yeniden kullanilabilir modulleri entegre eder Bu bilesenler is sureclerini temsil etmek icin birlestirilmeye ihtiyac duyan kucuk bina bloklari gibi davranir Bu yapi otomasyon icin sarf edilen gucu basitlestirir ve test otomasyonuna bir taban saglar Otomatik yazilim test etmeye destek saglayan varsayim kavramlar ve araclarin yapisal framework avantaji surdurulebilirliginin dusuk maliyetli olmasidir Eger herhangi bir test hususunda degisiklik varsa o zaman sadece test hususu dosyasi guncellenmeye ihtiyac duyar ve surduren script ile baslangic scripti ayni kalir Ideal olarak uygulamanin degismesi durumunda scriptin guncellenmeye ihtiyac duymamasi gerekmektedir Dogru bir yapi framework scripting teknigi secmek dusuk maliyetli surdurulebilirlikte cok yardimci olur Test script yazmaya iliskin maliyetler gelistirme ve surdurulebilirlik icin harcanan eforla iliskilidir Test otomasyon boyunca kullanilan script yazma yaklasimlari maliyet etkilidir Genel olarak kullanilan cesitli yapi framework script yazma teknikleri Liner yapisal kod genellikle kayit ve yeniden oynatma benzeri araclar tarafindan utretilir Yapisal control yapilarini kullanir tipik olarak if else switch for while sart ifadeleri Data driven very veritabani word excel turu dosyalar icinde testlerin disinda tutulur Anahtar sozcuk surdurulen Hibrit 2 veya daha fazla oruntunun kullanildigi Cevik otomasyon yapisi framework Test etme yapisi framework sunlar icin sorumludur Beklentileri ifade etmek icin kullanilacak formati tanimlamak Test altindaki uygulamanin surdurulmesi veya uygulamanin testi icin mekanizma olusturmak Testlerin kosulmasi Sonuclarin raporlanmasi Test otomasyon arayuzu Test otomasyon arayuzu birden cok test etme araclarinin ve test altindaki uygulamanin Sistem entegrasyon testi icin saglanan yapinin framework birlikte calisabilirligi icin tek bir calisma arayuzu saglayan platformlardir Test otomasyon arayuzunun hedefi surecin islenmesinde kodlamaya gecmeden is kriterine testleri esleyebilmek icin basitlestirme saglamaktir Test otomasyon arayuzunden test scriptlerinin surdurulebilirliginin esnekligini ve verimliligini gelistirmesi beklenir Test Automation Interface Model Test otomasyon arayuzu asagidaki ana modulleri icerir Arayuz motoru Arayuz ortami Nesne havuzuArayuz motoru Arayuz motorlari Arayuz ortaminin tepesine insa edilir Arayuz motoru bir ayristirici ve test kosucusu icerir Ayristirici belirli script dili icerisindeki nesne havuzundan gelen nesne dosyalarini ayristirir Test kosucusu test kosum takimi kullanarak test scriptlerini calistirir Nesne havuzu Nesne havuzlari test altindaki uygulamayi kesfeden test etme araci tarafindan tutulan UI Uygulama nesne verisinin koleksiyonudurOtomasyon yapisi framework ve test etme araci arasindaki sinirlarin tanimlanmasiwindows ve web otomasyon araclari gibi araclar ozel olarak belirli test ortamlarinda calismak icin tasarlanirlar Araclar bir otomasyon sureci icin surucu gibi hizmet ederler Bununla birlikte bir otomasyon yapisi framework belirli bir gorevi gerceklestirmek icin degildirler fakat onun yerine belirlenmis davranista gorev alabilen farkli araclara cozumler saglayan bir alt yapidir Bu otomasyon muhendisi icin ortak bir platform saglar Cesitli yapi framework tipleri vardir Bu yapilar calistiklari otomasyon bilesenlerine gore siniflandirilirlar 1 Veri surdurumlu test etme 2 Moduler surdurumlu test etme 3 Anahtar sozcuk surdurumlu test etme 4 Hibrit test etme 5 Model tabanli test etme 6 Kod surdurumlu test etme 7 Davranis surdurumlu test etme KaynakcaDis baglantilarCanakkale OnSekiz Mart Universitesi Bilgisayar Muhendisligi22 Ekim 2013 tarihinde Wayback Machine sitesinde