软件测试之自动化测试实施过程
计算在企业软件测试发展过程中,伴随着软件产品种类、功能与版本的增多,手工测试难以满足测试效率与质量的要求,一方面会提高开发成本,导致人工费用占比不断扩大;另一方面无法保证最终的软件质量,降低测试效率,增加项目风险。在软件质量与效率的双重压力下,自动化测试开始提上日程,其实施过程呈螺旋形上升态势,主要包含原型启动、向上爬升、蓬勃发展、暂时阻滞与新的上升5个阶段。整个自动化测试开展的时间跨度依测试团队与软件规模的不同需要2年到数年不等。以下是自动化测试实施过程。一、启动阶段进行自动化测试框架与设计方法的探索,输出自动化测试原型,验证思路的可行性,这个阶段历时近1年。
(1)需求与可行性分析:输出初步的自动化测试需求,进行可行性分析,依据资源与技术难度判断短中长期能取得的预期效果。
(2)前期调研与原型开发:选取具有典型意义且实现周期较短的测试用例作为自动化测试开发对象,选取专用网络设备测试仪表为自动化测试基础,输出总体规划与开发指南。
(3)自动化测试用例编写:在原型可行的基础上,完成部分优先级高的测试用例自动化,并输出第一版自动化测试公共库,用于支撑后续开发。
(4)前期经验总结:制订自动化测试软件开发流程与规范,明确手工测试用例自动化转化要求与做法。该阶段相关测试用例自动化后执行时间缩短50%以上,初期自动化测试用例数量还很少,自动化率低于10%。
二、设定初期的自动化测试目标,并在项目中正式引入自动化测试。
(1)已有测试用例的自动化:提升旧功能的自动化测试率是提升项目回归测试效率的重点。
(2)项目新增用例的自动化:成为项目提升测试效率的重要组成部分。
三、蓬勃发展阶段
自动化测试对项目测试效率的提升作用日益明显,自动化测试的发展进入蓬勃茁壮期,主要工作如下:
(1)自动化测试用例大幅增加:每周、每月、每年的自动化测试用例产出按目标稳步提升,积累到较为可观的数量。
(2)自动化测试纳入软件开发流程:自动化测试成为项目的固化环节,每个项目必须设定自动化测试用例设计、编写与执行的目标。自动化测试在受到流程规范与项目目标约束的同时,也为项目目标的达成作出更大的贡献。
(3)自动化测试技术提升:公共库优化、自动化统一管理平台、应对新产品的自动化测试框架、故障注入工具等一系列技术研发在这个阶段持续开展。这是自动化测试发展的“黄金时代”,大致持续2年时间,自动化测试用例近1万个,自动化率达到75%。项目全面使用自动化测试,回归测试效率大幅提升,自动化测试优势明显,为测试质量与效率提供有力支撑。表1给出前3个阶段的自动化测试用例数量、覆盖率与测试失败率等数据,可看出数据上升明显。
四、暂时阻滞阶段
自动化测试经历了4~5年的发展后,进入了相对停滞的状态。主要表现在自动化测试仍在运行,但新增用例少,自动化覆盖率下降,主要原因有:
(1)自动化测试问题积累而未决。自动化用例执行失败过多、测试环境不稳定、测试结果不准确等问题层出不穷,项目组对自动化测试失去信心。
(2)自动化测试技术未跟上产品发展的需求。网络设备中双(多)机备份、应用层技术等较复杂的功能对自动化测试技术提出了新的要求。
(3)自动化测试资源相对减少。主要是新产品、新功能手工测试占用了更多的测试人力资源,这种情况与自动化测试启动初期相似。该阶段自动化测试用例的数量少量增加,但自动化率降,如果要提升自动化率,则相关的自动化测试程序以及设施维护成本也会在很大程度上有所提升。
五、新的上升阶段
新产品的不断出现对自动化测试提出新的要求,自动化测试支持嵌入式、C/S(Client/Server,客户端/服务器)、B/S(Browser/Server,浏览器/服务器)、云端软件,满足瀑布或敏捷等多种开发模式,不同的自动化测试框架齐头并进。
(1)注重自动化测试技术的积累与投入,包括建立灵活、可扩展的自动化测试框架,新产品线与新功能所需测试技术的分析实践等。
(2)问题解决及时闭环。每个自动化测试执行失败项都能够在计划时间内完成分析、得出结论并解决。在这个阶段,测试团队不仅关注自动化测试用例数量或比例,而开始通过各条产品线自动化测试的均衡性、测试问题的解决情况、自动化测试技术积累的程度等综合考量自动化测试的实施水平与效果。
现在公司都要求或多或少要点自动化了
页:
[1]