1 Mobil Test Otomasyon Araçları Bilgilendirme Test Ekibi Şubat 2017
2 Kapsam Mobil Test Otomasyon Aracı Seçimi Yapılırken Kriterler Neler 01 Olmalı? Hangi Mobil Test Otomasyon Araçlarını Kullanabiliriz? 02 En İyi 3 Test Otomasyon Araçları Hangileridir? 03 Hangi Test Otomasyon Aracını Seçelim? 04
3 Mobil Test Otomasyon Araçları XCTESTUI
4 Mobil Test Otomasyon Seçim Kriterleri Mobil Test Otomasyon Aracı Seçerken Dikkat Edilmesi Gereken Nokt Kodlama ve çalıştırma kolaylığı Community desteği Emulator ve simulator desteği IDE ler için entegre olup olmaması Takımlar arası işbirliği (Uygulama dili / tool kullanımı) Otomasyon yapacak kişinin kodlama bilgisi
5 Kimler Mobile Test Yapıyor? Araştırma Sonuçları
6 Mobil Test Otomasyon Araçları Mobil Test Otomasyon Araçlarının Kısa Tanımları Appium: Mobile native, hybrid ve web uygulamalar için open source test otomasyon framework Selenium: Web uygulama test otomasyonu için open source test framework Calabash: Ruby geliştirme dili tabanlı Behavior-driven development (BDD) test framework MonkeyTalk: ios ve Android uygulamalar üzerinde çalışabilen open source test framework Espresso: Android Studio da Google ın open source test otomasyon framework XCTestUI: XCode IDE de Apple'ın open source test otomasyon framework
7 Araştırma Sonuçları Hangi Mobile Platformda Daha Çok Test Yapılıyor?
8 Araştırma Sonuçları Mobile Testleri Yaparken Hangi Yöntemi Kullanmalıyız?
9 Araştırma Sonuçları Mobile Testleri Nasıl Önceliklendirelim?
10 Araştırma Sonuçları Mobile Test Performans Kriterleri Nelerdir?
11 Mobil Test Otomasyon Araçları Mobile Test Aracı Appium Hybrid ve native mobil uygulamaların test otomasyonu için kullanılabilecek açık-kaynak kodlu test otomasyon aracıdır. Ios, Android için yazılmış uygulamaların geliştirme aşamasında ve sonrasında test yapılması imkanı verir. Otomatize edilecek native uygulamaların, otomasyon için özel bir recompile ya da SDK gerektirmeyecek şekilde otomatize edilebilmesi amacıyla kurgulanmıştır. Kod ve mobil cihaz arasında çalışan bir proxy gibi hareket etmektedir. Manuel yapılmak istenen testi Appium un desteklediği herhangi bir programlama dili ile yazarak, testi otomatikleştirerek her seferinde istenilen her platformda çalıştırma imkanı sunulmasıdır.
12 Araştırma Sonuçları Mobile Testleri Nasıl Geliştirmeliyiz?
13 Mobil Test Otomasyon Araçları Mobile Test Aracı Appium Güncel her iki platform olan ios ve Android i aynı tool üzerinden test edebiliyor olmak farklı platformlar için farklı toollar kullanma zahmetinin ve maliyetinin önüne geçilmiş oluyor. Otomasyon testlerinin geliştirilmesi sırasında back-end API lara ve veritabanlarına test kodundan erişim sağlar, böylece otomasyon kodlarının zenginleştirilmesine izin ver Mobil cihaz emulator desteği bulunmaktadır. Mobil cihaz desteğinin yetersiz kaldığı durumlarda Amazon web servis, xamarin, saucelabs esnek çözümleri kullanılabilir. Java gibi OO temelli dilleri desteklediği için, kodlama sırasında reusability & modulari pratikleri kullanılabilmektedir.
14 Mobil Test Otomasyon Araçları Mobile Test Aracına Emulator Desteği
15 Mobil Test Otomasyon Araçları Mobile Test Aracı Appium Appium yaratıcılarından Dan Cueller gelecek versiyonlar ile ilgili aynı server üzerinden birden çok cihazı ile otomatize işlemi yapılabileceğini belirtiyor. Şu an bizim kullandığımız ve güncel versiyon : 1.4.13.1 Çoklu cihaz ile otomasyonun kullanılabileceği versiyon: 1.4.16.1 Şu anki mevcut versiyon ile bir emulator ve bir android cihaz Mac ortamında aynı anda test case koşulabilmekte. Apache Cordova ile Appium sorunsuz bir şekilde çalışmaktadır. Apache Cordova ücretsiz ve açık kaynak kodludur. Apache Cordova HTML, CSS ve JS ile mobil kod geliştirme platformudur. Apache Cordova geliştirilen kodu birden fazla platformda sorunsuz çalıştırmaktad
16 Mobil Test Otomasyon Araçları Mobile Test Aracı Selenium Selenium framework ü responsive web design/stand alone web siteleri için iyi bir tercih Selenium web driver tüm browserlarda test caselerin C#, Java, Python, Ruby,.Net, Perl, PHP gibi bir çok programlama dilleri ile çalıştırılmasını destekler. Selenium web driver bütün işletim sistemlerinde kullanılabilir. Selenium web driver kullanıldığında web sayfasının hangi teknoloji ile yazılmış olduğunun bir önemi bulunmamaktadır. Selenium web driver sayesinde orta seviye bir kod bilgisi ile test otomasyonu yapılabilir
17 Mobil Test Otomasyon Araçları Mobile Test Araçları XCTESTUI vs Espresso Espresso ve XCTestUI tasarım ve hedef kullanıcılar için oldukça benzer araçlardır. Espresso, android için XCTestUI ise ios için kullanılan mobil test otomasyon aracıdır. Her iki araçta tamamen Android Studio/Xcode gibi IDE ler içinde geliştirilen ve test recorder içeren oldukça kolay geliştirme tekniği sunar. Son OS özellikleri her zaman destekleyen Google ve Apple tabanlı araçlardır. Bu araçlar unit test türlerini ve fonksiyonel UI testleri destekler. XCTESTUI
18 Mobil Test Otomasyon Araçları Mobile Test Araçları Calabash Xamarin test cloud tabanlı Calabash test otomasyon frameworkü Android ve ios mobil platformları için native ve hybrid uygulamaları test edebilmektedir. Calabash BDD (behavior-driven development) iş akışlarında çalışan organizasyonlar içi tasarlanmıştır. Calabash ın testleri Cucumber ile tasarlanır ve çalışma anında Robotium ve Franke çevr Calabash sadece ruby programlama dilini desteklemektedir. Bu araçlar unit test türlerini ve fonksiyonel UI testleri destekler.
19 Mobil Test Otomasyon Araçları Mobile Test Araçları MonkeyTalk ios ve Android uygulamalar üzerinde çalışabilen açık kaynak mobil test otomasyon aracıd Emulator ve network tabanlı araç desteği sağlar. Mac OS X, Windows, Linux platformlarında desteklenir. 2 ana componenti vardır.(monkeytalk IDE ve MonkeyTalk Agents) MonkeyTalk IDE: Eclipse tabanlı araçtır ve buarada records, plays, edits ve fonks test suitlerinin (hem ios hem Android için) simulatorde ve network tabanlı araçlar emulatorde çalışmasını sağlar. MonkeyTalk Agent: Bunlar ios ve Android için kullanılan kütüphanelerdir. Mutlaka test edilecek uygulama içerisinde bağlantı kurulmuş olması gerekir. Monkeytalk komutlarının kaydedilip, koşulmasını sağlar.
20 Mobil Test Otomasyon Araçları Mobile Test Araçları Momentum Mobven firmasının kendi geliştirdiği mobil yazılımları test etmek için pazarda istediği araçları bulamadığı için öncelikle kendi test ihtiyacını karşılamak amacıyla yazılım test araçlarını geliştirdiği ve sonrasında ürün haline getirerek pazara satışa sunduğu mob test otomasyon aracıdır. Mobil platformlar için 360 derece test otomasyonu hizmeti veren Momentum, bulut tabanlı çalışması, on-site ve off-site kuruluma izin vermesi, isteyen müşterileri iç test senaryoları da üretebilmesi, Slack ile Jira gibi ekip için iletişim ve bug yönetimi platformlarıyla entegre olabilmesi gibi özellikleriyle öne çıkmaktadır. ios 6 ve üzeri, Android 4.0 ve üzeri ve mobil web sitelerini destekleyen Momentum platformunda test senaryolarını zamanlanabilmesi, paralel olarak birden çok senaryoyu aynı cihazda test edebilmeyi ve olası bir hata durumunda detaylı raporlar alabilmeyi sunmakta.
21 Mobil Test Otomasyon Araçları Mobile Test Araçları Karşılaştırma Android + ios Android ios Paralı Appium Espresso XCTest SeeTest Calabash Selendroid Frank Ranorex Kalıcı lisans: 2000 Floating: 3500 MonkeyTalk Robotium UI Automation Testdroid
22 Kapasite Karşılaştırma
23 Mobil Test Otomasyon Araçları Değerlendirme Sonrası En İyi 3 Araç Appium Monkey Talk Calaba.sh
24 Nasıl Mobile Test Yapıyoruz? Araştırma Sonuçları
25 Mobil Otomasyon Araç Karşılaştırma Appium ve Calabash Appium da geliştirme diline bağımlılık yoktur, birçok dili destekler. (Java, C#, Ruby, Python, JavaScript). Calabash ise sadece Ruby programlama dilini desteklemektedir. Appium da uygulamaları recompile etmeye gerek yokken, Calabash da ise recompile edilmesi gerekmektedir. Appium geniş community desteğine sahipken Appium a kıyasla Calabash da bu daha zayıftır. Appium da Android, ios and firefox OS ile tek bir araç üzerinden çalışılabilirken Calabash için ios ve Android farklıdır tek bir pakette toplanmazlar. Calabash ın avantajlarından bir tanesi BDD stili ile testlerin yazılmasıdır.
26 Mobil Otomasyon Araç Karşılaştırma Appium ve Monkeytalk Appium, ios ve Android platformlarda native, hybrid ve mobil we uygulamaları otomatize eden open source bir araç. Appium ios ve Chrome da safariyi desteklerken web uygulamaları otomatize ederken native browserı destekler. Appium cross platformdur, çoklu platformalarda(ios, Appium) aynı APIyı kullanılmasına izin verir. Böylece ios ve Andorid test kümelerinin arasında kodun yeniden kullanılmasını sağlar. MonkeyTalk open source test senaryolarını otomatize eden, mobil uygulama test araçları arasında en popüler olanlardan bir tanesidir. MonkeyTalk ios ve Android uygulamalar için gerçek ve interaktif testleri otomatize eder. Native, mobil, ve hybrid uygulamalar, gerçek araçlar/simülatörleri destekler. Kaydedilen kullanıcı hareketlerini 3 farklı şekilde gösterir. Table View, Monkey Talk & JavaScript gibi.
27 Referanslar http://www.guru99.com/introduction-to-appium.html https://blogs.technet.microsoft.com/antino/2014/11/30/qa-on-appium-should-iuse-it/ https://www.linkedin.com/in/dacuellar https://www.udemy.com/mobile-automation-using-appiumselenium-3/ https://developer.android.com/studio/test/espresso-test-recorder.html http://blog.perfectomobile.com/automation/best-open-source-test-automationtool/ https://saucelabs.com/resources/articles/mobile-testing-tools https://www.quora.com/what-are-the-best-mobile-testing-tools http://bitbar.com/top-5-android-testing-frameworks-with-examples/ https://www.openxcell.com/top-5-mobile-app-testing-tools http://cordova.apache.org/
28 Teşekkür Ederiz..