Object Oriented Software Testing (International Journal of Engineering and Computer Science, 2018)
This paper deals with design and development of an automated testing tool for Object Oriented Software. By an automated testing tool, we mean a tool that automates a part of the testing process. It can include one or more of the following processes: test strategy generation, test case generation, and test case execution, test data generation, reporting and logging results. By object-oriented software we mean software designed using OO approach and implemented using a OO language. Testing of OO software is different from testing software created using procedural languages. Several new challenges are posed. In the past most of the methods for testing OO software was just a simple extension of existing methods for conventional software. However, they have been shown to be not very appropriate. Hence, new techniques have been developed. This thesis work has mainly focused on testing design specifications for OO software. As described later, there is a lack of specification-based testing tools for OO software. An advantage of testing software specifications as compared to program code is that specifications are generally correct whereas code is flawed. Moreover, with software engineering principles firmly established in the industry, most of the software developed nowadays follow all the steps of Software Development Life Cycle (SDLC). For this work, UML specifications created in Rational Rose are taken. UML has become the de-facto standard for analysis and design of OO software. Testing is conducted at 3 levels: Unit, Integration and System. At the system level there is no difference between the testing techniques used for OO software and other software created using a procedural language, and hence, conventional techniques can be used. This tool provides features for testing at Unit (Class) level as well as Integration level. Further a maintenance-level component has also been incorporated. Results of applying this tool to sample Rational Rose files have been incorporated, and have been found to be satisfactory.