Abstract: Test smells are symptoms in the test code that indicate possible design or implementation problems. The lack of quality in tests can raise problems such as increased maintenance costs, difficulty in understanding and modifying tests, reduced test reliability, higher likelihood of missing bugs, and decreased confidence in the software's overall quality. In this context, recent research has shown that this whole package of quality problems also applies to manual tests, i.e., tests written in natural language. This way, like automated tests, manual tests also smell. In this talk, we will deeply navigate throughout test smells present in automated and natural languages tests under multiple perspectives. We will start by exploring catalogues of test smells, discussing the names, definitions, examples, and consequences of each smell. Next, we will examine whether these smells are genuinely harmful. Afterwards, strategies on how to identify these smells will be presented. The strategies include ways to identify smells in automated tests (i.e., in xUnit frameworks such as GoogleTest, pytest and JUnit) and in manual tests. For automated tests, we will indicate the use of test code templates, while for manual tests, we will leverage advanced Natural Language Processing (NLP) techniques. Once we have established that these test issues are indeed problematic and identified ways to detect them, we will turn our attention to catalogues of transformations designed to eliminate these smells from both automated and manual tests. We will present evaluations from software testing professionals, who provided insights on the severity of these smells and the effectiveness of the proposed transformations. The talk will focus on real-practice automated and manual tests and also will discuss open challenges and research opportunities.
Bio: Márcio Ribeiro is an Associate Professor in the Computing Institute at Federal University of Alagoas. He holds a Doctoral degree in Computer Science from the Federal University of Pernambuco (2012). He was the recipient of the ACM SIGPLAN John Vlissides Award (2010). In addition, his PhD thesis has been awarded as the Best in Computer Science of Brazil in 2012. He has experience in Software Engineering and Artificial Intelligence. Ribeiro was the President of the Special Interest Group on Software Engineering (CEES) of the Brazilian Computer Society (SBC) in 2021-2022. His main research interests are Configurable Systems, Empirical Software Engineering, Software Testing, and Refactoring. Ribeiro has published papers in top-ranked conferences and journals such as ICSE, ESEC/FSE, ECOOP, PLDI, AOSD/Modularity, ICSME, SPLC, GPCE, ICPC, ISSRE, TSE, IST, and JSS. He designed and created the "Aglomerações" app, an app to register and track agglomerations. The app pioneered the idea in which the own user registers agglomerations during the COVID-19 pandemic in Brazil. In 2014, Ribeiro was the General Chair of the most important event on Software of Brazil, CBSoft 2014 (https://cbsoft.sbc.org.br/2014/). He is the coordinator of the Research Center on Engineering and Systems (EASY) at the Federal University of Alagoas. The center has executed several R&D&I projects. Some of the projects are used in all Brazilian states and has brought savings of millions of reais to brazilian public departments.
Contact: http://www.ic.ufal.br/marcio/