前言
在公司团队中,作为测试人员,我所接触的业务测试大部分是基于客户端,如web网页、app端和源程序等进行功能、UI界面和兼容性的测试。前期往往需要等前后端开发人员联调后才能介入测试。在而实际上还有服务端测试,可以帮助我们更早测试,更早发现问题。下面谈谈我所了解的服务端测试。
服务端测试的理解
- 我们浏览网页信息、使用app发短信、点外卖等基于客户端的操作,背后实际上是通过请求api接口,由服务端来实现完成的。服务端可以理解是后台提供的所有服务。而服务端测试就是绕过客户端,直接对后端服务进行测试。这样可以从更细粒度保障产品的功能、安全、性能。
服务端测试的分类
一、单体服务端测试
单体架构是将所有的功能模块打包在一个单一的应用程序中的架构方式。就像是一个大房子,所有的房间(功能)都在一个建筑里。由于是单一架构,存在多个模块耦合在一起的情况,可维护性和拓展性较差。
二、微服务测试
微服务是将大型复杂的应用程序拆分成一系列小型、独立的服务,每个服务都可以独立部署、运行和维护。每个微服务都有自己的数据库、业务逻辑和接口,它们之间通过轻量级"通信机制相互协作,实现整个应用程序的功能。通过微服务架构,可以提高应用程序的可伸缩性、灵活性、可维护性和可测试性,同时降低开发和部署的复杂度。
采用微服务架构可以让我们在开发完成了某个服务之后就可以介入测试,不必等所有功能模块都完成。一般可以考虑的测试内容有:
-
对面向客户端接口的校验
-
三方或内部服务的交互
-
数据读写,包括数据库、服务中间件和自研数据源
-
日志采集和环境实例监控
-
启动配置项配置的校验
-
实例管理:服务故障演练、回滚测试等
服务端测试的价值
-
践行测试左移,能够更早介入测试,更早的发现问题
-
测试维度的颗粒度更细,能发现更多的问题,场景覆盖相对于功能测试更齐全
-
测试效率更高,能够通过编程能力挖掘业务造数据痛点并解决,实现自动化测试减少执行耗时
-
服务端测试远比功能测试更理解底层服务的实现,如果遇到问题,能够更快速更精准的发现问题。
评论区