Software testing, especially automated testing, has grown rapidly in recent years as DevOps and agile processes have become more widely adopted.

The "Software Automation Testing Pyramid Model" divides automatable testing into three parts: unit testing, service interface testing and interface automation testing from the bottom up. The upright pyramid structure recommends that we carry out more extensive unit testing in order to reap the benefits of earlier problem detection and higher execution efficiency, but increasing unit testing also significantly increases the investment of development resources. With the development of more UI-level automated tests tending to the top, we can achieve higher cumulative test coverage, but frequent user interface adjustments will lead to higher script maintenance workloads, and the input-output ratio of automated testing will gradually converge.

image.png

In recent years, with the popularity of mobile applications and the widespread application of microservices and Web front-end and back-end separation models, a clearer logical division has been made at the system architecture level between the client-side presentation-layer interaction and the server-side business processing. Therefore, there are more testing opportunities at the interface level. With interface testing, we can:

  • Simulate all business scenario processing calls caused by client user operations;
  • Cover the API interface access of all stateless and stateful microservices in the system;
  • Have a more clear and stable protocol layer input to output corresponding expectations;
  • Complete the necessary regression tests for forward compatibility with the old version of the service API;
  • Appropriately reduce the investment cost of development technology resources caused by excessive unit testing;
  • Avoid the maintenance cost of UI test scripts caused by frequent adjustments to the product interface.

Thematic catalogue


陈哥聊测试
158 声望3.3k 粉丝

资深敏捷测试顾问,国内知名项目管理软件禅道团队成员。