Test sets generation from algebraic specifications using logic programming
Journal of Systems and Software
Unifying functional, object-oriented and relational programming with logical semantics
Research directions in object-oriented programming
Adequate testing and object-oriented programming
Journal of Object-Oriented Programming
A Theory of Fault-Based Testing
IEEE Transactions on Software Engineering
Case studies on testing object-oriented programs
TAV4 Proceedings of the symposium on Testing, analysis, and verification
Test Selection Based on Finite State Models
IEEE Transactions on Software Engineering
A framework for testing object-oriented programs
Journal of Object-Oriented Programming
The craft of C: take-charge programming
The craft of C: take-charge programming
Software testing based on formal specifications: a theory and a tool
Software Engineering Journal
Incremental testing of object-oriented class structures
ICSE '92 Proceedings of the 14th international conference on Software engineering
Journal of Systems and Software - Special issue on applying specification, verification, and validation techniques to industrial software systems
Automated flow graph-based testing of object-oriented software modules
Journal of Systems and Software - Special issue on object-oriented software
The ASTOOT approach to testing object-oriented programs
ACM Transactions on Software Engineering and Methodology (TOSEM)
A simplified domain-testing strategy
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards an algebraic semantics for the object paradigm
Selected papers from 9th workshop on Specification of abstract data types : recent trends in data type specification: recent trends in data type specification
Data Abstraction, Implementation, Specification, and Testing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Abstract and Concrete Objects - An Algebraic Design Method for Object-Based Systems
AMAST '93 Proceedings of the Third International Conference on Methodology and Software Technology: Algebraic Methodology and Software Technology
A Sheaf Semantics for FOOPS Expressions
ECOOP '91 Proceedings of the Workshop on Object-Based Concurrent Computing
Dynamic Data Flow Analysis for C++
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
A finite domain-testing strategy for computer program testing.
A finite domain-testing strategy for computer program testing.
A Test Strategy for Object-Oriented Programs
COMPSAC '95 Proceedings of the 19th International Computer Software and Applications Conference
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
A framework for testing database applications
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
TACCLE: a methodology for object-oriented software testing at the class and cluster levels
ACM Transactions on Software Engineering and Methodology (TOSEM)
Testing from Formal Specifications, a Generic Approach
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
Prioritization of Test Cases in MUMCUT Test Sets: An Empirical Study
Ada-Europe '02 Proceedings of the 7th Ada-Europe International Conference on Reliable Software Technologies
A Graphical Class Representation for Integrated Black- and White-Box Testing
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Choice Relation Framework for Supporting Category-Partition Test Case Generation
IEEE Transactions on Software Engineering
A Tool for Writing and Debugging Algebraic Specifications
Proceedings of the 26th International Conference on Software Engineering
Testing Object Oriented Software
Proceedings of the 26th International Conference on Software Engineering
QSIC '04 Proceedings of the Quality Software, Fourth International Conference
Integrating customized test requirements with traditional requirements in web application testing
Proceedings of the 2006 workshop on Testing, analysis, and verification of web services and applications
Testing object-oriented industrial software without precise oracles or results
Communications of the ACM
Automated Software Engineering
Automated generation of test suites from formal specifications of real-time reactive systems
Journal of Systems and Software
Developing and debugging algebraic specifications for Java classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Validating Behavioral Component Interfaces in Rewriting Logic
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Data flow testing of service-oriented workflow applications
Proceedings of the 30th international conference on Software engineering
Using formal specifications to support testing
ACM Computing Surveys (CSUR)
The axioms strike back: testing with concepts and axioms in C++
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Testing from Structured Algebraic Specifications: The Veritas Case Study
Electronic Notes in Theoretical Computer Science (ENTCS)
Testing data types implementations from algebraic specifications
Formal methods and testing
Testing techniques in software engineering
Testing techniques in software engineering
Model Testing Asynchronously Communicating Objects using Modulo AC Rewriting
Electronic Notes in Theoretical Computer Science (ENTCS)
XML-manipulating test case prioritization for XML-manipulating services
Journal of Systems and Software
An experimental assessment of module documentation-based testing
Information and Software Technology
Combining algebraic and model-based test case generation
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Executable interface specifications for testing asynchronous creol components
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
An experimental evaluation of weak-branch criterion for class testing
Journal of Systems and Software
Validating Behavioral Component Interfaces in Rewriting Logic
Fundamenta Informaticae - Behavior of Composed Concurrent Systems: Logic and Reasoning
Hi-index | 0.02 |
Because of the growing importance of object-oriented programming, a number of testing strategies have been proposed. They are based either on pure black-box or white-box techniques. We propose in this article a methodology to integrate the black- and white-box techniques. The black-box technique is used to select test cases. The white-box technique is mainly applied to determine whether two objects resulting from the program execution of a test care are observationally equivalent. It is also used to select test cases in some situations. We define the concept of a fundamental pair as a pair of equivalent terms that are formed by replacing all the variables on both sides of an axiom by normal forms. We prove that an implementation is consistent with respect to all equivalent terms if and only if it is consistent with respect to all fundamental pairs. In other words, the testing coverage of fundamental pairs is as good as that of all possible term rewritings, and hence we need only concentrate on the testing of fundamental pairs. Our strategy is based on mathematical theorems. According to the strategy, we propose an algorithm for selecting a finite set of fundamental pairs as test cases. Given a pair of equivalent terms as a test case, we should then determine whether the objects that result from executing the implemented program are observationally equivalent. We prove, however, that the observational equivalence of objects cannot be determined using a finite set of observable contexts (which are operation sequences ending with an observer function) derived from any black-box technique. Hence we supplement our approach with a “relevant observable context” technique, which is a heuristic white-box technique to select a relevant finite subset of the set of observable contexts for determining the observational equivalence. The relevant observable contezxts are constructed from a data member relevance graph (DRG), which is an abstraction of the given implementation for a given specificatin. A semiautomatic tool hass been developed to support this technique.