We find that each of these approaches has its own inadequacy in testing object-oriented systems. We propose a testing methodology which integrates both approaches, hence combining their advantages. It is also important to develop automated tools to assist the testing process and to determine the observational equivalence of two output objects resulting from executions. Since software testing is one of the most quality critical and resource consuming phases of the software development process, it is important to develop an efficient and effective testing method for object-oriented systems. Supported in part by a grant of the Research Grants Council of Hong Kong Effective software testing plays a very important role in ensuring reliability.
Subdomain testing is one of the most important and practical techniques.
The input domain is divided into smaller subsets, each of which will be tested independently to detect any potential failure. Unfortunately, it has been found in two recent empirical studies that subdomain testing may not necessarily be better than testing programs with random test data. This state of affairs is disheartening for software developers and testers. We would like to use our experiences in formal techniques and software testing to solve the problem. We propose to identify specific conditions under which subdomain testing will definitely be better than random testing, and other criteria under which one test data allocation scheme to be better than another.