Mobil uygulamalarda test otomasyonu
Test automation in mobile applications
Yazar: AYLİN GÜNAY
Danışman: PROF. DR. ÇAĞATAY ÇATAL
Bahçeşehir Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgi Teknolojileri Bilim Dalı
Derece: Yüksek Lisans, 2021
Konu: Bilim ve Teknoloji = Science and Technology
Dizin: Mobil teknoloji = Mobile technology ; Mobil uygulama = Mobile application ; Otomasyon = Automation ; Yazılım = Software ; Yazılım geliştirme = Software development ; Yazılım testi = Software test ; Yaşam döngüsü = Life cycle

Özet:
Yazılım yaşam döngüsünün önemli bir parçası olan yazılım test süreçleri, kalitenin odak noktasıdır. Kaliteli yazılımlara ulaşmak için ihtiyaçların doğru belirlenmesi ve yazılım testlerinin eksiksiz yapılması gerekmektedir. Yazılım kalitesine ulaşmak için gerçekleştirilen manuel testler, test süresini uzatmaktadır. Testlerin verimli, hızlı, kaliteli ve maliyet etkin şekilde yapılabilmesi açısından; yazılım test otomasyon çalışmaları etkin bir rol oynamaktadır.

Mobil uygulamaların popülerliğinin artması ve mobil cihaz pazarına yönelik büyüme tahminleri, mobil uygulama geliştirmeyi gelecek için daha da önemli bir iş sektörü haline getirmektedir. Kalitesi yüksek uygulamalara yönelik artan talepler ve beraberinde kullanıcı beklentilerinin de artması nedeniyle; mobil uygulamalarda yazılım testi ve bu alanda test ve otomasyon, uygulamaların kalitesini sağlamak için stratejik bir rol oynamaktadır.

Bu tez çalışmasında, mobil uygulamalar için test otomasyonun nasıl gerçekleştirilmesi gerektiği konusunda detaylı bir araştırma gerçekleştirilmiş olup, bu bağlamda, literatürde ve uygulamada gelinen son nokta incelenerek, vaka çalışması öncesinde detaylı olarak değerlendirilmiştir. Vaka çalışması için özel bir bankaya ait; mobil bankacılık uygulaması üzerinde Micro Focus Unified Functional Testing (UFT) aracı kullanılarak farklı son kullanıcı testlerinin otomasyonu ve çeşitli analizler gerçekleştirilmiştir. Son kullanıcı testleri kapsamında uygulanan test otomasyon aracının, manuel testlere göre sağladığı verimlilik kazancı incelenmiş ve genel olarak mobil uygulamalarda sağladığı avantajlar değerlendirilmiştir. Bu çalışma sonunda; mobil test otomasyonu sayesinde, manuel koşumlarda insan dikkatinin dağılması ile karşılaşılabilecek hataların en aza indirilebildiği, otomasyon aracı sayesinde yüksek verimlilik elde ederek maksimum faydanın elde edilebildiği ve daha kaliteli uygulamaların bu sayede ortaya konulabildiği sonucuna varılmıştır.

Abstract:
Software testing processes are significantly important for the software development life cycle, which is the focus of the quality. To reach quality software, user needs have to be identified accurately and software tests must be performed completely.  To achieve software quality, manual tests are executed, which result in a longer testing duration.  Software test automation studies play an active role in efficient, fast, high-quality, and cost-effective testing.

The increasing popularity of mobile applications, as well as the growth forecast of the mobile device market, make mobile application development more and more important business sector for the future.  Due to the increasing demand for high-quality mobile applications and also rising user expectations, software testing in mobile applications and testing and automation in this field play a strategic role in ensuring the quality of applications.  

This dissertation investigates and describes how test automation should be implemented for mobile applications. In this context, the state-of-the-art and state-of-the-practice were examined and evaluated in detail before the case study.  Automation of different end-user tests and various analyses have been carried out by using the Micro Focus Unified Functional Testing (UFT) tool on a mobile application, which is owned by a private bank in Turkey.  Productivity gain of the test automation of mobile applications compared to the manual tests has been evaluated, thus the advantages of the test automation tools have been evaluated in general.  At the end of this study, it was concluded that errors that may be encountered during manual testing due to human distraction can be minimized through mobile test automation, the maximum benefit could be obtained by gaining high productivity through the automation tool, and better-quality applications could be developed at the end of this process.