How developers engineer test cases: An observational study

One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on software testing and automated test case generation is already quite significant, in practice, developers are still the on...

Full description

Saved in:
Bibliographic Details
Main Authors: ANICHE, Maurício, TREUDE, Christoph, ZAIDMAN, Andy
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2022
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8792
https://ink.library.smu.edu.sg/context/sis_research/article/9795/viewcontent/aniche.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9795
record_format dspace
spelling sg-smu-ink.sis_research-97952024-05-30T08:50:43Z How developers engineer test cases: An observational study ANICHE, Maurício TREUDE, Christoph ZAIDMAN, Andy One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on software testing and automated test case generation is already quite significant, in practice, developers are still the ones responsible for engineering test cases manually. Therefore, understanding the developers’ thought- and decision-making processes while engineering test cases is a fundamental step in making developers better at testing software. In this paper, we observe 13 developers thinking-aloud while testing different real-world open-source methods, and use these observations to explain how developers engineer test cases. We then challenge and augment our main findings by surveying 72 software developers on their testing practices. We discuss our results from three different angles. First, we propose a general framework that explains how developers reason about testing. Second, we propose and describe in detail the three different overarching strategies that developers apply when testing. Third, we compare and relate our observations with the existing body of knowledge and propose future studies that would advance our knowledge on the topic. 2022-12-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8792 info:doi/10.1109/TSE.2021.3129889 https://ink.library.smu.edu.sg/context/sis_research/article/9795/viewcontent/aniche.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Codes Software Task Analysis Software Testing Tools Documentation Computer Bugs Software Engineering Software Testing Developer Testing Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Codes
Software
Task Analysis
Software Testing
Tools
Documentation
Computer Bugs
Software Engineering
Software Testing
Developer Testing
Software Engineering
spellingShingle Codes
Software
Task Analysis
Software Testing
Tools
Documentation
Computer Bugs
Software Engineering
Software Testing
Developer Testing
Software Engineering
ANICHE, Maurício
TREUDE, Christoph
ZAIDMAN, Andy
How developers engineer test cases: An observational study
description One of the main challenges that developers face when testing their systems lies in engineering test cases that are good enough to reveal bugs. And while our body of knowledge on software testing and automated test case generation is already quite significant, in practice, developers are still the ones responsible for engineering test cases manually. Therefore, understanding the developers’ thought- and decision-making processes while engineering test cases is a fundamental step in making developers better at testing software. In this paper, we observe 13 developers thinking-aloud while testing different real-world open-source methods, and use these observations to explain how developers engineer test cases. We then challenge and augment our main findings by surveying 72 software developers on their testing practices. We discuss our results from three different angles. First, we propose a general framework that explains how developers reason about testing. Second, we propose and describe in detail the three different overarching strategies that developers apply when testing. Third, we compare and relate our observations with the existing body of knowledge and propose future studies that would advance our knowledge on the topic.
format text
author ANICHE, Maurício
TREUDE, Christoph
ZAIDMAN, Andy
author_facet ANICHE, Maurício
TREUDE, Christoph
ZAIDMAN, Andy
author_sort ANICHE, Maurício
title How developers engineer test cases: An observational study
title_short How developers engineer test cases: An observational study
title_full How developers engineer test cases: An observational study
title_fullStr How developers engineer test cases: An observational study
title_full_unstemmed How developers engineer test cases: An observational study
title_sort how developers engineer test cases: an observational study
publisher Institutional Knowledge at Singapore Management University
publishDate 2022
url https://ink.library.smu.edu.sg/sis_research/8792
https://ink.library.smu.edu.sg/context/sis_research/article/9795/viewcontent/aniche.pdf
_version_ 1814047531444731904