软件自动化测试工具的应用

作者:石磊时间:2014-12-09 09:12:51  来源:www.ksfbw.com  阅读次数:1255次 ]

软件自动化测试工具的应用

 

/石磊

 

近年来,计算机技术和信息技术快速发展,各种应用软件层出不穷,为了充分保证软件质量,需要进行软件测试,但是软件测试需要耗费大量的人力和时间,可能占据整个软件开发工作量的40%左右,如果对软件开发比较严格,工作量还会高于这一数值,当前的软件测试一般是人工测试,存在效率低下、错误太多等问题,由于软件测试一般是重复操作,因此近年来软件自动化测试技术开始普及。

 

【关键词】软件开发 软件测试 自动化测试

 

软件测试大部分是重复性工作,而运用软件自动化测试工具,能够自动完成这些重复性工作,减少测试的盲目性、随机性,减弱测试过程所受的人为因素影响, 缩减冗余工作量,降低出错的频率,因此运用软件自动化测试非常有效实用。

 

软件自动化测试的优点

 

运用软件自动化测试工具能够加强软件性能测试,缩短测试时间,能够在保证软件质量的情况下让软件尽早上线,软件自动化测试有几个方面的优点:首先,能够有效提高测试效率,由于回归测试的用例、动作都是预设好的,所以测试结果、期望等数值也能够预知,因此能够减少测试时间,提高测试效率;第二,测试具有可重复性和结果一致性,由于自动化测试是自动进行的,因此能够保证测试内容和测试结果的一致性,可以进行反复测试,针对不同的测试,只需要少量修改测试脚本就能够继续使用, 因此自动化测试还有复用性的优点;第三是可以进行更加复杂的测试,一些测试需要大量测试人员在同一时间进行测试,显然是无法实现的,但是运用自动化测试工具,可以模拟多用户,在同一时间进行测试,大大减少了工作量,可以进行更多的更加复杂的测试。

 

软件自动化测试工具分析

 

用于软件测试过的工具数量较多,但是可以大致分为几类:黑盒测试工具、白盒测试工具、测试管理工具等,下面分开进行分析。

 

2.1 黑盒测试工具

 

如果已经知晓软件应该具备的功能,可以使用黑盒测试工具进行功能测试。测试原理是录制测试脚本后回放,用脚本来模仿用户实际操作,记录下输出数据并和预先设定的标准数值相比较,由于这种测试的主要目的是确认软件功能是否正常,因此不用考虑程序的内部特征和结构,常见的黑盒测试工具有WinRunnerRobotTeamTest等。

 

2.2 白盒测试工具

 

白盒测试工具的主要作用是测试程序能否按照既定规定运行,测试原理是在不同点检查程序的运行状态,并以此确认实际状态。测试工具主要是分析程序代码,测试程序结构、代码、类层次和对象等,如果程序存在缺陷或问题,运用测试工具能够直接定位到代码行,如果白盒测试工具具备可视化功能,对程序语言支持较好, 则可以作为软件自动化测试工具。白盒测试工具又可以分为两类,一种是动态测试工具,动态测试工具是在程序代码中设置断点,在断点出插入测试代码,测试程序运行状态,常见的动态测试工具有 Error DetectPerformanceAnalysis 等;而静态测试工具知识测试程序语法、过程和结构等,确认程序是否正确,常见的静态测试工具有CodeReview等。

 

2.3 测试管理工具

 

测试管理工具的主要作用是管理软件测试的输入、输出结果以及测试过程。测试管理工具设有一个数据仓库,开发人员、测试人员等都可以相互交流信息,能够实现自动化管理测试需求、测试计划、日程安排等,有效提高了软件测试的效率,常见的测试管理工具有ClearQuestTestDirector等。

 

软件自动化测试工具的应用

 

3.1 程序方法、类、属性的识别

 

要测试好一个程序,需要明确待测程序的类型类、命名空间,在测试程序集前,要将所有类型类、命名空间用测试工具识别出来。

 

