自动化测试技术方案的设计与实现

Obelia ·
更新时间:2024-09-21
· 945 次阅读

  1、前言

  随着客户数的不断壮大和市场激烈竞争、业务支撑系统需要支撑庞大,业务需求日益繁多急迫,运营商和集成商都逐渐认识到了软件测试在软件开发过程中和软件生命周期里越来越重要。大家开始积极探求更规范化和标准化的测试流程,引入自动化测试,提高软件测试的速度和效率,减低测试成本,提升版本质量,缩短需求上线周期。自动化测试要测试工具完成,这包括成熟的测试工具或者

  自主开发的测试工具,但是一定是要适用电信业行业业务要求,基于可控的成本估算及公司的实现方案,主要按以下几部分进行了详细的说明。

  一、基于WINNER的回归类的黑盒功能测试,主要是业务支撑内部测试团队使用;

  二、基于集成商自助开发的AutoSpace自动化测试平台,主要是集成商测试团队使用;

  三、基于LOADRUNNER的性能测试,业务支撑内部测试团队和集成商测试团队共同使用;

  四、基于集成商自主开发的接口半自动化测试工具,主要是集成商测试团队使用。

  五、基于第3方厂家开发的主要接口自动化测试工具,比如自助终端缴费、空中充值等,业务支撑内部测试团队和集成商测试团队共同使用。

  六、关联测试过程等(包含自动化、手工测试)版本质量评估。自动化测试的优势是快速、可重复性、可编程、覆盖率高、町靠性、可重用性。但是并不是所有的业务都适合进行自动化测试,在没有标准的测试过程时,或者测试关联性非常复杂时不适用。

  2、自动化测试技术的主要组成部分

  2.1 基于WINNER的功能测试

  基于WINNER的功能测试是个黑盒测试,提供输入后,测定输出是否与预期结果相同,而不关心过程如何执行。自动化测试中WINNER的工作原理:通过模拟录制前台操作,生成自动化脚本,并对脚本进行参数化,增加相关检查点与预期进行比对;通过回放修改后的脚本,进行测试,并输出测试结果,形成测试报告。但测试自动化的引入有一定的标准,要经过综合的评估,不能简单理解成测试工具简单的录制与回放过程。在自动化测试的整个工作过程中,测试分支或者测试用例的编写、脚本参数化和增加相关检查点的操作非常重要。注意并不是所有的业务都适合进行自动化测试,比如系统管理中参数的修改,要关联测试非常多的业务受理。此外,应用软件版本升级当晚上线后的大量的业务测试不适用,一个是要受测试数据的限制,一个是产生费用无法回退的业务的限制,还有一个更重要的原因是时间的限制。

  2.2 基于集成商自助开发的AutoSpaee自动化测试平台

  AutoSpace是集成商公司测试工具部开发的统一自动化测试平台,基于AW,表格化编写用例,使用简单,支持C/C++、TrCN3、TCL、JAVA、R丌语言开发AW,支持多语言的AW无缝集成到一个测试用例中运行,大限度实现共享,实现全员自动化,大大提高测试效率。通过模拟营业员,通过前台,测试关键业务(办理类、查询类),基于C/S结构,可多人、多机同时使用。AutoSpace架构如图1所示:AutoSpace关键依赖因素包括环境稳定、数据库用户需要有DDL、DML执行权限,减少与手工测试之间的互相干扰、测试系统界面控件属性要相对稳定,且有识别标识。Auto?Space的具体特性如下所示:应用场景除目前的版本测试、数据修改、故障查证、.主动预防应用外,后续还有其他能力提升,比如:

  a.支持资费包上载、资费配置的自动化测试,计划1人时完成100个资费的正确性测试,每月节约3人力;

  b.实现接口全部自动化测试,提升上线接口验证覆盖率;

  c.开发应用发布自动化;

  d.环境搭建自动化。

  集成商在自身需求强烈,并且运营商的鼓励下自主开发自动化测试工具,有个比较大的优势是驱动力强,并且会充分结合业务支撑的实际业务情况,贴近移动通信行业业务流程,覆盖范围更广,更加可靠和易用。此外,自主开发的产品在优化完善的响应速度会其他产品及时。

  2.3 基于L0ADRUNNER的性能测试

  性能测试一般包括压力测试和负载测试。为了更真实的测试性能指标,我们在11个地市分公司设置测试机器,远程安装了LOADRUNNER,这样在做性能测试时包括了对网络情况的测试。性能测试的业务测试范围包含:根据我省现网业务量的TOP业务排名及版本中新增功能预计会影响性能的业务。测试时分别采用个别业务批量执行及组合业务批量执行等逐级测试,后输出综合的性能测试报告,作为问题发现及上线的重要依据。

  2.4 基于集成商自主开发的接口半自动化测试工具及第    三方厂家开发的主要接口自动化测试程序集成商目前开发完成的接口半自动化测试工具,主要是通过输入命令字或者指令,输出报文,再通过报文比对,仿真完成对接口的测试。此外,重要接口,如网厅、自助终端缴费、空中充值请相关第三方厂家配合,提供测试高仿真程序。

  2.5 关联测试过程等(包含自动化、手工测试)版本质量评估    初期版本质量评估模型包含以下几个要素:日常版本开发布过程、开发过程监控、日常版本UAT过程监控、成本监控、产品质量监控、上线后系统可靠性等。其中各个要素权重值不同。由于评估的要素、权重、评分标准等各个省情况不近相同,但是随之逐步完成成熟,终会形成一套适用的可参考和落地的评估模型。

  综合以上要素及全值,我省版本质量评估的模型公式为:i,()=0?1+置0?1+yf 0?4+Z 0?4其中,K为发布过程、开发过程评估,x为测试过程评估,Y为产品质量评估,z为上线后系统可靠性,i为版本号。

  3、应用效果

  3.1 引入业界成熟自动化测试工具winrunner\loadrunner进行移动业务的自动化测试,进行测试用例的编写归档,形成测试知识库;

  3.2 自开发的适用于通信业务的测试工具AutoSpace,应用于版本测试、数据修改、故障查证、主动预防等场景;

  3.3 与各接口对端开发商沟通,双方配合实现重要接口自动化高仿真测试;

  3.4 建立版本质量评估模型,包含以下几个要素:日常版本开发布过程、开发过程监控、日常版本UAT过程监控、成本监控、产品质量监控、上线后系统可靠性等。其中各个要素权重值小同。进而对每次的版本质量进行评估,用真实、科学、有力的数据与开发商的充分互动,一起提升版本质量;

  3.5 通过自动化测试的实施,缩短了需求上线周期,目前估算每个需求平均缩短5个工作日左右;

  3.6 随着自动化测试范围的不断丰富,测试水平的不断提升后续还将实践资费包上载、资费配置的自动化测试;实现全接口自动化测试,开发应用发布自动化实现;测试环境搭建自动化。

  4、小结

  业务支撑系统走向自动化测试过程是不停摸索反思再前进的曲折过程,是软件测试行业一个不可逆转的趋势,首先要认识到自动化测试决不能完全取代手工测试。一般来说,一个40?60%的利用自动化的程度已经是非常好的了,达到这个级别以上将过大的增加测试相关的维护成本。自动化测试的实施过程中,测试工具的开发、引入、相关的测试团队的建设测试方案的制定、测试流程的输理都是至关重要的部分。随着测试自动化步人正轨,相信自动化测试对于测试效率和版本质量的提升效果会越来越明显,重要的是需求上线周期的缩短将会帮助,提高内外部客户满意度,增强企业竞争力。



自动 测试技术 自动化 技术方案 自动化测试 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章