Compatibility Testing

   


Compatibility testing covers several separate aspects of the testing phase, but generally the purpose is to ensure that modules, or components of an application, work both together and with other applications on the system.

Integration and coexistence testing have deliberately been separated here to show the difference between modules of a program working together (described here as integration testing) and the integration of the application into the existing environment, the coexistence element.

A further aspect that fits somewhere between integration and coexistence testing is that of an application in which modules or products are supplied by several vendors . Despite statements of conformability to standards, there can often be problems when a number of different modules are used together, so testing should still be carried out under these conditions.

Unit Testing

Unit testing is the first testing phase that is carried out as part of a development project. A programmer, for example, has written a function. It needs to be tested in isolation, with the objective to ensure that it does exactly what it is meant to do, based on the specification that was provided. Here, the programmer can test his own code to ensure that there are no bugs .

Consider, as an example, the requirement to produce an ad-hoc backup facility for the Solaris servers. One function could be to check that a backup tape is present in the drive and rewind it. The unit testing would involve this function only.

Importance of Testing

The emphasis on testing is normally related to applications that have been written either in-house or by a third-party supplier. It is important to note, however, that even off-the-shelf products require testing to be carried out, particularly coexistence testing and performance testing. These are important to verify that the product will not cause any adverse effect on the rest of the system and that the system is capable of handling the expected demand for concurrent usage.


Integration Testing

Integration testing during the development of an application is carried out in a similar way to unit testing, but it involves a number of modules that interact with each other. Taking the previous example, the integration test would comprise the entire backup program, complete with functions and subroutines. The theory behind integration testing is that it tests the interaction between different units to ensure that they function as expected and as specified in the requirement.

Coexistence Testing

Coexistence testing is a necessary part of the overall testing strategy. It confirms that the new component works in harmony with the existing system, whether hardware or software. In the case of hardware, it could be the addition of a tape drive requiring a patch to be added, a patch that conflicts with another patch already installed on the live system.

In the case of an application, the installation procedure could, for example, modify library modules that subsequently cause other applications to stop working. Coexistence testing identifies these potential problems, which might otherwise go unnoticed, causing severe, unexpected problems when installed in the live environment.


   
Top


Solaris System Management
Solaris System Management (New Riders Professional Library)
ISBN: 073571018X
EAN: 2147483647
Year: 2001
Pages: 101
Authors: John Philcox

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net