试验振幅决定交货速率,透过快速意见反馈来提高您的项目组精准度。
稳步应用软件系统(CI)在很大程度上负面影响着项目组的精准度,不论项目组采用哪种技术,单厢存有适用于于他们的标识符库的稳步应用软件系统和智能化试验架构。
1.什么是稳步应用软件系统?
稳步应用软件系统(CI)是指尽量早的将频密试验更动的标识符不定期应用软件系统到标识符仓的主组成部分中,它是灵巧和DevOps 最差课堂教学的一种。一般来说每一核心成员每晚最少应用软件系统一场,也就意味著每晚会出现数次应用软件系统。
2.稳步应用软件系统的益处
一般来说情况下,采用传统纯手工试验的项目组会在标识符更动的几个半小时后获得意见反馈,全面性的试验意见反馈着实在标识符被修正后的一天或几天后就能得知,而从那时起标识符已经出现了许多变动,使瑕疵复原就像一场考古学历险,开发者要铲平第二层代码就能找出难题的根本原因,这毫无疑问会带来许多难题,而采用稳步应用软件系统(CI)会大力推进标识符更改的意见反馈速率,开发者在几秒钟内就能快速功能定位和复原难题。
稳步应用软件系统让灵巧和DevOps项目组快速交货高效率的应用软件成为可能。-Twitter
3.透过稳步构筑和智能化试验保证产品质量
绝大多数开发者在浏览了新一代的源标识符后却发现它不能校对或存有错判,从而负面影响了劳动生产率。那么能参照以下三种作法防止这种情况出现:
稳步构筑: 除非标识符出现变动就立刻构筑项目。平庸情况下,每天构筑之间的差别只是一个变动集。
试验智能化: 透过智能化的校正试验以保证应用软件产品质量,能从界面层(接著会详尽如是说)或后端服务层进行应用软件试验。
稳步应用软件系统将稳步构筑与试验智能化结合起来,以确保每一构筑都能评估标识符库的产品质量。
为实现利益最大化,项目组需要建立机制来确保CI的有效运行,除非发现故障需要立刻暂停开发并解决难题。如果构筑是在有难题的状态下进行,那么项目组在编写试验和配置智能化方面所投入的所有精力都是徒劳,控制成本投入和保护标识符库产品质量同等重要。
4.CI 中的试验:单元试验、API试验和功能试验
CI 运行有两个主要阶段,第一步确保标识符校对,第二步是确保标识符按设计工作,最可靠的方法是透过一系列智能化试验来校正产品的各个层面。
4.1.单元试验
单元试验最接近标识符中的核心组件,它是确保产品质量的第一道防线。
缺点: 易于编写,运行速率快,与标识符库的核心结构单元紧密关联。
缺点: 单元试验只校正应用软件的核心组件,无法反映用户的工作流,而用户的工作流往往涉及多个工作组件。
单元试验校正了核心标识符是如何运行的,开发者能审查单元试验来获得该领域标识符的新一代运行情况。
4.2.API 测试
模块化设计的应用软件使不同应用程序之间的工作清晰分离,而API是不同模块相互通信的外部接口,API试验能透过模块间的相互调用来校正通信。
缺点: 一般来说API试验易于编写且运行速率快,适用于于不同应用程序之间的交互。
缺点: 对于业务逻辑简单的标识符,API 试验效果类似单元试验。
由于 API 是应用程序各部分之间的对外接口,因此它们在版本发布时特别有用,除非发布版本透过了所有的 API 试验,项目组就能更有信心将其交货给客户。
4.3.功能试验
功能试验适用于于整个标识符库并校正用户工作流。例如,在 Web 应用程序中, 透过 HTTPUnit 和 Selenium直接与界面交互来试验产品。
益处: 功能试验模仿用户采用并试验多个组件的互操作性,从而更有可能发现错误。
缺点: 比单元试验慢,有时会因为网络延迟或技术栈中某个地方的瞬间中断而出现误报。
项目组经常发现,随着他们越来越接近真实的用户工作流程,自动化试验的运行速率反而会降低,HTTPUnit作为一个成熟的Web浏览器会运行更快,而Selenium 着实能跨多个 Web 浏览器并行运行。尽管会出现这些难题,功能试验仍然非常有价值,因为相比人工测试,它能够更快地提供意见反馈。
试验人员不应该将智能化试验视为生存威胁,因为智能化试验将帮助他们摆脱重复性的试验任务,也能将时间花在风险分析、试验计划或培养其他技能上。
5.快速稳步应用软件系统
在 PingCode,我们努力保持开发者的创新和标识符库的健康,并重视加强开发者的“内部意见反馈循环”——指标识符构筑和获得试验结果所需的时间。
运行智能化试验能快速累加并得出构筑稳步时间。一种策略是跨多个服务器并行智能化测试或“构筑代理”,这样 CI 服务器实际上同时运行 20个 甚至 200 个试验。借助云技术,CPU 能随着试验套件的增多轻松扩展以满足开发项目组的需求。但CPU不是无限的,充分试验标识符的每一区域的同时确保不要冗余,冗余试验会使构筑稳步时间膨胀并浪费 CPU。稳步应用软件系统的速率越快,工程师就能越快地处理待办事项中的下一个工作。
6.组成部分和 CI
许多项目组因为合并的痛苦而防止创建组成部分,但有了像Git这样的版本控制工具,组成部分和合并都变得很容易。为了确保主要标识符行(Git 中的“main”)保持健康,在所有特性组成部分和版本组成部分上要运行统一的组成部分策略来保证稳步应用软件系统,当组成部分构筑透过后,项目组就能将该标识符直接合并到上游。
透过组成部分、稳步应用软件系统和试验智能化,项目组能在保证标识符产品质量的同时提高劳动生产率和创新能力。PingCode能够支持应用软件系统多种标识符托管工具,如Gitlab、Github、Git、Gitee、SVN、Bitbucket,实现工作项关联标识符提交、组成部分、拉取过程,同样还支持工作项应用软件系统 Jenkins 等稳步应用软件系统工具,在工作项详情页中可视化呈现每一任务的进展状态,跟踪构筑、部署进度。

而灵巧开发的最差状态就是不定期交货工作应用软件,在不负面影响独创性的同时将技术债降到最低。