Test Pyramid

Blog > Test Driven Development

Test Pyramid

For a software project to be successful, you need a successful testing strategy. One of the ways to do this is to use the Test Pyramid. No matter what type of project you are working on, it is still important to have it

Even the simplest example in our daily life is when we buy an electronic device, the priority is whether it works or not. After testing its functionality, we still continue to test other functionalities of the product. Software testing actually has the same feature.

Being able to test software functionality is of course important, but we are aware of the fact that testing with bad strategy only costs us time.

Partial tests, intermittent tests that fail for no reason, tests that are difficult to maintain and implement are just a few examples of bad development tests. Time is perhaps one of the most important building blocks of the software industry. Test methods to be applied with proper tactics and strategies will carry us forward.

The test pyramid concept actually helps us in the matter.

What we call the test pyramid actually consists of 3 levels. These are respectively;


 - Unit Test,

 - Integration Test,

 - E2E Test


Unit Test

A piece of code, such as a method, function or procedure, is isolated from other code blocks, and prepared tests are tried to show that it fulfills the expected functionality correctly and does not contain errors.


Integration test

These are the tests that are designed and applied after the interaction of different parts of different components of a software system with each other.

For example, it is possible to view and test compatibility between layers in software with a database and framework or a multi-layered software architecture.


E2E Test

As the name suggests, it is a strategy of thoroughly testing a system from top to bottom, from possible user actions to the database level. For example, it is the case that new requests that may come by the customer during the project construction phase can be tested thoroughly for compatibility with other readily tested structures. These are actually some black box testing techniques.


Although the things I have written above seem small and easy, but they are actually structures that are not easy to implement and follow. It is something that needs even more attention and care, especially if an agile software strategy is used. Working as diligently as possible and being able to use the right techniques will always be a plus for us.