当前位置:网站首页>测试攻城狮必备技能点!一文带你解读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
边栏推荐
- The advantages and functions of psychological counseling app
- 如何才能快速正确的部署甘特图
- JVM memory allocation - xms128m - xmx512m - XX: permsize = 128M - XX: maxpermsize = 512M
- 2020年新规,微信封号怎么快速解除?
- 20 XR projects roadshows, nearly 20 capital institutions attended! We sincerely invite you to attend the 2020 qcomm XR eco Partner Conference
- Configuration of AP hotspot on xunwei-imx6ull development board
- Countdown | 2020 PostgreSQL Asia Conference - agenda arrangement of Chinese sub Forum
- In 2020, how can wechat seal numbers be quickly lifted?
- August 14, 2020: what are the execution engines for data tasks?
- The essence of transaction and the principle of deadlock
猜你喜欢
Google browser realizes video playback acceleration function
应用层软件开发教父教你如何重构,资深程序员必备专业技能
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
大佬们如何在nginx镜像里面增加模块?
#JVM 类加载机制
如何才能快速正确的部署甘特图
Common mathematical basic formulas of recursive and backtracking algorithms
磁存储芯片STT-MRAM的特点
How to start the hidden preferences in coda 2 on the terminal?
随机推荐
[byte jumps, autumn recruitment Posts open] ohayoo! Don't leave after school, I want to ask you to play games!!!
Application insights application insights use application maps to build request link views
RFID fixed assets management system for fire equipment
C and C / C + + mixed programming series 5 - GC collaboration of memory management
Jenkins installation and deployment process
Detect certificate expiration script
Stickinengine architecture 12 communication protocol
磁存储芯片STT-MRAM的特点
实验一
To solve the problem that the data interface is not updated after WPF binding set
Method of code refactoring -- Analysis of method refactoring
The method of local search port number occupation in Windows system
1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
Utility class functions (continuous update)
2020-09-04: do you understand the function call convention?
【涂鸦物联网足迹】物联网基础介绍篇
小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
Road to simple HTML + JS to achieve the most simple game Tetris
Stickinengine architecture 11 message queue
【涂鸦物联网足迹】涂鸦云平台全景介绍