Understanding the test pyramid
The test pyramid is a diagrammatic representation of the distribution of different kinds of tests. It acts as a guideline when planning for the test coverage of a software product. It also helps to keep in mind the scope of each test so that it remains within the designed level, thereby increasing the portability and stability of the test. The following diagram summarizes the test automation pyramid:
Figure 2.4 – Test automation pyramid
Let us look at each layer of the pyramid in a little more detail.
Unit/component tests
They are tests defined at the lowest level of the system. They are written by the engineer developing the feature, and the involvement of test engineers is minimal (and sometimes zero) in these tests. They form a healthy collection of tests, providing excellent coverage for all the code components. Frameworks used to put these tests in place include xUnit, Rspec, and more. They are completely...