Test Pyramid

The "Test Pyramid" is a metaphor that tells us to group software tests into buckets of different granularity.

The Test Pyramid is an industry-standard guideline for functional test case development. It will make the testing process faster, efficient, and cost-effective. 

The approach of the test pyramid is to have a proper balance of automated tests in different layers. The Test Pyramid has 3 layers and the essential point is that you should have many more low-level unit tests than high-level end-to-end tests running through a GUI.



  • Unit Test: A Unit Test focuses on testing a small component or single piece of functionality of the codebase. It validates every single component of the software behaves as expected in isolated conditions. This is the largest subset and the unit test suite must be written to run as much as possible. And also this test suite needs to be run every time a new feature is added to the system. Unit tests are fast, easy to control, and easy to write.
          Tools used for Unit Testing - JUnit, NUnit, TestNG
  • Integration Test: Integration tests make up the middle tier of our test automation pyramid. Integration tests are the tests that validate the interaction of a piece of code with external components. The goal of integration testing is to test multiple components of a system together, focusing on the interactions between them instead of testing the system as a whole. 
          Tools used for Integration Testing - Jasmine, Protractor, VectorCAS/C++VectorCAS/Ada
  • End-to-End Test: End-to-end tests make up the top tier of the test pyramid. The perspective of writing E2E tests is, to validate that your entire application is functioning properly and functioning as expected from front end to back end. End-to-end tests ensure that your application is working from start to finish. 
          Tools used for End-to-End Testing - Protractor, Webdriverio, NightwatchJS, Appium.




Comments