当前位置:网站首页>测试攻城狮必备技能点!一文带你解读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
边栏推荐
- August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)
- Nonvolatile MRAM memory used in all levels of cache
- JS string - string string object method
- [self taught unity2d legendary game development] map editor
- Composition of MRAM cache
- 磁存储芯片STT-MRAM的特点
- How to create an interactive kernel density chart
- 轻量型 GPU 应用首选 京东智联云推出 NVIDIA vGPU 实例
- Configuration of AP hotspot on xunwei-imx6ull development board
- Stm32f030c6t6 compatible to replace mm32spin05pf
猜你喜欢
How to create an interactive kernel density chart
Erd-online free online database modeling tool
细数软件工程----各阶段必不可少的那些图
Git remote library rollback specified version
小程序商城系统插件代码该如何写?怎么用代码检查添加插件是否成功?
[doodling the footprints of Internet of things] Introduction to Internet of things
Stickinengine architecture 12 communication protocol
WebAPI接口设计:SwaggerUI文档 / 统一响应格式 / 统一异常处理 / 统一权限验证
Reserved battery interface, built-in charge and discharge circuit and electricity meter, quickly help easily handle hand-held applications
Js字符串-String字符串对象方法
随机推荐
20个XR项目路演,近20个资本机构出席!诚邀您参加2020 Qualcomm XR生态合作伙伴大会
【涂鸦物联网足迹】涂鸦云平台全景介绍
10000! Ideal car recalls all defective cars: 97 accidents have occurred and losses will be expanded
Benefits and functions of auto maintenance app development
2020-08-17:详细说下数据倾斜怎么解决?
Bluetooth broadcast chip for Shanghai giant micro
How to create an interactive kernel density chart
#JVM 类加载机制
The first choice for lightweight GPU applications is the NVIDIA vgpu instance launched by Jingdong Zhilian cloud
Big data processing black Technology: revealing the parallel computing technology of Pb level data warehouse gaussdb (DWS)
Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills
win7 APPCRASH(解决方法)(转)
In 2020, how can wechat seal numbers be quickly lifted?
Exclusive interview of guests at | 2020 PostgreSQL Asia Conference: Wang Tao
[elastic search engine]
VARCHART XGantt入门教程
JS array the usage of array is all here (array method reconstruction, array traversal, array de duplication, array judgment and conversion)
Count the number of project code lines
[graffiti Internet of things footprints] panoramic introduction of graffiti cloud platform
Git remote library rollback specified version