3.2 代码分析

 

和高级语言编译相似,代码分析也是为了描述、查找源代码中诸如错误编程、错误逻辑、安全漏洞等薄弱环节。高级语言不同,需要采用不同的测试工具。运用这项技术,能够分析源代码并获得桩模板、测试驱动,在测试脚本的基础上,开发人员预设期望输入输出数据、桩函数逻辑等,执行测试后能够自动生成测试报告。

 

测试工具可以分为动态分析模块和静态分析模块,其中动态分析模块采用的是插桩方式,在特定的位置插入监测代码,以此观察程序的运行状态、产生的数据、是否出现异常终止等问题,进行动态测试有三个步骤,即:单元测试、集成测试和系统测试;对于静态分析模块,主要是分析程序代码,不需要编译代码也不需要运行,首先分析工程文件并读入源程序,进行语法扫描,寻找代码中的从缺陷,评价代码质量并生成调用关系图,保存静态分析的数据,可以继续用于测试报告和动态分析。

 

3.3 捕获回放

 

测试人员首先录制测试脚本,测试工具会学习软件组件层次结构和信息,截获测试人员触发的某些事件,分析事件并得到参数,将参数保存在测试脚本中,和预设标准比较后找出程序缺陷。捕获回放工具有三个级别:硬件级别、操作级别、进程级别。

 

3.4 自动生成脚本和测试

 

一般的软件自动化测试工具都提供了脚本录制功能,以提高测试效率。例如使用比较广泛的 LoadRunner 负载压力测试工具,通过模拟用户负载并监控系统性能和行为,发现、查找软件中存在的问题,主要步骤是选择协议—创建测试脚本—产生负载—设定方案—执行测试—分析结果。软件自动化测试结束后,工具会将服务器端、客户端、网络端三个方面的测试数据收集起来,生成测试报告,评估程序组件性能,确定系统中存在的问题,实现系统优化和系统功能完善。

 

3.5 实际应用举例

 

Rational Visual Test 是一款常用的软件测试工具,软件能够记录和重放程序执行过程,大大减少了测试人员的工作量。使用软件测试需要首先运行设计的case,提取参数,首先读取runlist文件,代码为:OPEN '..\runlist'FOR INPUT AS #runlistWHILE NOT (EOF (runlist))LINE INPUT #runlist,runlistname接下来的步骤为运行 ispLEVER 软件,处理窗口信息,打开需要运行的例子,清除旧信息,运行布线,保存项目,备份例子,进行下一个例子的测试。所有例子都运行完后,就要提取参数,在备份目录中有 .twr 和 .log 文件,这些文件中就有我们需要的参数,例如:Number of external PIOs:126 out of 140 (90%)。我们同样可以在文件中找到所用工具、器件封装等信息,提取这些信息后与 ispLEVER软件结果比较后得到测试结果。

 

结束语

 

综上,随着科学技术的发展,软件种类越来越多,规模越来越大,也更加复杂,我们应合理的使用自动化测试工具, 降低测试成本,提高测试效率,提高软件质量。

 

参考文献

 

[1]杨立,刘杰.嵌入式软件自动化测试平台构架设计 [J]. 消费电子 ,2014(08):187.

 

作者单位

 

中国航空工业集团公司洛阳电光设备研究所 河南省洛阳市 471009

 

本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除! 快速论文发表网(www.ksfbw.com)本中心和国内数百家期刊杂志社有良好的合作关系,可以帮客户代发论文投稿.

投稿邮箱:ksfbw@126.com
客服Q  Q: 论文发表在线咨询82702382
联系电话:15295038833

本站论文资源均为来自网络转载,免费提供给广大作者参考,不进行任何赢利,如有版权问题,请联系管理员删除!

广告推荐

文章评论

共有 0 位网友发表了评论

阅读排行

推荐文章

最新文章