Call-stack coverage for GUI test suite reduction

被引:47
作者
McMaster, Scott [1 ]
Memon, Atif M. [1 ]
机构
[1] Univ Maryland, Dept Comp Sci, College Pk, MD 20742 USA
基金
美国国家科学基金会;
关键词
testing strategies; test coverage of code; test management; testing tools;
D O I
10.1109/TSE.2007.70756
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Graphical user interfaces (GUIs) are used as front ends to most of today's software applications. The event-driven nature of GUIs presents new challenges for testing. One important challenge is test suite reduction. Conventional reduction techniques/tools based on static analysis are not easily applicable due to the increased use of multilanguage GUI implementations, callbacks for event handlers, virtual function calls, reflection, and multithreading. Moreover, many existing techniques ignore code in libraries and fail to consider the context in which event handlers execute. Consequently, they yield GUI test suites with seriously impaired fault-detection abilities. This paper presents a reduction technique based on the call-stack coverage criterion. Call stacks may be collected for any executing program with very little overhead. Empirical studies in this paper compare reduction based on call-stack coverage to reduction based on line, method, and event coverage, including variations that control for the size and optional consideration of library methods. These studies show that call-stack-based reduction provides unique trade-offs between the reduction in test suite size and the loss of fault detection effectiveness, which may be valuable in practice. Additionally, an analysis of the relationship between coverage requirements and fault-revealing test cases is presented.
引用
收藏
页码:99 / 115
页数:17
相关论文
共 29 条
[1]  
AMMONS G, 1997, P ACM SIGPLAN C PROG
[2]   Finding failures by cluster analysis of execution profiles [J].
Dickinson, W ;
Leon, D ;
Podgurski, A .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :339-348
[3]  
DO H, 2006, P 14 ACM SIGSOFT S F
[4]   Test case prioritization: A family of empirical studies [J].
Elbaum, S ;
Malishevsky, AG ;
Rothermel, G .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (02) :159-182
[5]  
FRANKL PG, 1998, P 6 ACM SIGSOFT S FD
[6]   Improving test suites via operational abstraction [J].
Harder, M ;
Mellen, J ;
Ernst, MD .
25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, :60-71
[7]  
Harrold M.J., 1993, ACM T SOFTWARE ENG M, V2
[8]  
HORGAN JR, 1991, P 4 ACM S TEST AN VE
[9]  
Hunt G, 1999, PROCEEDINGS OF THE 3RD USENIX WINDOWS NT SYMPOSIUM, P135
[10]  
Jeffrey D, 2005, PROC IEEE INT CONF S, P549