Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Sobre

Sobre

Ana Paiva (publica como Ana C. R. Paiva) é Professora Auxiliar no Departamento de Engenharia Informática da Faculdade de Engenharia da Universidade do Porto, onde trabalha desde 1999. Ela é investigadora no INESC TEC na área de Engenharia de Software e membro do Grupo de Engenharia de Software que reúne investigadores e pós-graduados com interesses comuns em Engenharia de Software. É responsável por unidades curriculares como Teste de Software, Métodos Formais e Engenharia de Software, entre outras. Tem um doutoramento em Engenharia Electrotécnica e Computadores da FEUP, com uma tese intitulada Automated Specification Based Testing of Graphical User Interfaces. A sua especialidade é a implementação e automação do processo de teste baseado em modelos. Desenvolveu trabalho de investigação em colaboração com o grupo FSE (Foundation of Software Engineering) da Microsoft Research, onde teve a oportunidade de estender a ferramenta de testes da Microsoft baseada em modelo, Spec Explorer, para o teste de GUIs. É a investigadora responsável de um projeto financiado pela FCT com o tema Pattern-Based Testing GUI (PBGT). Pertence à Assemblia Geral da PSTQB (Associação Portuguesa de Testes de Software), é membro dos grupos internacionais de trabalho do ISTQB: TBok, Glossary, MBT Examination, membro do Conselho do Departamento de Engenharia Informática, e membro da Comissão Executiva do Departamento de Engenharia Informática.

Tópicos
de interesse
Detalhes

Detalhes

  • Nome

    Ana Cristina Paiva
  • Cargo

    Investigador Sénior
  • Desde

    01 fevereiro 2014
002
Publicações

2024

Exploring students' opinion on software testing courses

Autores
Cammaerts, F; Tramontana, P; Paiva, ACR; Flores, N; Ricós, FP; Snoeck, M;

Publicação
PROCEEDINGS OF 2024 28TH INTERNATION CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2024

Abstract
Software testing is an important part of the software development lifecycle. As it is a highly sought-after skill in the industry, it is not surprising that there has been a great deal of research into the teaching of software testing in higher education. Most of this research proposes or evaluates pedagogical approaches or software testing tools to assist teachers in educating the next generation of software engineers. These evaluations are often limited to measuring teachers' opinions about the use of a novel pedagogical approach or an educational tool and students' acceptance and performance in terms of desired software testing skills. While tools and pedagogical approaches address specific aspects of a course, to date, little attention has been paid to the opinions of the students about all the individual aspects of a software testing course. This paper aims to address this missing student perspective by taking a holistic view of software testing course designs. To address this gap, an exploratory study was performed by distributing a questionnaire to 103 students from ten different courses to gauge their opinions on a software testing course they are enrolled in. The results show that students generally have a positive perception of the different aspects of their software testing course. However, several areas for improvement were suggested based on the gathered data.

2023

Collecting cognitive strategies applied by students during test case design

Autores
Cammaerts, F; Snoeck, M; Paiva, ACR;

Publicação
27TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2023

Abstract
It is important to properly test developed software because this may contribute to fewer bugs going unreported in deployed software. Often, little attention is spent on the topic of software testing in curricula, yielding graduate students without adequate preparation to deal with the quality standards required by the industry. This problem could be tackled by introducing bite-sized software testing education capsules that allow teachers to introduce software testing to their students in a less time-consuming manner and with a hands-on component that will facilitate learning. In order to design appropriate software testing educational tools, it is necessary to consider both the software testing needs of the industry and the cognitive models of students. This work-in-progress paper proposes an experimental design to gain an understanding of the cognitive strategies used by students during test case design based on real-life cases. Ultimately, the results of the experiment will be used to develop educational support for teaching software testing.

2023

ENACTEST project - European Innovation Alliance for Testing Education

Autores
Marín, B; Vos, TEJ; Snoeck, M; Paiva, ACR; Fasolino, AR;

Publicação
Proceedings of the Research Projects Exhibition Papers Presented at the 35th International Conference on Advanced Information Systems Engineering (CAiSE 2023), Zaragoza, Spain, June 12-16, 2023.

Abstract

2023

An Approach to Regression Testing Selection based on Code Changes and Smells

Autores
Mori, A; Paiva, ACR; Souza, SRS;

Publicação
PROCEEDINGS OF THE 8TH BRAZILIAN SYMPOSIUM ON SYSTEMATIC AND AUTOMATED SOFT-WARE TESTING, SAST 2023

Abstract
Regression testing is a software engineering maintenance activity that involves re-executing test cases on a modified software system to check whether code changes introduce new faults. However, it can be time-consuming and resource-intensive, especially for large systems. Regression testing selection techniques can help address this issue by selecting a subset of test cases to run. The change-based technique selects a subset of test cases based on the modified software classes, reducing the test suite size. Thereby, it will cover a smaller number of classes, decreasing the efficiency of the test suite to reveal design flaws. From this perspective, code smells are known to identify poor design and threaten the quality of software systems. In this study, we propose an approach to combine code change and smell to select regression tests and present two new techniques: code smell based and code change and smell. Additionally, we developed the Regression Testing Selection Tool (RTST) to automate the selection process. We empirically evaluated the approach in Defects4J projects by comparing the new techniques' effectiveness with the change-based as a baseline. The results show that the change-based technique achieves the highest reduction rate in the test suite size but with less class coverage. On the other hand, test cases selected using code smells and changed classes combined can potentially find more bugs. The code smell-based technique provides a comparable class coverage to the code change and smell approach. Our findings highlight the benefits of incorporating code smells in regression testing selection and suggest opportunities for improving the efficiency and effectiveness of regression testing.

2022

ENACTEST - European Innovation Alliance for Testing Education

Autores
Marín, B; Vos, TEJ; Paiva, ACR; Fasolino, AR; Snoeck, M;

Publicação
Joint Proceedings of RCIS 2022 Workshops and Research Projects Track co-located with the 16th International Conference on Research Challenges in Information Science (RCIS 2022), Barcelona, Spain, May 17-20, 2022.

Abstract
Testing software is very important, but not done well, resulting in problematic and erroneous software applications. The cause radicates from a skills mismatch between what is needed in industry, the learning needs of students, and the way testing is currently being taught at higher and vocational education institutes. The goal of this project is to identify and design seamless teaching materials for testing that are aligned with industry and learning needs. To represent the entire socio-economic environment that will benefit from the results, this project consortium is composed of a diverse set of partners ranging from universities to small enterprises. The project starts with research in sensemaking and cognitive models when doing and learning testing. Moreover, a study will be done to identify the needs of industry for training and knowledge transfer processes for testing. Based on the outcomes of this research and the study, we will design and develop capsules on teaching software testing including the instructional materials that take into account the cognitive models of students and the industry needs. Finally, we will validate these teaching testing capsules developed during the project. © 2021 The Authors.

Teses
supervisionadas

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Autor
David Roberto Cravo da Mata

Instituição
UP-FEUP

2023

Data-Driven Hint Generation for Alloy using Historial Student Submissions

Autor
Ana Inês Oliveira de Barros

Instituição
UP-FEUP

2023

Mutation Operators for Android Apps

Autor
Ana Rita Cheio da Veiga

Instituição
UP-FEUP

2023

Mutation Testing Cost Reduction Techniques for Java Applications

Autor
David Roberto Cravo da Mata

Instituição
UP-FEUP

2022

Mutation Testing Effectiveness - An Empirical Analysis on Java Mutation Testing Tools

Autor
Luís Carlos de Sousa Pinto

Instituição
UP-FEUP