• 阿里巴巴技术质量新人手册6-多面手之服务端测试


    服务端测试

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

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

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

    基于 API 的服务端测试

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

    • 手工接口测试

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

    1. 输入异常:包括入参为特殊字段类型、非法长度、边界值等
    2. 操作异常:例如操作为特殊业务流程、非法修改数据等非正常业务操作
    3. 依赖服务异常:包括访问超时、服务挂掉、异常返回码等场景
    • 手工集成测试

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

    1. 输入异常:包括入参为特殊字段类型、非法长度、边界值等
    2. 接口异常:例如接口超时、非约定返回码等
    3. 操作异常:业务流程中高频导致的并发、乱序等非法操作场景

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

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

    测试常用功能介绍:

    1. 保存参数、导入参数:平台支持保存当前参数模板,方便下次导入调用,但需注意仅支持保存一套参数
    2. 自定义 Timeout:可以自定义时间,越过接口原超时限制,mock 超时场景下接口返回
    3. 指定 Provider 调用:指定 IP 进行调用,便于调试和问题定位
    4. 活用执行结果信息:接口执行失败需要上下游配合排查定位时,traceId、Provider 是关键排查参数

    注意事项:

    1. 特定角色才能在控制台进行 hsf 接口测试(例如测试负责人)
    2. 入参输入建议切换到 Code 模式下编辑,以免类型转换错误

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

    • 持续集成

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

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

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

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

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

    图片消息控制台

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

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

    • DTS 任务的调试

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

    1. 编辑:输入 job 运行参数
    2. 触发一次:手动触发
    3. 指定机器:可以勾选指定 job 运行的服务器
    日行一善, 日写一撰
  • 相关阅读:
    4.3.4 查询语法基础(2)
    4.3.4 查询语法基础(1)
    一个存储过程调用另一个存储过程 (2009-12-29 13:57:05)
    4.3.3 基于行的操作
    4.3.2 基于集合的操作
    4.3 数据操纵语言(DML)
    4.2 从哪儿开始
    子查询、联合查询和连接查询
    4.1 SQL的本质
    本书说明
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/14317071.html
Copyright © 2020-2023  润新知