测试的维度

软件测试通常可以分为客户端测试和服务端测试:
客户端测试的主要维度:业务的功能、ui界面、兼容性、易用性、性能等
服务端测试的主要维度:单元测试、单服务测试、集成测试

客户端测试与服务端测试的区别:

软件的生命周期:用户需求—产品进行设计—需求评审—设计评审—编码—测试—上线—运维或下线

软件测试的流程以及客户端与服务端的介入时间:
image-1731735609731

  • 从上图可以看出客户端测试的介入时间通常是在前后端均已研发完成且联调后,但是服务端的测试介入时间可以更早,可以在后端服务开发好就可以提测,相比于客户端可以更早的介入测试进而发现问题。
  • 服务端的测试主要分为:后端服务、接口、数据源、业务逻辑处理等
    客户端的测试主要是功能的点击以及ui界面还有兼容等是否符合预期,
    但多数的功能都涉及到数据交互,依赖后端服务,所以服务端测试的颗粒度更细,能发现更多的问题
  • 测试效率上,服务端能通过编程能力来实现,可以减少执行耗时,客户端虽然可以实现ui自动化,但如果出现比较复杂的业务场景需要构造,那就只能通过手工的方法来进行测试,所以客户端的测试耗时更高
  • 客户端的测试只需要掌握基础的设计case的方法就可以进行测试,但服务端测试需要理解底层服务的实现原理,相对来说服务端需要掌握更深的知识

总结:

服务端测试的价值主要在于:
1.践行测试左移,能够更早介入测试,更早的发现问题
2.测试维度的颗粒度更细,能发现更多的问题,场景覆盖相对于功能测试更齐全
3.测试效率更高,能够通过编程能力挖掘业务造数据痛点并解决,实现自动化测试减少执行耗时
4.服务端测试远比功能测试更理解底层服务的实现,如果遇到问题,能够更快速更精准的发现问题。