Practitioners' Views on Good Software Testing Practices

被引:30
作者
Kochhar, Pavneet Singh [1 ]
Xia, Xin [2 ]
Lo, David [3 ]
机构
[1] Microsoft, Mississauga, ON, Canada
[2] Monash Univ, Fac Informat Technol, Clayton, Vic, Australia
[3] Singapore Management Univ, Sch Informat Syst, Singapore, Singapore
来源
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2019) | 2019年
关键词
METRICS;
D O I
10.1109/ICSE-SEIP.2019.00015
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software testing is an integral part of software development process. Unfortunately, for many projects, bugs are prevalent despite testing effort, and testing continues to cost significant amount of time and resources. This brings forward the issue of test case quality and prompts us to investigate what make good test cases. To answer this important question, we interview 21 and survey 261 practitioners, who come from many small to large companies and open source projects distributed in 27 countries, to create and validate 29 hypotheses that describe characteristics of good test cases and testing practices. These characteristics span multiple dimensions including test case contents, size and complexity, coverage, maintainability, and bug detection. We present highly rated characteristics and rationales why practitioners agree or disagree with them, which in turn highlight best practices and trade-offs that need to be considered in the creation of test cases. Our findings also highlight open problems and opportunities for software engineering researchers to improve practitioner activities and address their pain points.
引用
收藏
页码:61 / 70
页数:10
相关论文
共 30 条
[1]  
[Anonymous], 2002, RTI PROJECT
[2]  
Cleland-Huang J., 2014, 3rd International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering, RAISE 2014, Hyderabad, India, June 3, 2014, P1, DOI DOI 10.1145/2593801.2593802
[3]   A Survey on Unit Testing Practices and Problems [J].
Daka, Ermira ;
Fraser, Gordon .
2014 IEEE 25TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2014, :201-211
[4]  
Devanbu Prem, 2016, ICSE
[5]  
Elbaum Sebastian, 2006, P 14 ACM SIGSOFT INT, P253
[6]   Measure It? Manage It? Ignore It? Software Practitioners and Technical Debt [J].
Ernst, Neil A. ;
Bellomo, Stephany ;
Ozkaya, Ipek ;
Nord, Robert L. ;
Gorton, Ian .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :50-60
[7]   Code Coverage for Suite Evaluation by Developers [J].
Gopinath, Rahul ;
Jensen, Carlos ;
Groce, Alex .
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, :72-82
[8]   Automated Detection of Test Fixture Strategies and Smells [J].
Greiler, Michaela ;
van Deursen, Arie ;
Storey, Margaret-Anne .
2013 IEEE SIXTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2013), 2013, :322-331
[9]   Coverage Is Not Strongly Correlated with Test Suite Effectiveness [J].
Inozemtseva, Laura ;
Holmes, Reid .
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, :435-445
[10]   Are Mutants a Valid Substitute for Real Faults in Software Testing? [J].
Just, Rene ;
Jalali, Darioush ;
Inozemtseva, Laura ;
Ernst, Michael D. ;
Holmes, Reid ;
Fraser, Gordon .
22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, :654-665