测试计划 CODEARTS TESTPLAN-测试金字塔和持续自动化测试:持续自动化测试

时间:2024-07-15 16:51:18

持续自动化测试

持续自动化测试是在持续集成和持续部署过程中运行自动化测试,快速反馈失败,最早源自开发人员在开发环境中通过单元测试获取快速反馈的思想。持续自动化测试是随着CI/CD(持续集成和持续部署)发展而逐步成熟的。现实需要开发人员能够越来越快的发布产品变更,修复在线问题。如果仍然依赖原来的手工测试或者开发和测试完全分离的方式,难以保障在很短的时间窗口中完成测试质量保障活动,因此需要在CI/CD过程中嵌入自动化测试“持续”保障交付物的质量。

持续测试意味着测试活动纳入到持续集成、持续反馈、持续改进循环中,持续不断的测试,贯穿了整个软件交付周期。持续测试提倡尽早测试、频繁测试和自动化测试。

“持续”体现在贯穿了敏捷、DevOps流程中交付物由小粒度逐步演变为软件成品的全过程,从代码白盒测试,到组件模块测试、接口测试、E2E(端到端)功能测试,甚至交付之后进行生产环境的在线测试。每个阶段正好映射了测试金字塔由下向上的各层,越下层的测试在越早的阶段执行,越上层的测试在越后的阶段执行。这类似于汽车制造流水线的各个环节,每个环节的组装结束后都会进行必要的检查通过才进入到下一个环节,在软件DevOps开发过程中Pipeline流水线承载了这样的组装、检查测试过程。

  • 测试左移、测试右移

    二者强调在持续测试过程中测试活动越过了传统测试的时间、角色、部门限制,将测试活动发展为连贯的持续性的质量保障活动。

    测试左移强调测试活动尽早开展,测试人员更早地参与到软件项目前期的各项活动中,在功能开发之前定义好相关的测试用例,提前发现质量问题,开发人员参与到测试。

    测试右移强调在生产环境中测试监控,并且实时获取用户反馈,持续改进产品的用户体验满意度,提高产品质量。

  • 测试自动化

    持续测试要实现快速流动和快速反馈,需要使用自动化的手段来提高效率,于是自动化单元测试、接口测试、E2E测试就应用嵌入到了DevOps流水线中。自动化测试提高了测试反馈效率,也降低了人为因素导致的错误。测试自动化不仅仅要完成测试用例脚本执行的自动化,还要实现其它所有可以减少人力投入的活动,例如自动化环境创建,自动化部署,自动化监控,自动化数据分析等。

support.huaweicloud.com/bestpractice-testman/cloudtest_14_0004.html