Article

Testing Pyramid


Balance the Test Pyramid



Unit tests

  • Testing individual components or functionalities. They are small and isolated, so every Unit test can run separately.
  • They are fast, so they can be executed often. The good practice is to execute the Unit tests with every code change.
  • They are considered the cheapest as they are easiest to maintain, they run fast and can be the first to find mistakes if used properly.
  • These are the reasons for having the highest number of Unit tests.

System / Integration tests

  • Testing the interaction between individual components of application as interactions between APIs, databases and the like. This is the reason for higher complexity than Unit tests, but they exclude the testing of the UI compared to the E2E tests.
  • They are slower compared to the unit tests as they test parts of the application interacting together.
  • The maintenance costs are higher since the different parts of the app are involved.

User Interface (UI) / End-to-end (E2E) tests

  • To ensure that the whole application works as required. User interface testing is the usual way of implementing such tests.
  • These tests take the longest time to run, which can be expensive. That is why they are not run so often compared to the previous.
  • They are the most expensive to maintain as a lot of them can be broken easily by system enhancements.

Similar posters

Maslow's Hierarchy Of Needs
Maslow's Hierarchy Of Needs Maslow's hierarchy of needs links basic human needs and desires, emphasizing that survival needs must be met before higher needs.
RACI Matrix
RACI Matrix RACI Matrix/Chart is the type of responsibility assignment matrix for effective work organization, communicating the responsibilities.
CEDAR Feedback
CEDAR Feedback CEDAR is a structured feedback model providing coaching opportunities via repeated revisiting and readjusting of the feedback and the goals.
STATIK Kanban
STATIK Kanban The Systems Thinking Approach To Introducing Kanban (STATIK) is a repeatable way to start with Kanban resulting in continuous improvement.
Data Model Canvas
Data Model Canvas The Data Product Canvas is a framework for developing data products based organized into 10 blocks within 3 domain areas.
Kanban Practices
Kanban Practices Visualize Visualizing your work provides transparency, identifying the bottlenecks. Create cards for the items you work on. Think of the workflow – statuses that work items go through to make implicit policies explicit, which enable learning how the work works. Limit Work In Process Stop starting, start finishing. Limit the number of items being worked...
Theory Of Constraints
Theory Of Constraints The Theory of constraints says the throughput of any system is limited by at least one constraint slowing it down.
Classes of Service (CoS)
Classes of Service (CoS) Classes of service (CoS) provide a transparent way of categorizing the incoming work items and ensuring they are properly prioritized and governed to lead to meeting customer expectations. They enable managing risk, priorities, and cost of delay. Expedite High-priority items that should be worked on as soon as possible. Expedite class work items have critical...
Seven wastes of software development
Seven wastes of software development Similar to what TPS identified as seven categories of waste in manufacturing, also software development has its own wastes.
Core Kanban Practices
Core Kanban Practices One of the few rules or practices which are the foundation of Kanban are its 3 core practices: Visualize, Limit WIP, and Manage flow.