刘鹏
摘要:当前,软件测试行业的优势受到国内诸多企业的重视,通过软件测试,可以保证系统和软件的质量,同时还可以降低软件和系统的成本,最终提升企业信誉,促进企业发展。在开发软件、系统中,很多企业要做到“多测”“测多”,从而必须要应用自动化测试。自动化测试可以节省人力和物力,提升测试效率和产品质量。基于此,文章就基于QTP的软件自动化测试框架的设计及应用进行探讨。
关键词:QTP润健自动化;测试框架;设计;应用
1、基于QTP的软件自动化测试框架的整体设计
1.1自动化测试实施流程
1)建立测试用的例库;
2)设置测试需要的场景;
3)准备测试用的数据;
4)保证系统和相应的环境已经就绪;
5)监控测试的自动化过程和实施的过程;
6)做好避险准备,实施预警;
1.2自动化测试框架设计规范
在自动化测试框架设计的过程中,需要满足项目的需要,在使用过程中可以随时根据需要求添加和删除框架。框架有很多种类,主要包括数据驱动、关键字驱动、混合框架三种,其中数据驱动一般在工作流不变但是仅仅有数据变动的情况下应用;关键字驱动提供的关键字在任何类型的应用中都可以使用;混合框架则是综合了上述两种框架的长处,从而可以有效发挥每个框架不同的优点。
1.2.1避免重复用工
在测试框架设计的过程中,应该发挥自动化测试工具强大的功能,而不是通过实现新的关键字,对整个表达方式重新设定。在关键字驱动框架开发中,不仅费时,而且会浪费钱,而如果开发混合框架,就可以在节约成本的同时更加节约时间。
1.2.2复用性
应该确保框架达到最大程度的服用,并结合action到业务逻辑汇总实现复用。
1.2.3不同版本产品及项目的支持
被测试应用或者是程序,在不同版本上服用击弦脚本。
1.2.4脚本版本的支持
在版本控制系统中存储脚本,其中包括如VSS、CVS等,从而在灾难中才可以保证脚本恢复。
1.2.5执行
在自动化测试框架设计过程中,需要满足和实现如下需求:
1)可以执行单独的测试用的例库;
2)可以执行一组测试,或者说是测试的组合;
3)需要将failed的测试用例进行重新执行
1.3自动化测试框架的整体设计
1.3.1引擎驱动管理
引擎驱动管理可以对多个调试好的脚本进行控制,确保其有序运行。
1.3.2数据管理
包括用力和测试两种数据的管理,按照业务模块,将测试数据存放到目录中,在相同测试用例中的数据,需要应用多组测试数据中,以文件中进行索引区分,从而可以方便读取数据。
1.3.3对象库管理
在同一个对象库文件中保存对象,进行统一管理,从而降低对象冗余的现象,对象库是QTP的核心,也是脚本运行的基础,获取对象的方式特殊,需要通过对脚本名字的分析确定对象。
1.3.4脚本管理
编写脚本管理框架需要手动测试的操作要求,从而满足现实脚本代码中的空间、界面等。编写框架的过程中,必须要注意脚本的测试工作,在整个自动化测试框架中,测试脚本是核心纽带,从而开发脚本成了整个框架中最复杂的工作内容。脚本不仅需要实现不同界面的相互动作,通过事件的时间间隔进行辩解,调用各种子模块。
1.3.5输出管理
当结束自动化测试脚本运行结束后,结果或者是数据就可以自动输出,形成报告、认知。
2、自动化测试应用实施过程
在进行自动化测试过程中应该以分期实施的方式进行,主要包括两个阶段的实施,在实施过程中需要选择一到两个功能模块,当成熟之后,再进行推广,进行其他产品的实施;秉承先易后难的原则,尽可能选择非核心功能的实施对象,从而降低实施的风险;秉承选择稳定功能的原则,如果对功能不稳定的系统进行自动化测试,就会增加测试脚本维护的工作量,会因为异常而导致自动化测试终止;秉承逐步完善的原则:在自动化测试体系中,不仅包括录制编写、执行相应的脚本,还包括测试校本库、测试工具继承等多方面工作,进而需要一步一步完成自动化测试体系。
3、自动化测试框架的应用分析和总结
3.1 应用分析
以自动化测试框架在征管系统中应用为例,征管系统在自动化测试初期,覆盖基本业务流测试功能点,主要是税费种认定、校验功能、核心征管等级,达到了全面覆盖,分支业务流也形成全面覆盖。当完成一次自动化测试之后,有接近三成为系统缺陷。另外,设计信息资料、测试环境、脚本设计、版本更新等方面问题导致。在被测系统中,所有的缺陷都是由进行测试的工程师进行报告、解决,而变更版本、数据脚本等,都会导致异常出现,如此需要测试人员进行分析并拿出解决方案。
3.2 应用总结
应用自动化测试的主要目的在于找到原来的不足,人工测试则为了找到新的问题,如果在具体实践过程中产生新的问题越多,就会导致自动化测试越容易失败,因此,手工测试的主要目的在于发现更多的缺陷。测试领域的学者James Bach的研究中归纳,问题中有85%都是人工发现,只有15%是通过智能测试的方式发现。在实际推行自动化测试过程中,必然会出现相应的阻力,例如,公司领导是否对自动化测试有足够的重视,是否对测试组织认可,相应的测试工作者是否符合自动化测试的技术要求和条件,在维护自动化测试脚本的过程中,是否符合公司的实际要求。综合考虑工程状况,对具体环节进行战略性使用。
在实际应用自动化测试结构体系过程中,处于不断改进的状态,从而自动化测试工作难度也在不断增加,但自动化测试的优势则更加突出,自动化测试的速度也在不断加快,降低了工作人员负担,提高了有效性、可靠性,同时可以促使手工测试专注于业务流程,或者是其他復杂测试场景,形成与手工测试的高效结合,缩短测试周期。
4、结语
综上所述,在未来的自动化测试框架研究工作中,应该尽可能提升框架兼容性,从而摆脱工具的制约,形成良好的通用性,后期还应该对框架的策略结构进行探究,从而更好的解决实施阶段测试成本的问题。
参考文献:
[1]袁鹭思. 基于QTP/QC的软件自动化测试框架实现[D].复旦大学,2014.