自动化测试

type
status
date
slug
summary
tags
category
difficulty
icon
password

一、自动化测试

1.1 自动化测试的意义

自动化测试是将人工测试转换为机器执行的过程,包括单元测试、接口测试和场景自动化等测试手段。

二、分层自动化

2.1 三层结构模型

系统可分为三层:业务入口、逻辑实现、数据存储。

2.2 分层自动化

根据被测对象层级,自动化测试可分为:APP端、WebUI、链路级接口、单应用级接口、单元测试和数据校验。
2.2.1 WebUI / APP端自动化
关注业务操作流程的完整性和正确性,主要特点:
  • 测试对象是用户界面
  • 黑盒测试,关注系统响应
  • 测试用例
  • 通过模拟操作实现
  • 用例稳定性受多因素影响
2.2.2 链路级接口测试
测试业务入口层接口的完整调用路径,包括跨应用调用、中间件和DB调用。特点:
  • 测试外层业务接口
  • 关注返回结果
  • 需模拟接口入参
  • 稳定性受链路影响
2.2.3 单应用级接口测试
关注单个应用内部逻辑,可测试更底层接口。
与链路级测试区别:单应用级mock外部调用,关注内部逻辑;链路级实际执行调用,关注最终结果。
  • 测试接口
  • 需要mock能力
  • 关注逻辑和结果
  • 测试粒度更细
  • 依赖平台工具
  • 稳定性较高
2.2.4 单元测试
针对程序最小单位的测试,关注单个方法的逻辑正确性。
  • 测试程序单元
  • 需要方法级mock
  • 白盒测试
  • 使用测试框架
  • 稳定性高
2.2.5 数据校验
验证已有数据是否符合业务规则,用于及早发现问题。
  • 验证数据字段
  • 基于规则测试
  • 用于问题发现
2.2.6 总结
从单元测试到UI自动化,测试粒度逐渐增大,问题修复成本随之提高。建议提高测试覆盖度,尽早发现问题。
 
 
上一篇
自动化测试(TestNG+HttpClient)
下一篇
238. 除自身以外数组的乘积

评论
Loading...