测试 —— DevOps 快速交付的最大瓶颈
移动互联时代,智能手机成为了新时代的流量入口,数十亿用户无时无刻不在使用着各式各样的软件,从而给软件开发行业带来了空前苛刻的用户体验要求。
这些苛刻的用户期望,软件开发人员专注于将越来越小的代码增量越来越快地投入生产,产生了更多模块化和动态的软件开发和部署方法,因而越来越多的开发团队开始采用微服务和容器技术构建云原生应用程序。软件开发逐渐从传统的瀑布开发模式过渡到敏捷开发,再到如今的 DevOps 时代。
然而,无论在哪个时代,测试都被视为快速交付的瓶颈之一。
软件测试的演变
在企业发展初期,互联网业务较为单一,采用传统的瀑布开发模式,即在整个项目生命周期中,前半部分用于设计和开发,后半部分用来测试。在软件产品完成交付之前,无法获得用户的反馈,难以验证其价值,更谈不上适应各种变化。
为了让产品更快交付到用户手中,开发者们引入了敏捷模型。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都要经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
近年来,得益于容器技术与微服务架构的蓬勃发展,在敏捷模型基础之上,开发和运维协同工作的 DevOps 模式应运而生。DevOps 是一系列软件开发实践,强调开发人员(Dev)和运维人员(Ops)之间的沟通合作,通过自动化流程,使得软件构建、测试、交付更加快捷、频繁和可靠。这种开发模式的特点是可以把产品的每个迭代,或者每修复一个线上缺陷就立即部署到生产环境,这样一来,开发者就能够迅速从用户处获得反馈并且快速做出响应。
在 DevOps 开发流程中,测试工作融入到了项目生命周期的每个环节。
DevOps 测试带来的挑战
(图源:腾讯游戏学堂)
当然,这样的变革也为软件测试工作带来了更多挑战。
挑战一:频繁部署
在采用 DevOps 之后,开发团队能够根据项目具体情况做到每天一次甚至多次部署。在生产环境频繁部署软件,最大的挑战就是测试。以前,测试基本上都在开发阶段之后和产品上线之前完成。但现在,不再有充足的时间留给 QA 团队去发现问题再抛给开发团队进行修复。那么,速度成了测试面临的一大挑战。而很多企业缺少足够的测试工程师,或时间紧张,无法按时完成用例设计和执行,确保产品准时上线,测试执行时间长,结果反馈慢。
挑战二:自动化
在 DevOps 趋势下,测试部门从原先的大量集中测试,变成了高频快速测试。原先大部分企业采用纯手工测试的方式,从根本上无法适应 DevOps 的高频快节奏需求,从而滋生了对自动化测试的诉求,这就对测试人员的自动化编码能力提出了更高的要求。
挑战三:测试跟踪管理难
DevOps 流程中,测试过程会产生大量新的数据,这些数据资产、结果资产分析数字化程度低,难以整合和拉通并作为测试优化改进的依据。
挑战四:Bug 发现和解决成本高
内部测试团队形成测试“思维定式”,无法从用户视角及不同维度对产品进行补充测试,导致测试结果不可信,测试结果无法充分反映软件风险。
总而言之,DevOps 在带来更加敏捷高效的开发模式的同时,对测试人员提出了更高的要求,也带来了更高的测试成本。
基于云的测试平台
为了解决 DevOps 的测试瓶颈,市面上涌现出了很多自动化测试工具,其中基于云的测试平台成为了一大发展趋势。
云测试面向企业及开发者,通过云端调配和使用测试工具、测试设备、测试工程师,以解决企业软件和系统的功能、兼容、性能、安全等全周期的测试需求,具备云服务弹性可伸缩的特征,能提高企业的软件和系统测试效率,降低测试成本。
根据 Emergen Research 的最新分析,未来 7 年全球云测试市场规模将以年均 13% 的增长率稳步上涨 ,预计在 2028 年达到 216.7 亿美元。其中北美仍是全球最大的市场,而亚太地区则是增长最快的市场。
在国内,以百度、阿里云、腾讯云、华为云等头部厂商为代表的云服务供应商都推出了各自的云测试服务平台,为国内中小企业开发者提供自动化云测试服务,帮助企业实现降本增效。在此基础之上,将“让人人都能开发软件”作为产品使命的飞算更进一步,推出了更易于初学者使用的飞算 SoFlu 全自动测试平台。
飞算 SoFlu 全自动测试平台能够为中小企业开发团队提供易用、可靠的云测试服务,包括:
·测试生命周期管理:提供测试用例管理、测试用例评审、测试计划跟踪、测试报告生成等测试生命周期管理相关功能。
·测试用例自动生成:用户通过录制工具把操作过程记录下来,平台自动识别相关的接口并创建相应的测试用例场景。
·测试数据管理:基于测试脚本与测试数据分离的思路,方便研发测试协同、方便自动化测试中的测试数据使用,支持在UI、接口等自动化工具中快速可重复地使用。
·精准回归测试:项目测试时自动识别所有变动的接口,自动查找接口关联的所有测试用例进行精准回归测试。
以飞算 SoFlu 全自动测试平台为代表的云测试平台能够让开发团队轻松应对 DevOps 模式下带来的四大测试挑战,帮助开发人员匮乏的中小企业或组织机构降低测试工作门槛,实现降本增效,进一步完成数字化转型。