English
Related papers

Related papers: Enhancing Software Testing Education: Understandin…

200 papers

The mass production of complex software has made it impossible to manually test it for security vulnerabilities. Automated security testing tools come in a variety of flavors, function at various stages of software development, and target…

Software Engineering · Computer Science 2023-01-18 Yan Wu , Jingyi Su , David D. Moran , Chris D. Near

Context: The rise of Artificial Intelligence (AI) in software engineering has led to the development of AI-powered test automation tools, promising improved efficiency, reduced maintenance effort, and enhanced defect-detection. However, a…

Software Engineering · Computer Science 2025-05-02 Vahid Garousi , Nithin Joy , Zafar Jafarov , Alper Buğra Keleş , Sevde Değirmenci , Ece Özdemir , Ryan Zarringhalami

Software testing is a mandatory activity in any serious software development process, as bugs are a reality in software development. This raises the question of quality: good tests are effective in finding bugs, but until a test case…

Software Engineering · Computer Science 2023-07-14 Daniel Lucrédio , Auri Marcelo Rizzo Vincenzi , Eduardo Santana de Almeida , Iftekhar Ahmed

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test…

Software Engineering · Computer Science 2023-03-09 Wajdi Aljedaani , Mohamed Wiem Mkaouer , Anthony Peruma , Stephanie Ludi

We present a perspective on platforms for code submission and automated evaluation in the context of university teaching. Due to the COVID-19 pandemic, such platforms have become an essential asset for remote courses and a reasonable…

Computers and Society · Computer Science 2022-02-01 Florian Auer , Johann Frei , Dominik Müller , Frank Kramer

As software systems are becoming more pervasive, they are also becoming more susceptible to failures, resulting in potentially lethal combinations. Software testing is critical to preventing software failures but is, arguably, the least…

Software Engineering · Computer Science 2021-03-12 Pradeep Waychal , Luiz Fernando Capretz , Jingdong Jia , Daniel Varona , Yadira Lizama

Research software refers to software development tools that accelerate discovery and simplifies access to digital infrastructures. However, although research software platforms can be built increasingly more innovative and powerful than…

Software Engineering · Computer Science 2018-12-27 Doug Mulholland , Paulo Alencar , Donald Cowan

The pivotal role of testing in high-quality software production has driven a significant effort in evaluating and assessing testing practices. We explore the state of testing in a large industrial project over an extended period. We study…

Software Engineering · Computer Science 2019-08-06 Mohammad Ghafari , Markus Eggiman , Oscar Nierstrasz

Higher education provides a solid theoretical and practical, but mostly technical, background for the aspiring software developer. Research, however, has shown that graduates still fall short of the expectations of industry. These…

Software Engineering · Computer Science 2019-11-05 Wouter Groeneveld , Joost Vennekens , Kris Aerts

Software testing is critical to prevent software failures. Therefore, research has been carried out in testing but that is largely limited to the process and technology dimensions and has not sufficiently addressed the human dimension. Even…

Computers and Society · Computer Science 2018-12-14 Pradeep Kashinath Waychal , Luiz Fernando Capretz , Sachin Narendra Pardeshi

Immediate feedback has been shown to improve student learning. In programming courses, immediate, automated feedback is typically provided in the form of pre-defined test cases run by a submission platform. While these are excellent for…

Feedback is critical in education. This Innovative Practice Full Paper reports lessons learned from improving the quality of feedback in a semi-capstone software engineering course, with particular focus on how to deliver productive…

Software Engineering · Computer Science 2022-08-17 Torgeir Dingsøyr

Unit testing is an important practice that helps ensure the quality of a software system by validating its behavior through a series of test cases. Core to these test cases are assertion statements, which enable software practitioners to…

Augmenting test suites with test cases that reflect the actual usage of the software system is extremely important to sustain the quality of long lasting software systems. In this paper, we propose E-Test, an approach that incrementally…

Software Engineering · Computer Science 2025-10-23 Ketai Qiu

Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly,…

Computers and Society · Computer Science 2021-07-06 Teemu Lehtinen , André L. Santos , Juha Sorva

Accurately predicting faulty software units helps practitioners target faulty units and prioritize their efforts to maintain software quality. Prior studies use machine-learning models to detect faulty software code. We revisit past studies…

Software Engineering · Computer Science 2019-01-08 Libo Li , Stefan Lessmann , Bart Baesens

Testing is an essential quality activity in the software development process. Usually, a software system is tested on several levels, starting with unit testing that checks the smallest parts of the code until acceptance testing, which is…

Software Engineering · Computer Science 2024-03-21 Lucas Neves , Oscar Campos , Robson Santos , Italo Santos , Cleyton Magalhaes , Ronnie de Souza Santos

Modern software systems require various capabilities to meet architectural and operational demands, such as the ability to scale automatically and recover from sudden failures. Self-adaptive software systems have emerged as a critical focus…

Software Engineering · Computer Science 2025-04-16 Mingyang Xu , Ryan Zheng He Liu , Mark Stoodley , Ladan Tahvildari

Test-based automated program repair has been a prolific field of research in software engineering in the last decade. Many approaches have indeed been proposed, which leverage test suites as a weak, but affordable, approximation to program…

Developing interactive software, such as websites or games, is a particularly engaging way to learn computer science. However, teaching and giving feedback on such software is time-consuming -- standard approaches require instructors to…

Machine Learning · Computer Science 2022-11-17 Evan Zheran Liu , Moritz Stephan , Allen Nie , Chris Piech , Emma Brunskill , Chelsea Finn