Cookies Policy
We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out More
Close
  • Menu
About

About

Ana Paiva (publishes as Ana C. R. Paiva). Ana Paiva is Assistant Professor at the Informatics Engineering Department of the Faculty of Engineering of University of Porto (FEUP) where she works since 1999. She is a researcher at INESC TEC in the Software Engineering area and member of the Software Engineering research group which gathers researchers and post graduate students with common interests in software engineering. She teaches subjects like Software Testing, Formal Methods and Software Engineering, among others. She has a PhD in Electrical and Computer Engineering from FEUP with a thesis titled"Automated Specification Based Testing of Graphical User Interfaces". Her expertise is on the implementation and automation of the model based testing process. She has been developing research work in collaboration with Foundation of Software Engineering research group within Microsoft Research where she had the opportunity to extend Microsoft's model-based testing tool, Spec Explorer, for GUI testing. She is PI of a National Science Foundation funded project on Pattern-Based GUI Testing (PBGT). She is a member of the PSTQB (Portuguese Software Testing Qualification Board) board general assembly, member of TBok, Glossary, and the MBT Examination Working Groups of the ISTQB (International Software Testing Qualification Board), member of the Council of the Department of Informatics Engineering, and member of the Executive Committee of the Department of Informatics Engineering.

Interest
Topics
Details

Details

  • Name

    Ana Cristina Paiva
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st February 2014
001
Publications

2019

Testing when mobile apps go to background and come back to foreground

Authors
Paiva, ACR; Gouveia, JMEP; Elizabeth, JD; Delamaro, ME;

Publication
Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2019

Abstract
Mobile applications have some specific characteristics not found on web and desktop applications. The mobile testing tools available may not be prepared to detect problems related to those specificities. So, it is important to assess the quality of the test cases generated/executed by mobile testing tools in order to check if they are able to find those specific problems. One way to assess the quality of a test suite is through mutation testing. This paper presents new mutation operators created to inject faults leading to known failures related to the non-preservation of users transient UI state when mobile applications go to background and then come back to foreground. A set of mutation operators is presented and the rational behind its construction is explained. A case study illustrates the approach to evaluate a mobile testing tool. In this study, the tool used is called iMPAcT tool, however any other mobile testing tool could be used. The experiments are performed over mobile applications publicly available on the Google Play store. The results are presented and discussed. Finally, some improvements are suggested for the iMPAcT tool in order to be able to generate test cases that can kill more mutants and so, hopefully, detect more failures in the future. © 2019 IEEE.

2019

Testing android incoming calls

Authors
Paiva, ACR; Goncalves, MA; Barros, AR;

Publication
Proceedings - 2019 IEEE 12th International Conference on Software Testing, Verification and Validation, ICST 2019

Abstract
Mobile applications are increasingly present in our daily lives. Being increasingly dependent on apps, we all want to make sure apps work as expected. One way to increase confidence and quality of software is through testing. However, the existing approaches and tools still do not provide sufficient solutions for testing mobile apps with features different from the ones found in desktop or web applications. In particular, there are guidelines that mobile developers should follow and that may be tested automatically but, as far as we know, there are no tools that are able do it. The iMPAcT tool combines exploration, reverse engineering and testing to check if mobile apps follow best practices to implement specific behavior called UI Patterns. Examples of UI Patterns within this catalog are: orientation, background-foreground, side drawer, tab-scroll, among others. For each of these behaviors (UI Patterns), the iMPAcT tool has a corresponding Test Pattern that checks if the UI Pattern implementation follows the guidelines. This paper presents an extension to iMPAcT tool. It enables to test if Android apps work properly after receiving an incoming call, i.e., if the state of the screen after the call is the same as before getting the call. It formalizes the problem, describes the overall approach, describes the architecture of the tool and reports an experiment performed over 61 public mobile apps. © 2019 IEEE.

2019

The iMPAcT tool for android testing

Authors
Morgado, IC; Paiva, ACR;

Publication
Proceedings of the ACM on Human-Computer Interaction

Abstract
This paper presents iMPAcT tool that tests recurring common behavior on Android mobile applications. The process followed combines exploration, reverse engineering and testing to automatically test Android mobile applications. The tool explores automatically the App by firing UI events. After each event fired, the tool checks if there are UI patterns present using a reverse engineering process. If a UI pattern is present, the tool runs the corresponding testing strategy (Test Pattern). During reverse engineering the tool uses a catalog of UI Patterns which describes recurring behavior (UI Patterns) to test and the corresponding test strategies (Test Patterns). This catalog may be extended in the future as needed (e.g., to deal with new interaction trends). This paper describes the implementation details of the iMPAcT tool, the catalog of patterns used, the outputs produced by the tool and the results of experiments performed in order to evaluate the overall testing approach. These results show that the overall testing approach is capable of finding failures on existing Android mobile applications. © 2019 Copyright held by the owner/author(s).

2019

From requirements to automated acceptance tests of interactive apps: An integrated model-based testing approach

Authors
Maciel, D; Paiva, ACR; Da Silva, AR;

Publication
ENASE 2019 - Proceedings of the 14th International Conference on Evaluation of Novel Approaches to Software Engineering

Abstract
Frequently software testing tends to be neglected at the beginning of the projects, only performed on the late stage. However, it is possible to benefit from combining requirement with testing specification activities. On one hand, acceptance tests specification will require less manual effort since they are defined or generated automatically from the requirements specification. On the other hand, the requirements specification itself will end up having higher quality due to the use of a more structured language, reducing typical problems such as ambiguity, inconsistency and incorrectness. This research proposes an approach that promotes the practice of tests specification since the very beginning of projects, and its integration with the requirements specification itself. It is a model-driven approach that contributes to maintain the requirements and tests alignment, namely between requirements, test cases, and low-level automated test scripts. To show the applicability of the approach, two complementary languages are adopted: the ITLingo RSL that is particularly designed to support both requirements and tests specification; and the Robot language, which is a low-level keyword-based language for the specification of test scripts. The approach includes model-to-model transformation techniques, such as test cases into test scripts transformations. In addition, these test scripts are executed by the Robot test automation framework. Copyright

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 and Reliability

Abstract

Supervised
thesis

2017

Serious Game to Learn Software Testing

Author
José Salgado Magalhães Taveira Gomes

Institution
UP-FEUP

2017

Gestão Documental na Finantech

Author
João Miguel de Oliveira Figueiredo Varandas

Institution
UP-FEUP

2017

Injeção de Defeitos em Aplicações Android

Author
Liliana Filipa Lobo Ribeiro

Institution
UP-FEUP

2017

Pattern Based Security Testing

Author
Paulo Jorge Moreira de Araújo

Institution
UP-FEUP

2017

Gestão Documental

Author
Miguel José Silva Gomes

Institution
UP-FEUP