Object-oriented programming testing methodology

Inheritance is an important attribute in object-oriented programming (OOP). This notion supports the class hierarchy design and captures the is-a relationship between a class and its subclass. It contributes to food properties of modularity, reusability and incremental design. However, misuse of multiple (repeated) inheritance leads to an improper class hierarchy which suffers from name-conflict and implicit errors. This type of error is very difficult to detect by conventional testing methodologies. This paper describes a graph-theoretical testing methodology for detecting this type of error. An algorithm to support this testing methodology is also presented.<<ETX>>

[1]  Chi-Ming Chung Software development techniques-Combining testing and metrics , 1990, IEEE TENCON'90: 1990 IEEE Region 10 Conference on Computer and Communication Systems. Conference Proceedings.

[2]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[3]  Charles W. Butler,et al.  Design complexity measurement and testing , 1989, CACM.

[4]  Bertrand Meyer,et al.  Eiffel: A language and environment for software engineering , 1988, J. Syst. Softw..

[5]  Ed Seidewitz,et al.  Toward a general object-oriented software development methodology , 1987, ALET.

[6]  Chi-Ming Chung,et al.  Object-oriented concurrent programming from testing view , 1989 .

[7]  Richard G. Hamlet,et al.  Data Abstraction, Implementation, Specification, and Testing , 1981, TOPL.

[8]  Martin R. Woodward,et al.  A Measure of Control Flow Complexity in Program Text , 1979, IEEE Transactions on Software Engineering.

[9]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[10]  Ed Seidewitz General object-oriented software development: background and experience , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

[11]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[12]  Grady Booch,et al.  Object-oriented development , 1986, IEEE Transactions on Software Engineering.

[13]  Mike Stark,et al.  General object-oriented software development , 1986 .

[14]  Paul T. Ward How to integrate object orientation with structured analysis and design , 1989, IEEE Software.

[15]  Simeon C. Ntafos,et al.  On Required Element Testing , 1984, IEEE Transactions on Software Engineering.

[16]  Janusz W. Laski,et al.  A Data Flow Oriented Program Testing Strategy , 1983, IEEE Transactions on Software Engineering.

[17]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[18]  Chi-Ming Chung,et al.  A family of testing path selecting criteria , 1991 .

[19]  Claude Berge,et al.  Graphs and Hypergraphs , 2021, Clustering.