【华为云技术分享】【测试微课堂】测试金字塔和持续自动化测试
敏捷和DevOps开发模式下,产品要具备随时可发布的能力,本文介绍如何应用测试金字塔和CI/CD持续自动化测试实现高效的测试反馈,保障随时发布产品的质量。 测试金字塔 自动化测试金字塔 最早是由Mike Cohn在2009年的著作《Succeedingwith Agile: Software Development using Scrum 》(《Scrum敏捷软件开发》)中提出。最早提出来的时候是一个三层的金字塔,从上到下分别是UI界面/Service服务/Unit单元测试,随着敏捷测试的不断推进,测试金字塔出现一些变种。实际使用中不用太拘泥于每层的名字,在服务化软件架构中Service层也可以理解为 API测试。 这种下宽上窄的三角形结构,代表在各层自动化的建议投入分配比例,越接近底层的单元测试建议的投入最多,接口测试居中,界面层建议的投入最少。 测试金字塔 Martin Flower关于测试金字塔有这样一段评论。“GUI测试用例还很脆弱,如对系统的一些修正可能导致很多用例的失败,这时候你需要重新录制。你可以放弃录制的方法来解决这个问题,通过写GUI测试代码,但是这样效率非常低。就算你已经很精通了GUI测试代码的编写,端到端的GUI测试用例也很容易出现不可预期结果的问题-一些用例成功一些用例失败,因此,基于GUI的自动化测试是脆弱、耗时(包括用例维护和执行)的