Sandwich Testing Model

Testing is not always black or white, there are some gray's also thrown in the mix. The gray here refers to the combinations where the testing approach is a mix of two or more. One such mixed testing approach is Sandwich Testing as well. This article aims to throw some light on the Modified Sandwich Testing Model.

What Is Sandwich Testing?

Integration Testing consists of two approaches, i.e., top-down approach and bottom-up approach. When these two approaches are mixed the resultant is known as Sandwich Testing.

What Is Modified Sandwich Testing?

In Sandwich testing, each vertical component is integrated with the subsequent one and then tested as a whole entity. The drawback of this method is that it does not test the individual sub-systems methodically and systematically. To overcome this problem, Modified Sandwich Testing was developed. In this approach or model, each layer is first tested thoroughly and subsequent to that integrated with the next fully tested layer. Hence, Modified Sandwich Testing Model is that in which all the parallel layers are first checked thoroughly and then integrated with the next one and rechecked as a complete unit until the entire software is integrated.

Modified Sandwich Testing Model

In a Modified Sandwich Testing Model:

  • Each individual layer is first tested. Post the completion of the tests they are combined with each other in increments, all the while retesting when each increment is added or integrated.
  • The testing of each individual layer consists of three types of tests.
    1. The target layer or the principal layer is tested with both drivers and stubs.
    2. The bottom layer is tested with drivers.
    3. The upper layer is tested with stubs.
  • The layers are now combined and have to pass through two tests. These are:
    1. The upper layer or the top layer will now replace the drivers and be tested.
    2. The lower or the bottom layer will now replace the stubs and be tested.

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.


In the end, as is clear from the above discussion, the Modified Sandwich Testing Model is very helpful in bringing each small part of the layer to the forefront. In this way, even small and insignificant parts can be tested with thoroughness so as to remove all bugs and defects. After all, it is these small areas which, when left untested can cause significant trouble in the form of software malfunction. Small does not mean important so using Modified Sandwich Testing when required is a must.