A COVERAGE ANALYSIS TOOL FOR THE EFFECTIVENESS OF SOFTWARE TESTING

被引:22
作者
LYU, MR
HORGAN, JR
LONDON, S
机构
[1] Bell Communications Research, Morristown
关键词
DATA-FLOW TESTING; TEST EFFECTIVENESS; TESTING COVERAGE TOOL; SOFTWARE METRIC; N-VERSION PROGRAMMING;
D O I
10.1109/24.370230
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper describes the software testing and analysis tool, ''ATAC (Automatic Test Analysis for C)'', developed as a research instrument at Bellcore to measure the effectiveness of testing data. It is also a tool to facilitate the design and evaluation of test cases during software development. To demonstrate the capability and applicability of ATAC, we obtained 12 program versions of a critical industrial application developed in a recent university/industry N-Version Software project, and used ATAC to analyze and compare coverage of the testing on the program versions. Preliminary results from this investigation show that ATAC is a powerful testing tool to provide testing metrics and quality control guidance for the certification of high quality software components or systems. In using ATAC to derive high quality test data, we assume that a good test has a high data-flow coverage score. This hypothesis requires that we show that good data-flow testing implies good software, viz, software with higher reliability, One would hope, for example, that code tested to 85% c-uses coverage would have a lower field-failure rate than similar code tested to 20% c-uses coverage. The establishment of a correlation between good data-flow testing and a low (or zero) rate of field failures is the ultimate and critical test of the usefulness of data-flow coverage testing. We demonstrated by ATAC that the 12 program versions obtained from the U. of Iowa and Rockwell NVS project (a project that has been subjected to a stringent design, implementation, and testing procedure) had very high testing coverage scores of blocks, decisions, c-uses, and p-uses. Results from the field testing (in which only one fault was found) confirmed this belief. The ultimate question that we hope ATAC can help us ans,ver is a typical question for all software reliability engineers: ''When is a program considered acceptable?'' Software reliability analysts have proposed several models to answer this question. However, none of these models address the issues of program structure or testing coverages, which are important in understanding software quality.
引用
收藏
页码:527 / 535
页数:9
相关论文
共 19 条
[1]   THE N-VERSION APPROACH TO FAULT-TOLERANT SOFTWARE [J].
AVIZIENIS, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1985, 11 (12) :1491-1501
[2]   WHEN SHOULD ONE STOP TESTING SOFTWARE [J].
DALAL, SR ;
MALLOWS, CL .
JOURNAL OF THE AMERICAN STATISTICAL ASSOCIATION, 1988, 83 (403) :872-879
[3]  
DEMILLO, 1988, 2ND P WORKSH SOFTW T
[4]  
DEMILLO RA, 1985, IEEE T SOFTWARE ENG, V11, P367
[5]   AN APPLICABLE FAMILY OF DATA FLOW TESTING CRITERIA [J].
FRANKL, PG ;
WEYUKER, EJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (10) :1483-1498
[6]  
Horgan J. R., 1994, IEEE COMPUT, V27, P60
[7]  
HORGAN JR, 1984, P SIGPLAN SIGSOFT C
[8]  
HORGAN JR, 1992, MAY P S ASS QUAL SOF, P2
[9]  
Howden W. E., 1987, FUNCTIONAL PROGRAM T
[10]   THE AUTOMATIC-GENERATION OF TEST DATA [J].
INCE, DC .
COMPUTER JOURNAL, 1987, 30 (01) :63-69