Features of object-oriented programming languages undoubtedly have an impact on some aspects of testing. The language features, specifically interfaces and class inheritance support polymorphism, under which the program manipulates objects from an unknown class. The testing specialists must make sure that the programs work correctly regardless of what the exact class of these objects may be. The features that support and force information hiding can complicate the process of testing, because some operations from time to time should be included in the class interface specifically to support testing. Alternatively, such features can contribute to building reusable and better quality testing programs.
Not only changes in the programming language do have an obvious impact on testing, but also do changes in the development and a shift in emphasis of analysis and design. Lots of object-oriented testing procedures have counterparts in typical processes. We still perform unit testing, though the unit has got a different meaning. We continue to conduct integration testing in order to confirm that the subsystems interact with each other. We still resort to regression testing to ascertain that the last round of program changes has not adversely affected the capabilities of the system, and the system is able to do everything that it could do before the changes. SQA consulting is necessary to provide you with exhaustive and useful information on effective and efficient software development.
There are differences between “old” and “new” methods for developing and testing software apps which go deeper than the emphasis does into the object instead of into function that converts input to output. The main distinction is that object-oriented software is developed as a set of objects that simulate a problem and collaborate to find its effective solution. This approach is based on the principle that the solution to a problem might alter as time goes, and at the same time the components and structure of the problem are not changed as much or as often. Accordingly, a program that is structured from the problem (and not at all directly on the required solution) is more adaptable to subsequent changes. A programming specialist aware of the problem and its components is able to recognize them in the software, thus making the software more operable and maintainable. Moreover, since the components are derivatives of the problem, they are fit for reuse in the development of other software to solve the same or similar problems, resulting in increased reusability of software components.
Add Comment