3 research outputs found
Ideal test for android testing: Preliminary work
This paper proposes a hybrid method combining well-known holistic test and mutation testing in software testing for Graphical User Interface (GUI) testing of an android application. Moreover, this hybrid method satisfies requirements of ideal testing that is well known and important in software testing. Presence and absence of GUI based faults are tested within this work experimentally and comparatively in the scale of given or constructed model. First step of the method is modeling the given GUI of android application by Finite State Machine (FSM) and then converting this FSM to Regular Expression (RE). Then, test sequences are generated from a context table that is obtained analysis of the RE model. This process defines first part of the Holistic Testing namely positive testing. In second part called negative testing, the test sequence generation procedure is applied mutants of the FSM obtained after applying selected mutation operators. The generated test sequences from original and mutant models are executed on mutant and original android applications respectively. Test sequences are filtered by using pre-defined selection criteria for both positive and negative testing to achieve ideal test suites that are satisfying requirements of the ideal testing.Bu çalışmanın amacı yazılım testi alanında yaygın olarak kullanılan
Bütünsel Test (Holistic Test) ve Mutasyon Testi (Mutation Testing)
yöntemlerinin kullanılarak model tabanlı melez bir yöntemin Android
uygulamalarının Grafiksel Kullanıcı Arayüz (GKA) testi için öne sürülmesidir.
Ayrıca bu melez yöntem test alanında bilinirliği yüksek İdeal Test’in (Ideal
Test) gereksinimlerini sağladığı için ayrı bir öneme sahiptir. Öne sürülen melez
yöntem sayesinde sistem içindeki kullanıcı arayüz merkezli hataların model
ölçeğinde varlığı veya yokluğu, karşılaştırmalı ve deneysel çalışmalar
çerçevesinde test edilmiştir. Yöntemin ilk adımı olarak verilen uygulamanın
kullanıcı arayüzü bir Sonlu Durum Makinası (SDM) ile modellenmekte ve
ardından bu SDM bir Düzenli İfade’ye (Dİ) dönüştürülmektedir. Ardından elde
edilen Dİ analizden geçirilerek bağlam tabloları ile ifade edilmekte ve bu
tablolar vasıtası ile test dizileri üretilmektedir. Bu işlem pozitif testi
tanımlamaktadır. Negatif test için ise aynı işlem SDM’lerden elde edilen
mutantlara uygulanmakta ve test dizileri elde edilmektedir. Negatif ve pozitif
test için elde edilen test dizileri karşılıklı olarak kod tabalı mutasyonla elde
edilen mutantlara ve hatasız sisteme uygulanmaktadır. Test sonuçları
tanımlanacak olan test seçim kriterlerine göre bir süzgeçten geçirilmekte ve
hem pozitif hemde negatif test için süzgeçten geçirilen test kümeleri elde
edilmektedir. Bu işlem sonund
Recommended from our members
Improving Application Quality using Mobile Analytics
The purpose of this research is to investigate and report on how mobile analytics can help real-world developers improve the quality of their apps efficiently and effectively. The research also considers the effects of mobile analytics in terms of the artefacts developed and maintained by the development team and also researches key characteristics of a range of mobile analytics tools and services.
Research Design: the research takes a developer-oriented perspective of using three complementary sources of data: 1) platform-level analytics, using Android Vitals as the primary analytics tool, 2) in-app analytics with a focus on runtime failures caused by crashes and freezes (known as Application Not Responding (ANR) in Android), and 3) interviews with developers. Action research techniques included roles of embedded developer, guide, and observer across different mobile app projects I was involved in. Hackathons were used to experiment with the speed and ability to find and address issues reported by the analytics tools used by the app developers. Their apps have a combined active user base of over 3,000,000 users. Many of these apps use a mainstream crash analytics library which was used to complement and contrast the results provided in the primary analytics tool. The research is intended to facilitate ease of future research and reproducibility, e.g. by using open-source projects as the code, bug reports, etc. are all published and available. This research was complemented by a) collaborating with professional developers who provided additional examples and results, and b) investigating grey material including grey literature and grey data.
The findings of this research highlights that using mobile analytics helped to reduce failure rates markedly, quickly, and effectively by applying techniques described here. Various limitations and flaws were found in the analytics tools; these provide cause for concern as they may affect the app’s placement in the app store and revenues. These limitations and flaws also make some issues in the apps harder to identify, prioritise, and fix.We identified ways to compensate for many of these and developed open-source software to facilitate additional analysis. Flaws and bugs were reported to the Android Vitals team at Google who acknowledged they would fix several of them. Several bugs were hard to reproduce, partly as Google deliberately hid pertinent details from the data they gather. Nonetheless app developers were able to ameliorate or fix the bugs for some issues even when they were not able to reproduce them.
Android Vitals shows the potential of how the combination of an app store and platform could be used to improve the quality of apps without users needing to actively participate. Some crashes were hard to reproduce and may be impractical to find before the app is released to end users. Developers can determine comparative improvements in their releases, such as whether they fixed a bug, by using Android Vitals and similar analytics tools; i.e. mobile analytics may help teams to determine whether they have improved the quality of their app even with flaws and limitations in the mobile analytics.</i