什么是持续测试?
先前已经在文章什么是持续集成、持续交付、持续部署?里介绍了已经介绍了1个CI 和 2个CD。但在DevOps开发流程中还有重要一环:持续测试,它代表着什么呢?
什么是持续测试?
持续测试Continuous Testing 是一个过程:会贯穿整个软件交付生命周期,从持续集成,持续交付到持续部署都有其的存在;以防控业务风险为目的,将自动化测试作为内嵌的一部分持续地在每个阶段都有相应的测试活动,以尽快可以获得软件是否可以被发布及发布后业务风险的反馈。
持续测试和自动化测试的区别
自动化测试:目的是生成一些列与用户/应用需求相关的数据检查点。
持续测试:目的是防控业务风险。持续测试包含了测试用例自动化,同时也还有其余测试手段/工具在内,它要求的是包括技术在内的人和流程的深度转变。
与传统测试的区别
传统的测试:相当于是独立于团队的一个角色。在交付过程中,产品经理将需求交给开发团队,开发团队在内部开发调试成功后交付给测试,测试在通过一系列测试工作后交付给运维。这种瀑布式的交付方式就和当前要求快速交付的思路相左。且因为测试团队是独立的,每次业务有更新的时候,测试都会默认运行所有测试来保证代码覆盖率,这不仅浪费资源还延长了测试周期。
持续测试:意味着持续不断的、频繁的、自动化的测试,这不仅需要不断地有需要测试的内容,且整个软件交付生命周期中每一步都需要测试到。每次都只测试需要测试的部分,节省时间和资源。
总结
测试可以说是获取反馈最有效的方式。在DevOps的部署流水线里,能够看到在不同的环节、不同环境上运行的不同层面的测试结果。
持续测试可以说实现了在持续交付过程中,在开发环境、测试环境以及类生产环境里,把开发内部需要运行的所有测试全都跑完了;即每一步行动都有了质量测试的评价。因此,从技术层面上来看,消除了产品、开发、测试和运维之间的脱节,通过了持续测试也就意味着代码的质量可靠,是可以被部署到生产环境的;从业务层面,我们则可以和DevOps流水线一起加速软件交付,依据持续测试结果来评估准确的业务风险覆盖率,持续得到反馈来判断是否发布新特性给用户。
参考资料
- 点赞
- 收藏
- 关注作者
评论(0)