....22参考文献 .....................................................................................................................23附录 .............................................................................................................................24致 谢 .....................................................................................................................32 基于 Winrunner 的 Web 自动化软件测试的研究 第一章 引 言 1.1 研究背景和意义 随着计算机技术的发展,计算机技术的软件产品越来越融入人们的生活当中,也越来越受到人们的重视。
而且,国防和许多重工业领域也极大的依赖软件。
软件业的发展也必给国家带来丰厚的经济利润。
然而,随着软件技术的发展,软件开发的风险也越来越大,软件存在的缺陷也越来越多,因此,开发人员的压力势必日益增大。
一个缺陷可能导致整个软件的瘫痪,也会极大的增加开发商的维修费和用户的成本费,在航空、军事、证券和银行等领域可能会造成灾难性的后果。
基于此,软件的质量问题成为一个软件产品的首要问题,它关系到软件成败的关键。
故,软件测试成为开发中的重点,它是保证软件产品质量的重要手段,它在整个软件开发中所占用的时间也越来越多。
但是,传统的测试是人工检测,它的许多操作是重复的、不具备创造性、非智力性且需要细致的注意力。
而计算机就很适合去代替人们去完成这样的工作。
自动化测试作为软件测试技术的一种,它有别于传统的人工测试技术。
传统的测试是根据事先写出的步骤和方法,由测试人员手工输入测试数据,分析并得出结果。
自动化测试是运用某个测试工具来运行某个软件,由这个测试工具分析并得出结果,它极少依赖于人工而进行的一类测试。
它能减轻手工测试的劳动量,从而达到提高软件质量的目的。
所以,用传统的测试将极难保证软件的质量。
综上所述,实习软件测试的自动化是一个不可逆转的趋势,若进行的好,将会给企业和个人带来极大的优越性。
因此,在软件测试中引入自动化有非常重要的理论和现实意义。
1.2 研究现状 随着工程技术的发展,软件规模的扩大,软件测试在其中的作用尤为重要。
目前的软件测试技术虽然取得了一些成就,但在具体的情况下执行全面、完整的测试仍然没有可以依赖的行业标准。
在国外,软件测试技术的发展非常迅速,西方发达国家都极其重视软件测试技术的研究和开发。
特别是在美国,有一些很有权威的研究机构专门研究,如卡内基梅隆大学的软件工程研究所、美国马里兰软件可靠性实验室等在面向过程的软件测试和面向对象的软件测试方面有重大的研究。
1 在国内,我们软件测试技术的研究发展较西方起步晚,在人力和物力的方面的投入有很大的差别,它属于一个新兴的行业。
在借鉴外国的经验上不断进行探索,对软件测试的重要性认识不足,软件测试在整个软件产品开发中的经济比率不足 10,远远达不到国外的 3050。
但是在国内也有一些研究机构重视对软件测试的研究,如北京大学在黑盒测试方面的研究以及西北工业大学在Client/Server 系统的测试方面的研究。
在公司里开发人员和测试人员的比率和国外相比存在着巨大的反差,而且,培训专业的测试工程师的机构也很少,还有,自动化测试的水平比较低,对测试工具的认识不够,主要的测试是手工测试,所以培养专业的测试人员的任务任重道远。
基于软件测试的现状,我们有必要对软件测试及自动化技术做进一步深入的研究,对软件自动化测试生命周期方法论以及软件自动化测试成熟度做更加深入的研究,对软件测试新技术和新工具做进一步的研究,在企业内,也需要对完整的测试方案做细致的研究,使其在软件产品的开发中发挥应有的、更重要的作用。
第二章 自动化测试工具 随着软件测试人员地位的提高和手工测试的局限性增大,测试工具的使用也受到了很大的重视。
测试工具的应用已成为必然的趋势,它能重复的操作,能发现一些手工测试很难发现的错误。
目前测试工具主要分为:白盒测试工具、黑盒测试工具、功能测试工具和测试管理工具。
2.1 自动化测试工具的特征 自动化测试工具具有一些很好的特点,比如3: 1 支持脚本化语言:它是测试工具最基本的要求,包括支持数组、列表和结构等多种函数和类型。
如能包含 VB、VC 和 C 等语言的使用,工具的使用就更加方便。
脚本语言的功能越强大,就能提供更大的灵活空间,就能测试更加复杂的系统。
2 对程序界面中对象的识别能力:工具能够将程序界面中的所有对像区分并标识出来,为测试脚本提供更好的灵活性和可读性。
3 支持函数的可重用:用它建立一个函数库,一旦程序发生了变动,不需要变动全部,只需修改相应的函数,从而避免了整个脚本的修改,可以大大的节省测试的工作量。
4 支持外部函数库:可以运用外部函数来帮助测试。
5 抽象层:将程序界面中的对象实体映射成逻辑对象,对逻辑对象进行测试。
不去管实体对象,故实体对象一旦发生变动就不影响测试工作,减少测试维 2护的工作量。
6 分布式测试Distributed Test的支持:一些大的测试项目可能需要很多的测试人员来进行测试,有了这个功能可以保证测试工作的协调开展。
它最大的好处是可以事先制定测试任务的时间表。
7 支持数据驱动测试Data-Driven Test:当有大量的数据时,这时若一个一个的修改测试用例会非常的繁琐。
而运用数据驱动测试技术,只需编制很少的测试用例,而准备大量的测试数据,就可以运用测试工具自动完成大量的测试工作。
8 错误处理:利用它可以避免测试程序因一些异常错误而异常终止。
9 调试器Debugger:调试器可以帮助我们更有效地对测试脚本的执行进行跟踪和核对,迅速地位问题。
通常调试器与测试脚本的开发环境是集成在一起的,支持脚本单步运行、设置断点、核对变量和返回结果等。
有一些功能强的调试器,可以跟踪进入可执行程序、外部调用库函数等。
10 源代码管理:可以帮助进行测试脚本库的导入和导出、回退到以前版本、比较不同版本间的差别,以及同时对几个项目进行跟踪,尤其在团队开发中很有必要,可以对测试数据文件、测试脚本、对象抽象层进行统一管理。
如果测试环境与开发环境使用同一套版本管理工具,能够给项目管理带来更大的便利。
11 支持脚本的命令行Command Line方式:能够通过命令行方式运行测试脚本,可以为测试的执行带来更大的灵活性。
通过以上的特征可以看出自动化测试工具的功能,从而能确保它能对系统进行有效的测试。
2.2 自动化测试工具的作用和选择 采用自动化技术,可以自动完成测试用例执行结果的判断,避免人工测试对漏洞的存在问题。
自动化测试工具的作用通常包含1: 1 确定系统的最优配置; 2 检查系统的可靠性; 3 检查系统软件和硬件的升级情况; 4 评估新产品。
自动化测试工具的选择: 1 工具的获取:通过多种渠道对一些工具的选择; 2 工具的评估:每一项工具都有各自的优缺点,对照它们的特点并结合具体的实例,分析预期的结果做出评估; 3 选择:经过实际的评估从而可以选择合适的工具; 3 4 定制:对选取的工具进行各项功能的操作; 5 培训:对测试人员进行一些专业的培训。
通过以上的内容可以知道,自动化测试技术虽然是一门新技术,但不要认为它是无所不能的,需在实施前做好调查和预期的准备,避免出现一些无法收场的结果。
2.3 当前一些流行的测试工具 目前市场上流行的测试工
上一篇:
【精品】:struts2学习笔记
下一篇:
问卷调查可以自动生成试卷等,并且只能一个用户登录