多种自动化测试学习.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《多种自动化测试学习.pdf》由会员分享,可在线阅读,更多相关《多种自动化测试学习.pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.一种高效的应用程序脚本语言 API 自动化测试方法引言应用程序往往提供了可扩展的脚本环境,如在Lotus Notes 和 Microsoft Office 等中所提供的LotusScript、Visual Basic for Applications(VBA)等,用户可基于这些脚本环境对应用进行二次开发和功能扩展。对脚本语言VBA 的支持是IBM Lotus Symphony 的一个新的重要功能,用户可以基于IBM Lotus Symphony 开发自己的应用程序。然而,应用程序能进行扩展的基础是脚本环境提供大量的脚本语言API,而如何对这种脚本语言的API 进行自动化测试是一个值得探讨的
2、问题。通常进行自动化测试一般需要借助测试工具,比如对有图形界面的产品进行自动化测试往往采用Rational Functional Tester(RFT)等自动化测试工具。如果直接使用RFT 对应用程序脚本语言API 进行自动化测试,需要维护大量的RFT 脚本,因此本文将介绍一种高效的应用程序脚本语言进行API 自动测试的新方法。本文首先对API 测试进行了分析,然后给出了自动测试脚本语言API 的思路和方法,接着对本文中介绍的方法进行了详细阐述和分析,最后本文还将介绍结合使用RFT 对应用程序脚本语言进行API 自动测试的方法,从而进一步提高了测试效率。上文提到IBM Lotus Sympho
3、ny 对 VBA 的支持是IBM Lotus Symphony 一个重要功能,包含了上千个API 需要支持,使用本文介绍的测试方法,极大的节省了开发和维护脚本的时间,提高了测试效率。1 问题分析对 API 测试是一个常见的话题。根据API 的执行效果,可以把API 分为两类(1)有界面User Interface(UI)效果的API(2)无界面效果的API。因此对API 进行测试,从实现的角度来看,有两种方法(1)验证图形界面的效果(2)验证返回值。如图1 所示。图 1.API 分类脚本语言有和高级语言(如Java,C+等)相比有其自身的特点,脚本语言如Visual Basic for App
4、lications(VBA),Star Basic,LotusScript.等之类的语言一般和某个应用程序结合在一起使用。VBA 在Mircosoft Office 中使用,一个Excel 文件中包含VBA 代码,如图2 所示。图 2.VBA 代码结构LotusScript.在 Lotus Notes 等 Lotus 产品中使用,如NSF 文件中包含LotusScript.代码等。脚本语言同高级语言相比,必须依附于应用文件而存在,用户可以比较方便的基于某个产品进行扩展和定制开发自己的所喜欢的应用程序。然而如何对脚本语言形式的API 进行自动化测试探讨较少。通常,对有界面操作的功能测试进行自动化
5、一般使用Rational Functional Tester(RFT)等测试工具;对高级语言(如 Java)形式的API 等使用JUnit 等进行测试;对脚本语言的API,很难做到像高级语言那样方便的操作和控制。2 解决思路文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF
6、1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A
7、4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 Z
8、C1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5
9、J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档
10、编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9
11、R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V
12、2C6 HF1K3I5A4O10 ZC1X7E5J4V4如果按照RFT 测试普通GUI 的思路对含有脚本语言形式的API 进行自动化测试,通常需要对包含这些API 的测试文件进行验证,即把测试文件作为需要测试的应用程序对待。也就说是使用RFT 对脚本语言形式的API 进行测试需要:(1)创建使用测试对象API 的测试文件(2)使用RFT 编写测试脚本对测试文件进行验证。这样对一个脚本语言形式的API 进行自动化测试需要维护(1)包含测试对象的测试文件(2)需要维护RFT 测试脚本,一旦被测的API 有变动,需要很大的精力进行维护。按照问题分析一节中图1 的分类方法,API 可以分为2 类,对于
13、第1 类 API,需要验证图形界面效果的,如果进行自动化测试则需要使用RFT 等测试工具对GUI 进行验证。而第2 类 API,只需要验证返回值,不需要验证界面效果,不必使用RFT 等测试工具进行辅助。因此本文借鉴RFT 和 Junit 进行自动化测试的思想,使用RFT 对对第2 类不需要验证界面效果的API 进行自动测试。从实现的角度来看测试工程,一般包括:(1)测试工程的组织结构对于测试工程的组织,使用RFT 对 GUI 进行自动化测试有成熟的解决方案,工程组织一般采用分层的结构,AppObjects 层(驱动应用程序的Objects),Task 层(完成常见操作),测试脚本层(测试用例脚
14、本)。使用Junit 等进行自动化测试时,也往往会对测试工程进行设计或分层的结构,不同的层负责完成不同的功能,从而达到易于维护的目的。(2)测试文件的组织测试文件,也就是测试脚本,是对测试用例的实现。为了方便的组织和使用测试脚本,Junit 中的每个测试方法都使用test 为前缀来命名,RFT 中使用testMain 作为执行测试脚本的入口。(3)验证点的比较自动化测试的一个核心就是对验证点的处理,只有能自动处理验证点,才能进行自动化测试,无论普通的功能测试还是对API 进行测试都不例外。功能测试验证点的处理往往是通过其控件状态,对话框标题等进行验证;对API 进行测试,可以通过其返回值,或者
15、借助其它API 返回结果来进行验证。在JUnit 中对验证点使用assertEquals,assertNoNull 等方法对验证点进行处理,自动返回测试结果。(4)测试结果生成通常根据验证点的结果,生成测试结果。(5)测试的执行对测试脚本进行连续自动执行。文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码
16、:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R1
17、0V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C
18、6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K
19、3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O
20、10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1
21、X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4
22、V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4因此,对应用程序脚本语言的API 进行自动化测试,也可以采用上文介绍的方法进行组织和执行。下文将一一进行详细阐述。3 测试工程的组织结构VBA 之类的脚本语言不能像Java、C+等高级语言单独存在,它们往往和其应用文件一起存在,如一个Excel 文件可能包含VBA 代码(ALT+F11 可以看到其代码)。因此对此类脚本语言的API 进行测试,首先需要创建相应的应用程序文件来使用这些API,如创建一个Excel 文件。如对VBA 中的API:Worksheets.Count 进行测试,需要在test.xls
23、中使用方法Worksheets.Count,因此测试要测试API:Worksheets.Count 就必须创建一个Excel 文件。如图3 所示。图 3.VBA API 存在的Excel 文件虽然脚本语言不能像高级语言那样方便的在一个工程中通过分层等对代码工程进行优化,但我们仍然可以借鉴上文第2 节测试工程组织结构提到的RFT 组织测试文件的思想,尽可能的对代码复用。而从功能的视角来看,测试工程或者测试工具一般需要具有以下功能(1)编写测试脚本,用于实现测试用例(2)对验证点进行处理的功能,用于实现对验证点的比较,判断验证点Fail 或者 Pass(3)执行过程中的Log 的处理功能,用于对执
24、行过程中结果写文件日志等(4)错误处理功能,用于执行过程中发生的错误进行恢复和处理。文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:C
25、I9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V3V2C6 HF1K3I5A4O10 ZC1X7E5J4V4文档编码:CI9R10V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多种 自动化 测试 学习
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内