当前位置:网站首页>测试攻城狮必备技能点!一文带你解读DevOps下的测试技术
测试攻城狮必备技能点!一文带你解读DevOps下的测试技术
2020-11-06 22:33:00 【华为云开发者社区】
【摘要】本文将从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测试技术和测试实践,敬请关注!
版权声明
本文为[华为云开发者社区]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4526289/blog/4703901
边栏推荐
- 1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
- 小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
- Common syntax corresponding table of mongodb and SQL
- 2020-09-04: do you understand the function call convention?
- 非易失性MRAM存储器应用于各级高速缓存
- Characteristics of magnetic memory chip STT-MRAM
- How to deploy Gantt chart quickly and correctly
- 打工人好物——磨炼钢铁意志就要这样高效的电脑
- Cloudquery v1.2.0 release
- Stickinengine architecture 12 communication protocol
猜你喜欢
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
2020-08-19: what mechanism does TCP ensure reliability?
Composition of MRAM cache
Unity performance optimization
Stickinengine architecture 12 communication protocol
Epu360: all the H5 templates you want are here, e-book, big turntable, red envelope rain, questionnaire survey
Why is the LS command stuck when there are too many files?
How to deploy Gantt chart quickly and correctly
STM32F030C6T6兼容替换MM32SPIN05PF
如何创建交互式内核密度图表
随机推荐
Stickinengine architecture 12 communication protocol
Code generator plug-in and creator preform file analysis
Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
轻量型 GPU 应用首选 京东智联云推出 NVIDIA vGPU 实例
To solve the problem that the data interface is not updated after WPF binding set
MRAM高速缓存的组成
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
如何才能快速正确的部署甘特图
Unexpected element.. required element
Application of UHF RFID medical blood management system
2020年新规,微信封号怎么快速解除?
迅为-iMX6ULL开发板上配置AP热点
DC-1 target
【涂鸦物联网足迹】物联网基础介绍篇
RFID fixed assets management system for fire equipment
#JVM 类加载机制
STM32F030K6T6兼容替换灵动MM32F031K6T6
2020-09-04: do you understand the function call convention?
磁存储芯片STT-MRAM的特点
Using JSON webtoken (JWT) to generate token in nodejs