服务端测试

服务端测试有两种:一种是直接对 WEB 或者 APP 的 API 接口进行测试;另一种是对更后端的数据库、缓存系统、中间件、文件系统等进行测试,核心就是输入输出是否符合服务设计。必备的测试手段包括:

  1. 接口测试
  2. 性能测试
  3. 稳定性测试
  4. 异常测试

其中稳定性测试中涉及:异常、超时、重试幂等、性能等

基于 API 的服务端测试

这种服务端就是为 WEB/APP 端提供一些后台的接口,一般都是用 HTTP、HSF、MTOP 接口的方式提供。这种后台的测试从流程上来说是跟随着发布节奏来的,根据时间、提测以及持续集成目标,可以采用不同的测试方法:

手工接口测试

根据接口设计,测试人员可以借助中间件平台,自有工程,第三方工具进行接口测试了。接口测试过程中,特别需要关注异常场景测试,单接口异常测试主要包括输入异常、操作异常、依赖服务异常,测试验证时关注「容错逻辑」以及「异常返回码是否符合接口约定」。

输入异常:包括入参为特殊字段类型、非法长度、边界值等

操作异常:例如操作为特殊业务流程、非法修改数据等非正常业务操作

依赖服务异常:包括访问超时、服务挂掉、异常返回码等场景

手工集成测试

待需求的前端和上下游都交付之后就可以进入集成测试阶段,在这个环节测试人员除了协调各涉及端的测试进度、测试环境和自己域的业务验证之外,同样需要关注异常测试,集成阶段的异常主要包括输入异常、接口异常、操作异常,测试验证时关注「异常文案交互是否符合业务预期」。

输入异常:包括入参为特殊字段类型、非法长度、边界值等

接口异常:例如接口超时、非约定返回码等

操作异常:业务流程中高频导致的并发、乱序等非法操作场景

「异常测试」主要分为功能异常、服务端异常

功能异常主要通过各种入参模拟进行验证,接口测试目前可用自建平台、postman 以及其他任意接口测试平台

测试常用功能介绍:

保存参数、导入参数:平台支持保存当前参数模板,方便下次导入调用,但需注意仅支持保存一套参数

自定义 Timeout:可以自定义时间,越过接口原超时限制,mock 超时场景下接口返回

指定 Provider 调用:指定 IP 进行调用,便于调试和问题定位

活用执行结果信息:接口执行失败需要上下游配合排查定位时,traceId、Provider 是关键排查参数
注意事项:

特定角色才能在控制台进行 hsf 接口测试(例如测试负责人)

入参输入建议切换到 Code 模式下编辑,以免类型转换错误

服务端异常目前主要可通过一些强弱依赖平台进行验证,很多平台支持对线上流量自动进行分析并生成用。

持续集成
借助类似 Jenkins 工具平台完成手工测试的自动化持续集成,实现接口级别的回归和链路级别的回归。

对更后端的数据库、缓存系统、文件系统等中间件进行测试

对于这类后端服务来说,接口只是暴露给外用的部分,内部逻辑通常是非常复杂的,所以,除了针对接口做测试之外,测试人员还需要细致地了解这些服务端产品的技术框架及技术实现,需要了解到模块的级别,对于系统框架图、时序图等都有很好的理解,针对这些理解去设计用例和执行。下面介绍几种常见中间件的测试思路和方法:

模拟消息发送,验证消费消息后的代码逻辑

打开消息控制台,找到对应的 topic 点击发送,输入 body 消息后确定发送


消息控制台

验证 metaq 消息是否按照约定发送

打开 metaq 控制台,点击进入“消息查询”,查看消息体和轨迹,验证是否符合期望

DTS 任务的调试

schedulerx 分布式系统调度任务的调试和排查可以使用控制台

编辑:输入 job 运行参数

触发一次:手动触发

指定机器:可以勾选指定 job 运行的服务器

软件测试工程师自学教程:

这才是2022最精细的自动化测试自学教程,我把它刷了无数遍才上岸字节跳动,做到涨薪20K【值得自学软件测试的人刷】

接口性能测试 — 软件测试人必会618实战场景分析

软件测试工程师月薪2W以上薪资必学技能 — Python接口自动化框架封装.

美团面试真题_高级测试25K岗位面试 — 软件测试人都应该看看

测试开发之全面剖析自动化测试平台 — 软件测试人的必经之路

软件测试必会_Jmeter大厂实战 — 仅6步可实现接口自动化测试

Jmeter实战讲解案例 — 软件测试人必会

我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!