Automation of Test Skeletons within Test-Driven Development Projects

被引:0
作者
Olmez, Muhammet Mustafa [1 ]
Gehringer, Edward [2 ]
机构
[1] North Carolina State Univ, Dept Elect & Comp Engn, Raleigh, NC 27695 USA
[2] North Carolina State Univ, Dept Comp Sci, Raleigh, NC USA
来源
2024 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING, CSEE & T 2024 | 2024年
关键词
Test skeletons; Test-driven development; test generation; Human-machine interaction; AI tool; GENERATION;
D O I
10.1109/CSEET62301.2024.10663016
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In addressing the need for test case generation in software projects and the validation and repair processes, various algorithms and AI models are increasingly being applied with novel approaches. On the other hand, despite the established effectiveness of the Test-Driven Development (TDD) approach in testing and development, there is still a lack of research examining the impact of human-machine interaction on software validation and coding. This paper introduces a tool, the test-skeleton generator, which utilizes an OpenAI model to generate test skeletons. These skeletons include test names, signatures, and scenario descriptions, omitting the actual test bodies. To explore the implications of this tool, an empirical experiment involving student participation was conducted to assess the conversion of test skeletons into functional tests with human-machine interaction. The study reveals significant insights, indicating that human-machine interaction plays a crucial role in shaping both the testing and programming phases, encouraging students to prioritize writing tests before modifying source code. Teams adopting this approach demonstrate a tendency to produce more tests, leading to higher code coverage. Additionally, our research underscores the growing potential of AI language models to generate tests that closely resemble those written by human developers. Notably, human-machine interaction has proven its significant positive impact on the validation and repair process of AI-generated tests.
引用
收藏
页数:10
相关论文
共 38 条
[1]   A Comprehensive Investigation of Natural Language Processing Techniques and Tools to Generate Automated Test Cases [J].
Ahsan, Imran ;
Butt, Wasi Haider ;
Ahmed, Mudassar Adeel ;
Anwar, Muhammad Waseem .
PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON INTERNET OF THINGS, DATA AND CLOUD COMPUTING (ICC 2017), 2017,
[2]   Guidelines for Human-AI Interaction [J].
Amershi, Saleema ;
Weld, Dan ;
Vorvoreanu, Mihaela ;
Fourney, Adam ;
Nushi, Besmira ;
Collisson, Penny ;
Suh, Jina ;
Iqbal, Shamsi ;
Bennett, Paul N. ;
Inkpen, Kori ;
Teevan, Jaime ;
Kikin-Gil, Ruth ;
Horvitz, Eric .
CHI 2019: PROCEEDINGS OF THE 2019 CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 2019,
[3]   Studying test-driven development and its retainment over a six-month time spank [J].
Baldassarre, Maria Teresa ;
Caivano, Danilo ;
Fucci, Davide ;
Juristo, Natalia ;
Romano, Simone ;
Scanniello, Giuseppe ;
Turhan, Burak .
JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 176
[4]   Performance Outcomes of Test-Driven Development: An Experimental Investigation [J].
Bhadauria, Vikram S. ;
Mahapatra, RadhaKanta ;
Nerur, Sridhar P. .
JOURNAL OF THE ASSOCIATION FOR INFORMATION SYSTEMS, 2020, 21 (04) :1045-1071
[5]  
Brown TB, 2020, ADV NEUR IN, V33
[6]  
Cavarra A., P ISSTA, V15
[7]  
Chen YH, 2024, Arxiv, DOI arXiv:2305.04764
[8]   The effectiveness of test-driven development: an industrial case study [J].
Dogsa, Tomaz ;
Batic, David .
SOFTWARE QUALITY JOURNAL, 2011, 19 (04) :643-661
[9]  
Fraser Gordon, 2011, 19 ACM SIGSOFT S FDN, P416, DOI [10.1145/2025113.2025179, DOI 10.1145/2025113.2025179]
[10]   A Dissection of the Test-Driven Development Process: Does It Really Matter to Test-First or to Test-Last? [J].
Fucci, Davide ;
Erdogmus, Hakan ;
Turhan, Burak ;
Oivo, Markku ;
Juristo, Natalia .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2017, 43 (07) :597-614