背景
在数字化不断深化的背景下,确保软件的稳定性和高可用性对企业运营至关重要。服务端作为系统的核心组件,其稳定性对用户体验和企业声誉有着决定性的影响。因此,实施全面而深入的服务端测试显得非常关键。本文将探讨服务端测试的多种策略和方法,旨在帮助企业确保后端系统的稳定运行。
服务端测试元素概述
服务端测试主要针对服务端的软件组件,主要测试元素有:
1.对外接口
2.三方与内部交互接口
3.数据存储
4.业务逻辑处理
5.服务端稳定性、高可用
6.服务端安全性 加密
7.环境监控,日志采集
8.服务端启动配置项
9.实例管理
服务端测试策略
针对上述测试元素,可制定相对应的测试策略:
1.对外接口
接口测试:确保你对服务端的接口进行相对全面的测试覆盖。验证每个接口的输入和输出是否符合预期,并检查错误处理和异常情况的行为。
其中涉及接口层的测试策略,可从三个维度划分接口层测试策略,即输入、业务处理逻辑、输出。
(1)输入:可从必填参数的校验规则入手,也可以通过传参类型的分类来制定对应的异常情况的传参输入,再者就是身份权限校验等等。
(2)业务逻辑处理:
关注约束条件:比方说校验普通用户和vip用户的权益差异;
越权校验:关注是否存在横向越权和纵向越权问题;
业务处理逻辑顺序:比方说请假流程的领导审批,需要经过逐级领导审批通过等。
(3)输出:输出需要关注正常和异常情况下的状态码和响应体是否符合预期,杜绝存在包含路径输出的不安全的响应体、杜绝敏感信息明文返回等。
2.三方服务和内部交互接口
需要校验三方服务异常情况下的场景,比如三方服务处理超时,三方服务连接失败,三方服务异常响应体返回
3.数据存储
需要了解被测服务的服务中间件、数据库或者自研数据源。如mysql,redis,kafka,rabbitmq...
在数据读写时我们主要是关注这四者:正常的数据读写功能、服务器资源利用率、数据一致性、处理效率等
4.业务逻辑处理
首先明确测试对象,针对源程序,数据和文档制定相对应的测试策略。
业务逻辑处理核心围绕1.对外接口中所提及的业务逻辑处理部分内容。
5.服务端稳定性、高可用
需依赖性能测试。
稳定性测试策略可从找到系统性能瓶颈后进行长时间负载测试,观察服务器cpu,磁盘,io读写,内存使用率、事务失败率等性能指标。
高可用测试策略可以通过人为制造各种故障情况,如服务器宕机、网络中断、数据库不可用等,以验证系统的故障转移和恢复机制是否按预期工作,服务需要保证所有异常场景都被处理。
6.服务端安全性 加密
校验网关路径映射的关系的正确性;
校验认证接口中不同操作对象的身份正确性和时效性;
校验限流机制是否生效;
校验传递的消息体中的数据层是否有加密,加密选型是否符合严谨。
7.环境监控,日志采集
环境实例监控,观察服务器健康状态和实例状态;
日志采集则关注对埋点数据的日志采集和服务运行日志记录,以便出现线上问题时快速定位分析根因。
8.服务端启动配置项
校验服务启动配置项的修改是否生效,关注启动时的端口配置、服务数据库的连接信息、业务属性相关的开关、网关策略。
9.实例管理
如果涉及实例管理平台,相关的测试策略有:
服务故障演练,数据升级测试,服务回滚测试。