Logic for problem-solving
An Approach to Program Testing
ACM Computing Surveys (CSUR)
Automatic data structure choice in a language of very high level
Communications of the ACM
Art of Software Testing
Specification-based test oracles for reactive systems
ICSE '92 Proceedings of the 14th international conference on Software engineering
The evolution of an integrated testing environment by the Domain Testing Strategy
ACM '84 Proceedings of the 1984 annual conference of the ACM on The fifth generation challenge
Parameterizing random test data according to equivalence classes
Proceedings of the 2nd international workshop on Random testing: co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007)
Using runtime testing to detect defects in applications without test oracles
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
Search-based failure discovery using testability transformations to generate pseudo-oracles
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Automatic system testing of programs without test oracles
Proceedings of the eighteenth international symposium on Software testing and analysis
Testing and validating machine learning classifiers by metamorphic testing
Journal of Systems and Software
Metamorphic testing of a Monte Carlo modeling program
Proceedings of the 6th International Workshop on Automation of Software Test
On effective testing of health care simulation software
Proceedings of the 3rd Workshop on Software Engineering in Health Care
Automating image segmentation verification and validation by learning test oracles
Information and Software Technology
Hi-index | 0.00 |
The most commonly used method of validating a program is by testing. The programmer typically runs the program on some test cases, and if and when they run correctly, the program is considered to be correct. We know that many difficult problems are associated with testing. One such problem is that it is a fundamental part of the testing process to require the ability to infer properties of a program by observing the program's behavior on selected inputs. The most common property that one hopes to infer through testing is correctness. But unless the program is run on the entire input domain, there are infinitely many programs which produce the correct output on the selected inputs, but produce incorrect output for some other element of the domain.