- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于LINUX平台的自动化测试的研究与应用.doc
基于LINUX平台的自动化测试的研究与应用
摘要:本文面向Linux平台和平台下不同类型应用的特点,研究了自动化测试的技术和工具,并从功能测试和性能测试的角度对Linux平台下测试工作的自动化进行7分析和说明。文中提供的方法和技术已经成功应用于上海中标软件有限公司服务器产品和桌面产品的测试工作中。
关键词:Linux;自动化测试;软件应用
引言
现代 软件规模的逐渐增加,使得软件测试的工作量越来越大,同时软件开发周期的缩短又要求尽量提高测试效率,而受开发资金的限制测试资源不可能大幅度增加,一切使得传统的手工测试已经无法满足现代软件开发的要求。另一方面,许多公司已经把软件测试作为保证软件质量、提高软件可靠性的主要手段之一,花费在软件测试上的资源已经占到整个软件研发成本的50~60%,软件测试能否按时完成已经成为软件能否按时交付的瓶颈。所有这一切都使得对软件测试实施自动化势在必行。
目前,市场上自动化测试工具不少,按用途可分为:功能测试工具,性能测试工具,测试管理工具等。就实现技术原理而言主要分为两类:一类是捕捉/回放技术,一类是编写测试脚本技术。捕捉/回放技术的脚本由捕捉时自动生成。捕捉阶段,工具记录用户的一系列鼠标点击和键盘按键操作,并将这些操作转化为脚本。回放时把这些脚本作为输入在被测程序上执行,根据执行后的状态信息和输出结果与原始记录的比对来判定是否存在差异。编写脚本技术需要用户以一个指定的脚本语言编写测试脚本,对于测试脚本的维护、测试执行的驱动以及测试结果的统计等可由用户自行实现,也可以使用专门的测试工具或者测试框架帮助完成。通过测试自动化的实施,可以使测试人员从大量的重复测试中解放出来。
在Linux平台下进行自动化测试,可以使用的商业测试工具并不是很多,但是由于开源软件产业的蓬勃 发展 ,在各个开源社区维护的开源项目中提供了大量的、针对不同类型应用以及不同类型测试的测试工具,这些工具可以满足基本的自动化测试需求,同时可以结合具体应用的特点,通过进一步改造工具来完成测试自动化的目的。
本文所进行的自动化测试的研究对象主要针对Linux平台及平台之上的应用,测试的类型主要包括功能测试和性能测试。
自动化测试曲研究与应用
自动化测试的前提是无论采用何种测试技术和测试方法,组织已经积累了针对各种类型应用的包括完整的测试输入、测试执行步骤和预期输出的测试用例。
由于Linux是一个命令行组成的操作系统,因此采用脚本编程,按照预设的执行逻辑批量地执行命令行,是实施自动化测试时首先需要考虑的手段。为了实现更复杂的测试工作的自动化,也可以选择或者自行开发测试工具或测试框架。在选择工具或框架时,通常需要考虑是否具备如下几个要素:a,测试执行人员可以选择运行哪些测试组件/测试用例b,提供定义用例执行结果的输出方式,如提供成功、失败、未执行等函数供调用c,可以加载用户自定义的函数库d,提供用例执行的配置文件或者场景文件e,提供调试的机制f,提供日志输出方式g,提供结果统计输出等等。
在Linux平台下,借助工具或者其他手段实施测试的自动化时,需要关注以下几点:
(一)各种技术应用的前提。对于在开源社区和一些开源项目中获得的测试工具,首先需要了解工具适用于哪些类型应用的测试,以及工具发布后的发布说明和FAQ。开源的工具通常不像商业工具那样成熟稳定,因此找出工具的适用范围以及探索工具的实现程度是进行自动化测试应用的前提。
(二)各种技术应用的环境需求。对于各类工具,需要关注编译和运行时对各种包和库及其版本的依赖关系以及对预先安装的应用的依赖关系。这些在用户手册中都有详尽的说明。
(三)服务器性能监视器。大部分测试工具没有提供服务器端的性能监控功能,测试工程师需要根据实际的需求编写性能监控脚本来配合工具的使用。
下面结合曾经参与进行过的Linux平台下的自动化测试的研究,面向不同类别的测试用例自动化的需求,将主要从功能测试,如GUI测试、命令行客户端的测试,以及性能测试等几个方面对Linux平台下的测试工作的自动化进行分析和说明。
GZozilla,OpenO、Evolution邮件客户端,Nautilus文件浏览器等等,此外还可以测试UI界面基于S. 命令行客户端的测试
(一)应用于命令行客户端测试的技术分析
Linux操作系统的精髓就是命令行,对于可以通过命令行批处理方式进行测试的客户端,Shell脚本语言是程序员测试时的首选,Shell提供了用户与内核进行交互操作的一种接口。
而对于测试交互式类型的客户端应用,Expect则比较擅长。Expect是基于tcl的用于测
文档评论(0)