知识卡片
测试平台四模块:任务管理是串联自动化的核心
内容
测试平台核心的职责是测试,包括单元测试、集成测试、接口测试、性能测试等都可以在测试平台完成。测试平台的核心目的是提升测试效率从而提升产品质量,设计关键就是”自动化”——传统测试方式靠测试人员手工执行用例,效率低、重复劳动多,通过测试平台的自动化能力,用例能重复执行、无须人工参与,效率大幅提升。为达到自动化目标,测试平台由四个模块组成:用例管理(测试自动化的主要手段是通过脚本或代码进行测试,例如单元测试用例是代码、接口测试用例可以用Python写、可靠性测试用例可以用Shell写;为了能重复执行这些用例,需要按业务、系统、测试类型、用例代码等维度把用例管理起来)、资源管理(测试用例要放到具体运行环境才能真正执行,运行环境包括硬件如服务器/手机/平板、软件如操作系统/数据库/JVM、以及被测的业务系统本身;除性能测试外,一般自动化测试对性能要求不高,所以为提升资源利用率,大部分测试平台会用虚拟机、Docker等虚拟化技术来充分利用硬件资源)、任务管理(主要职责是把测试用例分配到具体资源上执行,并跟踪执行情况——这是测试平台设计的核心,把用例管理、资源管理等各部分串联起来,真正完成自动化测试的闭环)、数据管理(测试任务执行完成后需要记录执行时间、执行结果、CPU/内存占用等各种相关数据,这些数据有三个作用:展现当前用例执行情况;作为历史数据,方便和后续测试对比发现明显变化趋势,比如某版本后单元测试覆盖率从90%降到70%;作为大数据的一部分支撑数据挖掘,比如规模复杂度相近的两个业务,一个一年执行1万个用例测试、另一个只执行1000个,可以据此深挖差异原因)。
结构图:
flowchart TB
A["测试平台目标:自动化提升测试效率"]
A --> B["用例管理:按业务/系统/类型/代码维度管理脚本用例"]
A --> C["资源管理:虚拟机/Docker虚拟化硬件+软件+被测系统"]
A --> D["任务管理:核心串联点<br/>分配用例到资源执行+跟踪进度"]
A --> E["数据管理:记录执行数据"]
B --> D
C --> D
D --> E
E --> E1["展现当前执行情况"]
E --> E2["历史对比发现趋势变化"]
E --> E3["大数据挖掘发现业务差异"]
参考来源
- 位置:《从零开始学架构》第44讲《互联网架构模板:"平台"技术》"测试平台"(源文件:_epub-src/OEBPS/text00003.html)
- 结论依据:原文说明测试平台由"用例管理""资源管理""任务管理""数据管理"四模块组成,并强调"任务管理的主要职责是将测试用例分配到具体的资源上执行,跟踪任务的执行情况。任务管理是测试平台设计的核心,它将测试平台的各个部分串联起来从而完成自动化测试",直接支撑本卡结构图。
- 原始内容:任务管理的主要职责是将测试用例分配到具体的资源上执行,跟踪任务的执行情况。任务管理是测试平台设计的核心,它将测试平台的各个部分串联起来从而完成自动化测试……这些数据具备下面这些作用:展现当前用例的执行情况……作为历史数据……作为大数据的一部分,可以基于测试的任务数据进行一些数据挖掘