Equality to Equals and Unequals: A Revisit of the Equivalence and Nonequivalence Criteria in Class-Level Testing of Object-Oriented Software

被引:8
作者
Chen, Huo Yan [1 ]
Tse, T. H. [2 ]
机构
[1] Jinan Univ, Dept Comp Sci, Guangzhou 510632, Guangdong, Peoples R China
[2] Univ Hong Kong, Dept Comp Sci, Pokfulam, Hong Kong, Peoples R China
基金
澳大利亚研究理事会; 美国国家科学基金会;
关键词
Software testing; equivalence criterion; nonequivalence criterion; algebraic specification; object-oriented software; ALGEBRAIC SPECIFICATIONS; IMPLEMENTATION;
D O I
10.1109/TSE.2013.33
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Algebraic specifications have been used in the testing of object-oriented programs and received much attention since the 1990s. It is generally believed that class-level testing based on algebraic specifications involves two independent aspects: the testing of equivalent and nonequivalent ground terms. Researchers have cited intuitive examples to illustrate the philosophy that even if an implementation satisfies all the requirements specified by the equivalence of ground terms, it may still fail to satisfy some of the requirements specified by the nonequivalence of ground terms. Thus, both the testing of equivalent ground terms and the testing of nonequivalent ground terms have been considered as significant and cannot replace each other. In this paper, we present an innovative finding that, given any canonical specification of a class with proper imports, a complete implementation satisfies all the observationally equivalent ground terms if and only if it satisfies all the observationally nonequivalent ground terms. As a result, these two aspects of software testing cover each other and can therefore replace each other. These findings provide a deeper understanding of software testing based on algebraic specifications, rendering the theory more elegant and complete. We also highlight a couple of important practical implications of our theoretical results.
引用
收藏
页码:1549 / 1563
页数:15
相关论文
共 33 条
[1]  
Aiguier M, 2006, LECT NOTES COMPUT SC, V3997, P203
[2]  
[Anonymous], 1978, CURRENT TRENDS PROGR
[3]   Automatically checking an implementation against its formal specification [J].
Antoy, S ;
Hamlet, D .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (01) :55-69
[4]   SOFTWARE TESTING BASED ON FORMAL SPECIFICATIONS - A THEORY AND A TOOL [J].
BERNOT, G ;
GAUDEL, MC ;
MARRE, B .
SOFTWARE ENGINEERING JOURNAL, 1991, 6 (06) :387-405
[5]  
BERNOT G, 1991, LECT NOTES COMPUT SC, V494, P99
[6]  
Bidoit Michel., 2004, CASL USER MANUAL INT
[7]  
Bo Yu, 2008, 2008 First IEEE International Conference on Software Testing, Verification and Validation (ICST '08), P190, DOI 10.1109/ICST.2008.39
[8]  
BORBA P, 1994, P INT WORKSH INF SYS
[9]   TEST SETS GENERATION FROM ALGEBRAIC SPECIFICATIONS USING LOGIC PROGRAMMING [J].
BOUGE, L ;
CHOQUET, N ;
FRIBOURG, L ;
GAUDEL, MC .
JOURNAL OF SYSTEMS AND SOFTWARE, 1986, 6 (04) :343-360
[10]   Automatic Generation of Normal Forms for Testing Object-Oriented Software [J].
Chen, Huo Yan ;
Tse, T. H. .
2009 NINTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE (QSIC 2009), 2009, :108-+