写点什么

测试攻城狮必备技能点!一文带你解读 DevOps 下的测试技术

发布于: 2020 年 11 月 05 日

【摘要】本文将从 DevOps 模式下对测试人员的活动的变化,以及常用的测试技术层面进行解读。


项目的软件开发模式主要经历瀑布模型、敏捷开发和 DevOps 这几个阶段,其中 DevOps 主要解决开发和运维、运营之间的隔阂,更强调自需求设计至生产部署的端到端协同运作,更强调精益、高效;更强调想尽办法剔除每个环节的浪费,极致追求每个环节的高生产率,达到快速、高质量上线的目的。本文将从 DevOps 模式下对测试人员的活动的变化,以及常用的测试技术层面进行解读。


1、为什么会有 DevOps?


项目的软件开发模式主要经历了以下几个阶段:



瀑布模型解决了分工协作困难的问题,但是一年 1~2 次的发布流程太慢,且无法满足日益变化的需求变更。


敏捷开发解决了需求频繁变更、上线慢的问题。但是未解决开发和运维的鸿沟,甚至给开发和维护之间增加了非常多困难和争议。


DevOps 在敏捷的基础上,从 E2E 的角度来考量。主要解决开发和运维、运营之间的隔阂,更强调自需求设计至生产部署的端到端协同运作,更强调精益、高效;更强调想尽办法剔除每个环节的浪费,极致追求每个环节的高生产率,达到快速、高质量上线的目的:



2、DevOps 模式给软件测试带来了哪些变化:



一个 DevOps 活动的流程如上图所示,可以看到测试已经融入到 DevOps 流程中的一环,DevOps 模式下的测试流程也会发生变化。以我们团队为例,看下在 DevOps 模式下常用的测试方法和活动:



可以看出,


1、全流程测试:测试活动已经贯穿到 DevOps 全环节,DevOps 模式下测试并未消失,而是嵌入到全流程的阈值评估点中。


2、测试向左移动:开发团队也要承担起测试的任务,测试团队也会接入到开发阶段的测试及测试指导活动


3、自动化权重增加:接口自动化、契约自动化测试、功能自动化被大量使用,用来提高上线测试进度


4、UT 弱化,API 和契约测试更被愿意接受:UT 自动化依旧存在,由于 UT 维护工作量巨大,且需求变化快,导致 UT 的投入产出不成比例,UT 自动化权重下降,使用 API 和契约、Mock 等测试替代。


5、测试菱形模型:有专家指出,DevOps 模式下,测试的倒三角模型依旧存在,但是测试层依旧很重要,甚至要做厚测试层,呈现菱形模型,个人认可这种菱形模型。


6、部署自动化,灰度发布越来越受欢迎:服务的部署已经完全被自动化工具替换,测试基于部署的环境进行自助测试。同时,灰度发布和 A/B 测试很好的解决了流程过快导致的全局性风险,升级和回退成为常规活动。


7、测试人员依旧必要:服务测试和解决方案测试依旧很重要,同时也是 DevOPS 流程中发现问题最多的环节,是 DevOps 环节中不可或缺的一环。


8、在线测试和度量兴起:OPS 阶段的测试和在线监控越来越被接受,权重增加,比如在线拨测、在线测试、在线度量。


9、平台工具的重要性:DevOps 流程环节打通后,更加依赖平台工具的能力做支撑,比如华为的 DevOps 平台 DevCloud 软件开发云、ServiceStage 等都提供了很好的流程打通能力,使整个流程得心应手,降低准入门槛


结语:以上就是 DevOps 模式下常用的测试方法和活动,希望对相关小伙伴的工作带来一些指导意义。下一期,我们将介绍下具体的 DevOps 测试技术和测试实践,敬请关注!


点击关注,第一时间了解华为云新鲜技术~


发布于: 2020 年 11 月 05 日阅读数: 93
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
测试攻城狮必备技能点!一文带你解读DevOps下的测试技术