Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities?

03/07/2023
by   Wajdi Aljedaani, et al.
0

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 cases are subject to bad programming practices, known as test smells, that hurt maintenance activities. An essential part of most maintenance activities is program comprehension which involves developers reading the code to understand its behavior to fix issues or update features. In this study, we conduct a controlled experiment with 96 undergraduate computer science students to investigate the impact of two common types of test smells, namely Assertion Roulette and Eager Test, on a student's ability to debug and troubleshoot test case failures. Our findings show that students take longer to correct errors in production code when smells are present in their associated test cases, especially Assertion Roulette. We envision our findings supporting academia in better equipping students with the knowledge and resources in writing and maintaining high-quality test cases. Our experimental materials are available online: https://wajdialjedaani.github.io/testsmellstd/

READ FULL TEXT

page 6

page 7

research
02/16/2021

How do students test software units?

We gained insight into ideas and beliefs on testing of students who fini...
research
07/27/2023

StubCoder: Automated Generation and Repair of Stub Code for Mock Objects

Mocking is an essential unit testing technique for isolating the class u...
research
03/01/2023

An Exploratory Study on the Usage and Readability of Messages Within Assertion Methods of Test Cases

Unit testing is a vital part of the software development process and inv...
research
03/12/2020

A survey on test practitioners' awareness of test smells

Developing test code may be a time-consuming task that usually requires ...
research
04/29/2021

Test Smell Detection Tools: A Systematic Mapping Study

Test smells are defined as sub-optimal design choices developers make wh...
research
05/31/2022

K-Detector: Identifying Duplicate Crash Failures in Large-Scale Software Delivery

After a developer submits code, corresponding test cases arise to ensure...
research
11/09/2021

Test cases as a measurement instrument in experimentation

Background: Test suites are frequently used to quantify relevant softwar...

Please sign up or login with your details

Forgot password? Click here to reset