测试工程师最容易忽略的数据结构:数组到底有什么用?

举报
霍格沃兹测试学社 发表于 2026/08/04 19:30:11 2026/08/04
【摘要】 本文深入浅出讲解数据结构(尤其是数组)在测试开发中的核心价值:从自动化用例管理、结果统计到AI时代海量测试数据组织,揭示企业级测试平台性能差异的关键在于数据组织方式。强调测试工程师进阶为AI质量工程师,必须夯实数据结构这一底层能力。

很多测试工程师学习自动化测试时,会重点关注:

  • Selenium怎么用?
  • pytest怎么写?
  • JMeter怎么压测?
  • 接口怎么关联参数?

但是当测试工作逐渐深入,会发现一个问题:

真正复杂的测试系统,并不是几个脚本组成的。

企业级测试平台通常包含:

  • 几十万个测试用例
  • 大量接口数据
  • 执行任务调度
  • 测试报告分析
  • 缺陷数据管理

当数据规模越来越大时,测试系统性能问题开始出现。

比如:

为什么同样是执行10000条测试用例?

有的平台几分钟完成。

有的平台需要几十分钟。

区别在哪里?

除了代码实现,很大程度取决于:

数据结构设计。


一、什么是数据结构?

简单理解:

数据结构就是:

如何组织和管理数据。

例如:

你的电脑存储文件。

如果所有文件都堆在一个文件夹:

文件夹

  a.txt

  b.txt

  c.txt

  ...

100万个文件

寻找一个文件会越来越慢。

如果按照:

年份

项目

类型

文件

分类管理。

效率会大幅提升。

软件系统也是一样。


二、数组是测试开发中最常见的数据结构

数组(Array)可能是测试工程师最熟悉的数据结构。

例如:

自动化测试用例:

test_cases = [
    "登录测试",
    "支付测试",
    "订单测试",
    "退款测试"
]

本质就是一个数组。

看起来简单。

但是企业测试平台大量使用数组思想。


三、场景1:自动化测试用例管理

假设一个大型项目:

有:

10万个测试用例。

测试平台需要:

  • 查询测试用例
  • 批量执行测试
  • 生成测试报告

例如:

执行任务:

执行:

case1

case2

case3

...

case10000

数组最大的特点:

数据连续存储。

优势:

遍历效率高。

例如:

批量执行测试:

for case in test_cases:
    run(case)

非常适合。


四、场景2:测试结果统计

自动化执行完成后:

系统产生大量结果:

[
 {
  "case":"登录测试",
  "result":"pass"
 },

 {
  "case":"支付测试",
  "result":"fail"
 }
]

测试平台需要:

统计:

  • 成功数量
  • 失败数量
  • 执行时间

数组结构非常适合:

遍历分析。

例如:

success = 0

for result in results:

    if result=="pass":

        success +=1

这就是最简单的数据处理。


五、数组的问题:数据越来越大怎么办?

但是数组也有缺点。

例如:

测试平台有:

100万个测试用例。

现在需要:

查询:

“支付模块相关测试用例”

如果还是数组:

从头遍历:

第1个

第2个

第3个

……

直到找到。

数据越多:

速度越慢。

这时候需要其他数据结构。

比如:

哈希表。

树。

图。


六、AI测试时代,数组依然重要

很多人认为:

AI时代:

数据结构是不是过时了?

实际上恰恰相反。

大模型测试需要处理大量数据。

例如:

测试一个企业级AI助手。

每天产生:

100万个用户问题。

测试系统需要保存:

用户输入:

模型输出:

评分结果:

人工反馈

这些数据本质就是数据集合。

如何组织这些数据?

依然离不开数据结构。


七、AI生成测试用例,也离不开数组思想

未来很多测试工作会变成:

AI自动生成测试用例。

例如:

输入:

登录模块代码

AI生成:

1. 正常登录

2. 密码错误

3. 用户不存在

4. 登录超时

5. 多设备登录

这些测试场景:

本质就是一个测试用例集合。

后续:

执行。

过滤。

排序。

分析。

都需要合理的数据组织方式。


八、测试开发工程师为什么不能只会工具?

很多测试工程师职业发展遇到瓶颈:

原因不是不会工具。

而是:

只知道:

“怎么调用工具”。

不知道:

“工具为什么这样设计”。

比如:

会写pytest:

只是使用者。

理解:

测试任务如何管理?

测试结果如何存储?

测试数据如何分析?

才具备测试平台开发能力。


九、从测试工程师到AI质量工程师,需要补齐什么?

未来测试岗位能力:

第一层:

测试基础

  • 测试设计
  • 缺陷分析

第二层:

工程能力

  • Python/Java
  • 自动化框架
  • 测试平台

第三层:

智能化能力

  • 大模型应用
  • AI Agent测试
  • LLM评测

第四层:

底层能力

  • 数据结构
  • 算法思想
  • 系统设计

数据结构就是连接:

测试工具

测试平台

AI质量工程

的重要基础。


结语

数组看似简单。

但它代表了一种重要的软件工程思想:

如何高效管理大量数据。

测试工程师从执行测试走向质量工程,需要的不只是更多工具。

更重要的是:

理解工具背后的技术原理。

AI时代,测试工程师面对的不再是几个页面、几个接口。

而是:

海量数据。

复杂系统。

智能应用。

掌握数据结构,就是提升测试技术深度的重要一步。


AI质量工程持续分享:

关注:

  • 大模型测试
  • AI Agent质量保障
  • 测试开发技术
  • 软件质量工程实践

一起探索AI时代测试工程的新方向。


霍格沃兹测试开发学社,隶属于测吧(北京)科技有限公司,是一个专注软件测试、自动化测试、人工智能测试与测试开发的技术交流社区,并参与高校测试实训、火焰杯赛事及工程化人才培养。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。