
This article presents an experience report on the development of Sidagro Web, a governmental system developed through a partnership between the Federal University of Lavras (UFLA) and the Agricultural Institute of Minas Gerais (IMA), with a primary focus on software quality assurance. The report details key architectural and technical decisions that guided the project throughout its lifecycle, providing the rationale for each choice and emphasizing their contributions to enhancing system quality. The discussion is organized into five main categories: (i) high-level architectural choices, including layered separation and foundational technologies; (ii) backend-specific decisions, such as exception handling, object mapping, auditing mechanisms, and code conventions; (iii) frontend considerations, including form validation and dynamic data handling; (iv) infrastructure-related strategies, covering environment setup, CI/CD pipelines, and DevOps tooling; and (v) documentation and version control practices, which are applied transversally across all project dimensions. We demonstrate that the systematic adoption of these practices significantly improved the system’s robustness, maintainability, and long-term sustainability, offering valuable insights for similar large-scale software projects with stringent quality requirements.
Efficiently managing user stories during the testing process is crucial in large, distributed test teams to ensure timely and high-quality project completion. Manual control of tasks, from various software testing activities to extracting specific quality metrics and maintaining test processes, is time-consuming and error-prone. This paper proposes an approach to automate story creation for the Jira tool to address these challenges. The proposal approach aims to optimize the time spent on story creation, promote efficiency, and increase the success rate of story creation from 73.43% to 99.66% in the story management process. The script developed establishes a secure connection with Jira, imports data from spreadsheets, populates these into Jira, and creates or updates test tasks. Additionally, JavaScript (JS) code automates data transfer from task creation to planning. This automation significantly reduces manual effort and minimizes human errors, due to the improvement in the success rate to 98.14%, and increases the productivity of the software testing team by 15.19%.
Teaching aeronautical software quality standards, such as RTCA DO-178C and RTCA DO-200B, presents significant challenges, mainly when delivered to students who do not work directly in this domain. This paper explores the complex characteristics of conveying these specialized standards to a diverse audience. We identify the primary challenges in the teaching-learning process through a detailed analysis of the difficulties faced. These challenges include the need to contextualize aeronautical quality standards with practical examples, the abstract nature of the content, and the necessity for interactive methods and teaching resources to facilitate comprehension. This study provides insights for educators and educational institutions to improve their approaches to teaching aeronautical software quality standards.
Test smells signal design flaws in tests, harming maintainability and reliability. While automated test smells are well-studied, natural language test smells remain underexplored. Prior work identified 13 such smells but lacked systematic removal strategies and automated tools.We bridge this gap by presenting a catalog of transformations for seven key natural language test smells and a NLP-based tool for automated detection and correction. We evaluated our approach through a survey of 15 professionals and empirical analysis of Ubuntu OS test cases. Results show high professional acceptance (91.43%) and strong tool precision (83.70% F-Measure). Our work is the first to systematically address natural language test smell removal.
Teaching non-functional testing and software quality attributes presents persistent challenges due to the abstract and theoretical nature of the content. To address this, we developed Critical Failure, a card game designed to support learning through playful competition and active engagement. Inspired by poker mechanics and adapted for educational use, the game encourages players to evaluate and critique each other’s hands as software systems, simulating the evaluation of quality attributes such as performance, usability, and security. The game was created as part of a Software Testing course to offer a more interactive alternative to traditional lectures. The game was played by a group of 17 students who provided highly positive feedback on its clarity, engagement, and educational value. Suggestions for improvement were incorporated into the final version, refining both gameplay balance and alignment with course content. The activity demonstrated strong potential as a didactic tool, helping students not only recognize various non-functional requirements but also understand how they interact and impact the testing process. This article presents the design of the game and reports on its initial classroom use as an exploratory activity, intended to gather impressions, refine mechanics, and assess its potential as a complementary tool for teaching non-functional testing concepts.