ACHIEVING SOFTWARE QUALITY WITH TESTING COVERAGE MEASURES

被引:63
作者
HORGAN, TR
LONDON, S
LYU, MR
机构
关键词
D O I
10.1109/2.312032
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Coverage analysis of programs during testing gives a clear measure of testing quality and reveals important aspects of program structure. Thus, it can be a significant component in the assessment of overall software quality. This article describes the uses of a dataflow coverage-testing tool for C programs - called ATAC for Automatic Test Analysis for C - in measuring, controlling, and understanding the testing process. It presents case studies of two real-world software projects using ATAC. The first study, a joint project of the University of Iowa and Rockwell, involved fault-tolerant software for a critical automatic flight-control system. The 12 program versions developed by study participants obtained very high testing coverage scores, indicating the achievement of high-quality software. These results were confirmed in field testing (only one fault was found). The second study, a retrospective evaluation of 33 Bellcore program modules, compared test coverage with number of system faults. The Iowa/Rockwell study suggests guidelines of 90 percent block coverage, 80 percent decision coverage, 90 percent computation-uses coverage, and 70 percent predicate-uses coverage. However, the Bellcore data shows that practical testing falls far short of these standards. Indeed, 70 percent coverage is usually considered a safe, practical minimum for large projects. The basic rule of thumb is that all code should be covered or otherwise validated.
引用
收藏
页码:60 / 69
页数:10
相关论文
共 12 条
[1]  
CHEN M, 1992, SERCTR117P PURD U TE
[2]  
DEMILLO RA, 1987, SOFTWARE TESTING EVA
[3]   AN APPLICABLE FAMILY OF DATA FLOW TESTING CRITERIA [J].
FRANKL, PG ;
WEYUKER, EJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (10) :1483-1498
[4]  
Horgan J. R., 1992, Proceedings of the Second Symposium on Assessment of Quality Software Development Tools (Cat. No.92TH0415-0), P2, DOI 10.1109/AQSDT.1992.205829
[5]  
Howden W. E., 1987, FUNCTIONAL PROGRAM T
[6]  
Lyu M. R., 1992, Dependable Computing for Critical Applications 2, P197
[7]   APPLYING RELIABILITY MODELS MORE EFFECTIVELY [J].
LYU, MR ;
NIKORA, A .
IEEE SOFTWARE, 1992, 9 (04) :43-52
[8]   IMPROVING THE N-VERSION PROGRAMMING PROCESS THROUGH THE EVOLUTION OF A DESIGN PARADIGM [J].
LYU, MR ;
HE, YT .
IEEE TRANSACTIONS ON RELIABILITY, 1993, 42 (02) :179-189
[9]  
LYU MR, 1993, 4TH P INT S SOFTW RE, P25
[10]  
PIWOWARSKI P, 1993, 15 INT C SOFTW ENG, P287