Modified Sandwich Testing Model

March 31, 2018

Before moving on towards defining the qualities of modified sandwich testing model, it is crucial for us to understand sandwich testing, on which the former is significantly dependent. A type of Integration testing, Sandwich testing is a fusion of both incremental and non-incremental integration, wherein advantages of both Top-Down approach and Bottom-Up approach are combined to get best results. Also popular as hybrid and mixed testing, sandwich testing is extremely beneficial for organizations with large scale projects. However, there are several disadvantages of this approach that can be easily tackled with modified sandwich testing model.

Defining Modified Sandwich Testing Model:

A better version of sandwich testing, modified sandwich testing model fights the drawbacks of sandwich testing and helps testers perform accurate and precise integration testing. During the process of this testing, individual layers of the software components are tested first, which are later combined together with each other in increments and tested simultaneously.

Testing Strategy:

The strategy of modified sandwich testing mainly involves testing components separately. Here, the purpose of the team is to test the subsystems and their interfaces to ensure optimum integration. Hence, the strategies followed by modified sandwich testing model are as follows:

Individual Layer Testing: To ensure proper integration, subsystems and their interfaces are tested separately with the assistance of stubs and drivers. Moreover, as the testing progresses, these stub and drivers are replaced by top and bottom layer.

Testing in Parallel: Once the process of individual testing is over, the team starts testing various components of the software together. Here, the the focus shifts from individual testing top parallel testing. Carried out in two stages, parallel testing also require stubs and driver to complete the testing process.

Here, the the middle layer of the system is tested with stubs and drivers, top layer with stubs, and bottom layer with drivers. All of these are tested simultaneously at the same time.

In this stage, the stubs and drivers present in the first stage are replaced by top and bottom layer. In short, in this stage, the top layer accesses the middle layer, but the drivers are replaced by the top layer and bottom layer is accessed by the middle layer, where bottom layer replaces stubs.

How Is Modified Sandwich Testing Beneficial

In large programs, each layer consists of numerous sub-parts which are important to the smooth functioning of the entire software. But the layers are so intricate that the sub-components are sometimes not tested as thoroughly as they should ideally be. In order to test the sub-systems or sub-components in detail, it is necessary to make them targets. This can only be achieved through Modified sandwich Testing. Therefore, modified Sandwich Testing is one method that gives due testing importance to the various parts that form a complete layer.

Advantages and Disadvantages of Modified Sandwich Model

The biggest advantage of modified sandwich testing model is that it helps software testers overcome the disadvantages of sandwich testing and enables them to fully integrate the system and its components together. Apart from these, there are other advantages as well as disadvantages of this model, which are important for testers to consider. Therefore, mentioned below are some of the advantages and disadvantages of this model:

Advantages:

Allows parallel testing of various elements of the software system.

Enables early testing of user interface components.

Performs more coverage with the same stubs.

It is a time saving process as several components are tested simultaneously.

Disadvantages:

Requires development of many stubs and drivers.

As the need for stubs and drivers is high, this model of testing becomes quite expensive.

Sandwich Testing Infographics:

Conclusion

An extension of sandwich testing, modified sandwich testing is extremely beneficial and helps testers test various components of the systems by integrating them together. With the assistance of this testing software testers can easily overcome the drawbacks of sandwich testing and ensure optimum results. Moreover, testers can reuse the targeted layer stubs and drivers and make this process an affordable one.