自动化的核心概念
先聊聊什么是自动化。简单来说,就是用机器代替人工去重复操作。生活中像自动洒水机、超市闸机都是这个逻辑,核心目的只有一个:减少人力消耗,提升效率和质量。
在软件领域,自动化测试的核心价值在于回归测试。当软件迭代新版本时,我们需要验证新增功能有没有把旧功能搞挂。这时候自动化脚本就能派上用场,跑一遍就知道结果稳不稳。
这里有个常见的面试坑:自动化不能完全取代人工。脚本是人写的,功能变了还得维护更新,可靠性未必比人眼高。另外,它也不能'大幅度降低工作量',顶多是'一定程度'减少重复劳动,表述要严谨。

自动化测试的分类
自动化是个统称,底下分了好几种。最核心的就是接口和 UI 两块。
| 分类 | 说明 |
|---|---|
| 接口自动化 | 针对软件接口的测试,验证功能、性能、稳定性等。 |
| UI 自动化 | 针对软件界面的测试。包含移动端(模拟器上跑脚本)和 Web 端(浏览器操作)。 |
以 Web 自动化 为例,它的执行逻辑很直观:自动打开浏览器 → 访问百度首页 → 搜索框输入内容 → 点击搜索 → 验证结果。这一套流程下来,替代了人工的重复点击,效率自然就上去了。

自动化测试金字塔
做自动化之前,得先懂架构。业界有个经典的'测试金字塔'模型。
理想模型
理想的金字塔结构是:单元测试 → API/集成测试 → UI 自动化 → 手动探索性测试。
底层越宽越好,因为底层的单元测试消耗时间少、精力少,但能发现更多问题,投资回报率最高。越往上层走,UI 自动化和手动测试需要的资源越多,回报反而越低。所以企业应该优先在底层投入自动化。

现实情况
可惜很多企业的实际状况是倒过来的,像个'冰淇淋蛋筒'。
他们往往把更多资源投在上层(UI 自动化),因为效果看得见;底层的单元测试反而投入很少。但这长期来看并不划算,因为上层自动化维护成本高,底层才是质量保障的基石。
结论很简单:自动化和手动不是互斥的。底层自动化保基础质量,上层测试覆盖复杂场景,两者互补。





