DevOps与测试、左移的方法

一、DevOps与测试

DevOps 是一种组织方法,旨在通过使开发(包括测试)和运维部门共同努力,实现一系列通用目标,从而实现协同效应。DevOps 要求组织内部进行文化转变,将开发和运维的职能同等看待,以弥合开发(包括测试)和运维之间的差距。DevOps 提倡团队的自主权、快速反馈、集成工具链以及持续集成(CI)和持续交付(CD)等技术实践。通过 DevOps 交付流水线,软件团队可以更快地构建、测试和发布高质量的代码(Kim 2016)。

从测试的角度来看,DevOps 的好处包括:

 代码质量的快速反馈,并判断变更是否对现有代码产生不利影响。

 持续集成(CI)通过鼓励开发人员提交高质量的代码,并辅以组件测试和静态分析,在测试中实现左移方法。

 促进 CI/CD 自动化过程,有助于建立稳定的测试环境。

 更加关注非功能性质量特性(例如性能、可靠性)。

 交付流水线的自动化,减少人工重复测试的需求。

 由于自动化回归测试的规模和范围,降低了回归风险。

DevOps 的风险和挑战:

 必须定义和建立 DevOps 交付流水线。

 必须引入和维护 CI/CD 工具。

 测试自动化需要额外资源,这些资源可能难以建立和维护。

二、左移的方法

测试早期介入的原则有时被称为"左移",这是软件开发生存周期中较早进行测试的方法。左移建议测试应该早期进行(例如,代码实现或组件集成前开始测试),但不能因此忽视软件开发生存周期的后期测试。

许多良好的实践可以说明如何实现测试 "左移",包括:

 从测试的角度评审规格说明。对规格说明进行评审通常可以发现潜在的缺陷,例如规格说明表述模糊、不完整和不一致。

 编码之前编写测试用例,在代码实现过程中通过测试用具(test harness)运行代码。 使用持续集成(CI)和持续交付(CD),提供快速反馈和自动化组件测试,可以在代码提交到代码库时运行源代码测试。

 在动态测试之前或作为自动化过程的一部分对源代码进行静态分析。

 在可能的情况下,从组件测试级别开始进行非功能性测试。这是左移形式之一,因为非功能性测试类型通常在系统完整且代表性的测试环境就绪后,在软件开发生存周期的后期执行。

左移方法可能会在过程早期增加培训、工作量和成本,但可以节省过程后期的工作量和成本。对于左移,重要的是让利益相关方相信并接受此种方法。

相关推荐
万米商云16 分钟前
企业物资集采平台解决方案:跨地域、多仓库、百部门——大型企业如何用一套系统管好百万级物资?
大数据·运维·人工智能
挑战者6668881 小时前
CentOS 系统高效部署 Dify 全攻略
linux·运维·centos
网硕互联的小客服2 小时前
服务器经常出现蓝屏是什么原因导致的?如何排查和修复?
运维·服务器·stm32·单片机·网络安全
喜欢吃豆2 小时前
从零构建MCP服务器:FastMCP实战指南
运维·服务器·人工智能·python·大模型·mcp
海外空间恒创科技2 小时前
恒创科技:香港站群服务器做seo站群优化效果如何
运维·服务器·科技
搬码临时工3 小时前
内网服务器怎么设置公网远程访问? windows桌面连接和Linux自带SSH外网异地跨网用完整步骤教程
运维·服务器·ssh
Rudon滨海渔村3 小时前
解决阿里云ubuntu内存溢出导致vps死机无法访问 - 永久性增加ubuntu的swap空间 - 阿里云Linux实例内存溢出(OOM)问题修复方案
linux·运维·ubuntu
苹果醋33 小时前
Vue3组合式API应用:状态共享与逻辑复用最佳实践
java·运维·spring boot·mysql·nginx
A-刘晨阳3 小时前
【Linux】Redis 6.2.6 的二进制部署【适用于多版本】
linux·运维·redis
自由游戏开发者5 小时前
用U盘启动制作centos系统最常见报错,系统卡住无法继续问题(手把手)
linux·运维·centos