Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Ana Cristina Paiva

2018

Why does the orientation change mess up my Android application? From GUI failures to code faults

Authors
Amalfitano, D; Riccio, V; Paiva, ACR; Fasolino, AR;

Publication
SOFTWARE TESTING VERIFICATION & RELIABILITY

Abstract
This paper investigates the failures exposed in mobile apps by the mobile-specific event of changing the screen orientation. We focus on GUI failures resulting in unexpected GUI states that should be avoided to improve the apps quality and to ensure better user experience. We propose a classification framework that distinguishes 3 main classes of GUI failures due to orientation changes and exploit it in 2 studies that investigate the impact of such failures in Android apps. The studies involved both open-source and apps from Google Play that were specifically tested exposing them to orientation change events. The results showed that more than 88% of these apps were affected by GUI failures, some classes of GUI failures were more common than others, and some GUI objects were more frequently involved. The app source code analysis allowed us to identify 6 classes of common faults causing specific GUI failures.

2016

REQAnalytics: A recommender system for requirements maintenance

Authors
Garcia, JE; Paiva, ACR;

Publication
International Journal of Software Engineering and its Applications

Abstract
In the context of SaaS, where the change requests can be frequent, there is the need for a systematic requirements management process so as to maintain requirements updated and ease the management of changes required to improve the service to provide. Changes to perform need to be prioritized and their impact on the system should be assessed. The extraction and analysis of the use of the servicesprovided through the web and their relationship to the requirements can help identify improvements and help keep the service useful for longer period of time. This paper presents REQAnalytics, a recommender system that collects information on the usage of a web service, relates that information back to the requirements, and generates reports with recommendations and change suggestions that can increase the quality of that service. The proposed approach aims to provide reports of the analysis made in a language closer to the business where, for example, it indicates new workflows and navigation paths, identifies the features that can be removed and presents the relationship between requirements andthe proposed changes helping to maintain the software requirements specification updated and useful. © 2016 SERSC.

2015

Test patterns for android mobile applications

Authors
Morgado, IC; Paiva, ACR;

Publication
Proceedings of the 20th European Conference on Pattern Languages of Programs, EuroPLoP 2015, Kaufbeuren, Germany, July 8-12, 2015

Abstract
Mobile applications are a rapidly increasing part of our daily life, featuring more than one million applications and fifty billions downloads in the two major markets. Thus, it is important to ensure their functional correctness. The Pattern-Based GUI Testing (PBGT) project presented an approach for systematising and automating the GUI testing of web applications by modelling testing goals with User Interface Test Patterns(UITPs), i.e., test strategies for recurring behaviour of the UI. This paper extends the set of UITPs used by the PBGT project with three UITPs specific to the testing of mobile applications: Side Drawer, Orientation and Resources Dependency.

2015

Testing approach for mobile applications through reverse engineering of UI Patterns

Authors
Morgado, IC; Paiva, ACR;

Publication
2015 30th IEEE/ACM International Conference on Automated Software Engineering Workshop (ASEW)

Abstract
It is increasingly important to assess and ensure the correct behaviour of mobile applications as their importance in everyday life keeps increasing. This paper presents an automatic testing approach combining reverse engineering with testing. The algorithm tries to identify existing User Interface (UI) patterns on a mobile application under test through a reverse engineering process and then tests them using generic test strategies called Test Patterns. The overall testing approach was implemented in the iMPAcT (Mobile PAttern Testing) tool and is illustrated in a case study performed over some mobile applications as a proof-of-concept.

2014

Towards a pattern language for model-based GUI testing

Authors
Moreira, RMLM; Paiva, ACR;

Publication
ACM International Conference Proceeding Series

Abstract
Graphical user interfaces (GUIs) have become popular as they appear in everydays' software. GUIs have become an ideal way of interacting with computer programs, making the software friendlier to its users. GUIs have grown, and so has the usage of UI Patterns featured in GUIs. UI Patterns are recurring solutions to solve common GUI design problems. We developed the notion of UI Test Patterns that, are able to test different implementations of UI Patterns. Therefore, we created a new methodology called Pattern-Based GUI Testing (PBGT) that aims at systematizing and automating the GUI testing process. PBGT samples the input space using UI Test Patterns, which provide a reusable and configurable test strategy, in order to test a GUI that was implemented using a set of UI Patterns. In this paper we present three UI Test Patterns: Login, Master/Detail and Sort. Copyright © 2014 ACM.

2016

A toolset for conformance testing against UML sequence diagrams based on event-driven colored Petri nets

Authors
Faria, JP; Paiva, ACR;

Publication
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER

Abstract
Novel techniques and a toolset are presented for automatically testing the conformance of software implementations against partial behavioral models constituted by a set of parameterized UML sequence diagrams, describing both external interactions with users or client applications and internal interactions between objects in the system. Test code is automatically generated from the sequence diagrams and executed on the implementation under test, and test results and coverage information are presented back visually in the model. A runtime test library handles internal interaction checking, test stubs, and user interaction testing, taking advantage of aspect-oriented programming techniques. Incremental conformance checking is achieved by first translating sequence diagrams to Extended Petri Nets that combine the characteristics of Colored Petri Nets and Event-Driven Petri Nets.

  • 3
  • 16