STEP1:定义自动化测试的范围。
在实施自动化测试之前,先确定哪些类型的测试可以被自动化。
- 基础设施层,该层主要是准备用于自动化测试的数据和环境。
可以使用自动化或者基于容器的方式进行构建。
常用的工具有Ansible、Chef、Puppt、Jenkins 等。 - 单元测试层,该层主要针对代码的方法、类和包进行测试。
这些测试一般属于代码级的测试,并与企业内部的持续集成流水线集成。常用的工具有 xUnit 系列工具。 - 服务测试层,该层主要针对服务之间的接口进行测试。
这些测试一般是服务接口之间的交互测试。常用的工具有 Postman、SoapUI 等。 - UI 测试层,该层主要针对界面上的功能测试。
这些测试一般是在一个或多个应用里进行端到端的流程测试,且应关注重点功能。
常用的工具有 Selenium、Appium 等。
STEP2:定义自动化测试的层次。
测试金字塔分为三层:底层是单元测试,中间层是服务测试,上层是 UI 测试。
这底层的单元测试需要做最多的测试工作,越往上的单元,测试工作越少。
这三个层次对于精力投入的比例是:70% 的精力放在单元测试,20% 放在服务测试,而剩下 10% 放在 UI 测试。
STEP3:与持续集成流水线集成。
- 1.开发人员提交代码到 Git 仓库或进行分支合并操作。
持续集成服务器接收到合并事件后,触发编译构建、单元测试等检查,并将测试结果通知给开发人员。 - 2.上述检查通过后,部署到 SIT 测试环境中。该环境为集成环境,部署了该服务所依赖的其他组件。
当服务部署时即可将 API 接口注册到 API 管理平台,并执行服务之间的 API 接口测试,验证服务集成是否有问题,随后将测试结果通知给开发人员。 - 3.SIT 测试环境完成测试并达到进阶要求时,即可进入 UAT 测试环境进行用户验收测试。
该环境测试主要通过自动化测试平台完成该服务的功能测试。自动化测试平台包含了测试用例管理和测试数据管理。
该步骤可以进行精细化地测试策略管理,可以根据代码关联的需求完成该需求相关的测试用例的测试,可以每天晚上执行全量的回归测试。 - 4.SIT 环境和 UAT 环境等基础设施的管理可以通过环境部署平台完成。
环境部署平台可以根据自动化测试的要求,进行定制化的部署和优化设置,并对基础环境进行先决条件检查,确保自动化测试执行之前满足环境的要求。