基于Android平台自动化测试

基于Android 平台的自动化测试方法

研究与实现

摘 要

软件自动化测试技术与手动测试相比在效率和缺陷查找准确度方面有明显的优势,越来越多的团队在软件测试中使用自动化测试方法代替手动测试。软件测试已成长了数十年,自动化测试也被更多的人熟练使用,但是之前的自动化测试大多是用在PC 机上,对基于Android 平台的自动化测试现在还出于初步阶段。随着Android 技术的不断发展,如何保证应用软件的准确性和可靠性成为一个重要的课题;另外由于手机软件平台设计的封闭性特点,对于终端的测试都是使用的手动测试。但是随着产品设计周期的不断缩短,设计成本的不断压缩,更凸显了手动测试耗时等缺点以及自动化测试的优势。

本文首先对自动化测试的基本概念进行了阐述;在后续章节中重点介绍了嵌入式系统的特点并分析了嵌入式软件测试流程。通过对Android 系统的分析Android 系统分为两层:一层是基于Java 的应用层;另一层是基于Linux 的底层操作系统。因此,本文选择在Java 层利用Java 灵活多变的特性实现Android 系统自动化测试。在JavaSE6中Instrumentation 包被赋予了强大的功能,它可以在应用程序运行期间改变Android 基本元素的生命周期;检测应用程序与系统间的交互等;同时在Java 白盒测试中通常使用JUnit 框架,Android 同时也继承了JUnit 测试框架并在JUnit 框架的基础上进行了补充如ActivityInstrumentationTestCase2——用于多个Activity 的功能测试,可以利用它创建意图并方便的在各个activities 间切换。通过对Android 系统和Java 特性的研究本文选择基于Instrumentation+JUnit框架的方法实现Android 系统自动化测试。本文进一步研究了Android 自动化测试流程并重点研究了测试脚本的编写,在Android 自动化测试中选取了Robotium 作为功能测试工具,选用Monkey 作为性能测试工具。 在文章结尾部分对文中分析的Android 系统自动化测试方法针对实际项目进行了实践应用,并得到了较好的使用效果,但由于Android 自动化测试还处于早期研究阶段还有很多需要改进的地方,文章最后也对需进一步研究的方面做了总结。 关键词:软件测试、嵌入式测试、Android 系统、自动化测试、Instrumentation II

ABSTRACT

Automated testing technology has obvious advantages over manual testing in efficiency and in defect search for accuracy, so more and more teams in testing use the automated testing instead of manual testing. Software testing has a development history for decades, and more and more people are also familiar with the automated testing. Nonetheless, the previous automated testing is mostly used in PCS, and the test automation based on the Android platform is still on the initial stage. With the continuous development of the Android technology, how to guarantee the veracity and reliability of applying software becomes an important subject. In addition, due to the closure character of the design of the cellphone software platform, manual test is used for terminal testing. However, with the product design cycle continuously shortening and design costs ceaselessly compressing, it is more prominent to highlight shortcomings of the manual test, for example time consuming , and advantages of the automated test.

This paper first described the basic concept of the automated testing; and thesubsequent chapters focused on the characteristics of embedded systems and analyzed the embedded software testing process.Through the analysis of the Android system, the embedded systems „structureis introduced, the Android system was divided into two layers: one is the layer of Java-based application; the other is the layer of the underlying Linux-based operating system.Therefore, this papermade the most of the flexibility of Java in Java layer to achieve our automated testing.In the Java SE 6 the Instrumentation package was given the most powerful function, it could change the cycle of the basic elements of Android, and detect the interaction between applications and systems during the

application running; meanwhile when testing the Java white box, we usually use the JUnit framework, and Android also inherited the JUnit testing framework and supplemented such as ActivityInstrumentationTestCase2 -for more than one Activity of functional testing, it could be usedto create intent and conveniently switch among the various activities based on the JUnit framework.After the research of the features of Android and Java the paperhave chosen the Instrumentation of JUnit framework-based approach to achieve the automated testing of the Android system.The paper had a further study of the Android automated testing process and paid more attention to the preparation of test scripts, , and in the Android automated testing we selected Robotium as a functional testing tool, and regarded the Monkey as a performance testing tool.III

At the end of the article, the actual projects are put into practice according to the

automation testing methods of the Android system analyzed in this paper, and preferable using effects have been achieved. Whereas, since Android automated test is on its early research stage and has a lot to improve, the author makes a summary for further researches in the last part.

Keywords : Software Testing, Embedded Testing, AndroidSystem, Automated Testing, Instrumentation IV

目 录

摘 要 ...................................................... I ABSTRACT ................................................... II

1 概 述 ..................................................... 1

1.1 论文研究背景及意义 ............................................ 1

1.2 研究现状及发展 ................................................ 2

1.3 论文的主要工作 ................................................ 2

1.4 论文结构 ...................................................... 3

2 自动化测试................................................. 5

2.1 自动化测试概念 ................................................ 5

2.2 手工测试与自动化测试 .......................................... 6

2.2.1 手工测试的局限性 .......................................... 6

2.2.2 自动化测试的优势 .......................................... 6

2.3 正确认识自动化测试 ............................................ 7

2.4 自动化测试流程 ................................................ 8

2.4.1 能够实施自动化测试的前提条件 .............................. 8

2.4.2 选取测试工具 .............................................. 9

2.4.3 自动化测试框架 ........................................... 11

2.4.4 编写脚本 ................................................. 12

2.4 本章小结..................................................... 12

3 嵌入式软件测试 ............................................ 14

3.1 嵌入式系统简介............................................... 14

3.1.1 嵌入式系统的基本概念 ..................................... 14

3.1.2 嵌入式系统的不同点 ....................................... 15

3.1.3 嵌入式系统软件开发流程及模式 ............................. 17

3.2 嵌入式系统测试.............................................. 18

3.2.1 嵌入式系统测试概述 ....................................... 18

3.2.2 嵌入式测试的特点 ......................................... 19

3.2.3 评测方法 ................................................. 19

3.3 本章小结 ..................................................... 21 V

4 Android系统及可测试性研究 .................................. 22

4.1 Android系统简介 ............................................. 22

4.2 Android可测试性分析 ......................................... 23

4.3 Hierarchyviewer捕获组件 ..................................... 25

4.4 Instrumentation在测试中的应用 ............................... 27

4.4.1Instrumentation 简介 ...................................... 27

4.4.2Testing API ............................................... 29

4.5 本章小结..................................................... 30

5 Android自动化测试实例 ..................................... 32

5.1被测项目介绍及可测性分析 ..................................... 32

5.2制定被测项目测试计划 ......................................... 34

5.3设计项目测试用例 ............................................. 40

5.3.1 项目功能测试用例 ......................................... 40

5.3.2项目性能测试用例 ......................................... 43

5.4 制作项目测试脚本 ............................................. 45

5.5分析项目测试结果 ............................................. 48

5.6本章小结 ..................................................... 49

6 总结与展望................................................ 50

6.1本文工作总结 ................................................. 50

6.2进一步研究工作展望 ........................................... 51

参 考 文 献 ................................................ 52

致 谢 ..................................................... 55 第 1 页

1 概 述

1.1 论文研究背景及意义

智能手机正在被越来越多的人接受及使用,它的普及已经是一个不可扭转的趋势,Android 系统的出现更是加快了智能手机的发展速度,Android 系统的开源性以及google 在开发层面的强势推动更是加快了Android 系统的发展,据统计现在已经有1亿台Android 系统被激活,而且以每天40万台的速度在增长,根据美国市场研究发布的数据得知Android 系统在美国的市场占有量达到44%,且已经超过了苹果的占有率。而在中国Android 手机数量也在飞速增加,虽没有确切的数据统计但从我们身边不难发现处处可见Android 系统智能手机。正是Android 终端在全球的占有量的持续增进,Android 应用程序开发商也在频频试水,这也加快了基于Android 平台应用软件的飞速发展。为迎合市场需求越来越多的Android 应用服务开发商加快了软件开发进程,并争分夺秒的抢占市场商机。怎样能更快的得到稳定、正确、良好用户体验的应用程序成为开发商重点考虑的问题。正是众多应用软件的出现用户对应用软件的要求也就更加苛刻,总是希望有一种产品能够满足所有业务需求。与此同时,用户的需求也是随着时间而不断改变着,以至于很多应用软件都需要跟家特定用户以及特定使用环境而特别定制[1]。但是怎样才能在最短的时间提供满足客户需求的软件呢?于是开发经理总是在想尽办法缩短工期,以用最少的资源、资金创造最优异的软件,必不可少的繁冗、复杂、费时的手动测试被简洁、省时的自动化测试所替代。

自动化测试在节省劳动成本、提高效率等方面存在明显的优势,主要体现在:1、更便于对已修复的缺陷进行回归测试,这一点在软件测试中是非常重要的,往往在缺陷修改后通过手动测试很难确保在回归测试中执行过程和最初发现缺陷时的执行过程完全一致,而使用自动化测试只要在执行时不改变测试脚本就可以确保测试过程相同,而且使用自动化测试进行回归测试可以确保回归的准确性,并提高测试效率。

2、自动化测试可以执行更繁琐且重复度较高的测试,并且执行速度较快,因此可以代替测试人员实施大量重复性工作。3、利用自动化测试可以对软件实施手动测试可望而不可及的测试内容,例如:压力测试,压力测试需要模拟大量用户同时操作,用户数量甚至要求达到亿数量级,这对于手工测试来说是不可能实现的,但是使用自动化测试可以轻松地设定在线使用用户数量,工具会自动模拟大量用户同时使用的情况从而检测系统在大量用户使用的情况下的反应情况。4、可以更好的合理分配资源,例如:使用手动测试要将大量的第 2 页

测试人员放在无创造力且重复性高的点击工作中,而使用自动化测试可以使用工具代替测试人员来做一些重复性的工作,而将人员放在更有价值的工作中这也同时提高了团队的创造性以及工作效率。5、自动化测试的可重复性强,很多情况缺陷是有偶发性的,为了能再现发现的缺陷可能要大量的重复操作,而且要求执行过程的一致性,而使用自动化测试可以确保测试过程的一致性以及可重复性。6、测试用例的复用性标志着测试执行效率的高低,对于自动化测试测试人员可以根据录制的脚本,在原始脚本的基础上根据需求进行改动,这同时也提高了测试脚本的复用性。7、测试过程的确定性,自动化测试中整个测试过程都是由工具自动完成的。因此它不存在手工测试中出现的漏洞、疏忽等情况,确保了测试过程的确定性[2]。

1.2 研究现状及发展

随着越来越多的人关注Android 系统自动化测试,用于Android 自动化测试的方法、框架也随之增加,目前常用的自动化测试框架有Activity Instrumentation、

MonkeyRunner 、Robotium 等。Android 系统对activity 的生命周期控制是完全由系统控制的,因此测试人员无法在应用程序中加入测试程序——控制应用程序按照预设的方法运行。因此,如何控制activity 的生命周期成为完成自动化测试首先要解决的问题。Instrumentation 框架为Android 系统自动化测试带来了可能,由于Instrumentation 内含有大量用来控制activity 等Android 基本元素生命周期的方法。Instrumentation 可以充当系统与应用程序间的控制器,它不仅可以控制Android 元素的生命周期还可以检测应用程序的运行情况等[3]。在Java 单元测试中通常使用JUnit ,Android 同时也继承了JUnit 测试框架并在JUnit 框架的基础上进行了补充。同时Android 测试框架还提供了很多功能及性能测试工具如MonkeyRunner ——可运行由Python 语言编写的测试用例,主要用来对Android 系统进行功能测试;Monkey ——自动生成伪随机数并模拟用户点击,点击可以在屏幕任意地方发生,并可以设定点击数量及点击事件发生的间隔时间,是一款很好的压力测试工具。Robotium 是一款基于Instrumentation 的测试框架并在此基础上将Instrumentation 框架进行了完善,它允许测试开发人员实现横跨多个activity 的测试,并且可以在没有源代码只有SPK 的情况下实现测试。

1.3 论文的主要工作

通过分析自动化测试现有理论方法及其特点,将其应用到Android 自动化测试,实现Android 平台的自动化测试。第 3 页

论文研究内容:

1. 手工测试的不足以及自动化测试在节省时间、资源等方面的特点,并重点介绍了如何看待自动化测试。

2. 手工测试与自动化测试测试的不同,并研究自动化测试在提高软件质量和工作效率等方面所具有的优点;项目开发模式在什么条件下适合使用自动化测试,以及注意事项,测试用例的编写等。

3. 嵌入式系统的特点以及对嵌入式系统进行自动化测试所存在的困难,嵌入式系统自动化测试评测方法等。

4.Android 测试属于嵌入式测试,因此不能使用普通软件测试中已有的成熟的测试工具像QTP ,LoadRunner 等,分析其差异性并得到相应的解决方法。

5. 研究java 中instrumentation 的特点以及使用方法,利用Android 自带的JUnit 框架结合instrumentation 框架实现Android 系统自动化测试。针对项目的特点选择合适的自动化测试工具。

拟解决关键问题:

Android 系统对activity 的生命周期控制是完全由系统控制,因此在应用程序运行过程中无法在应用程序中加入测试程序——控制应用程序按照预设的方法运行。而且Android 系统具备了嵌入式系统软硬件联系紧密、内核小、专有性强等特点,决定了在测试Android 统时要针对具体系统进行具体分析,且常用嵌入式测试软件如

(testquest )使用图像对比来判断被测设备的状态,这样要耗费大量的测试资源且需根据手机界面的不同更换脚本,降低了测试脚本的通用性[4]。

解决方案:

Instrumentation ——系统与应用程序间的控制器,由于Instrumentation 内含有大量控制activity 等Android 基本元素生命周期的方法。在早期的java 测试中JUnit 框架多被用于白盒测试,因此Android 测试框架同样继承了JUnit 测试框架并在JUnit 框架的基础上进行了补充。通过对Android 系统特点进行分析本文采用Instrumentation+JUnit的方式实现Android 自动化测试。自动化测试模式基于Android 系统的特点以及在开发过程中测试人员可能并没有足够的终端进行测试的情况而且测试过程本身对Android 终端也会造成损坏等。本文选择宿主机/目标机的模式进行测试——部分功能测试在目标机模拟器中进行,最后集成测试及性能测试在宿主机中进行。这样既节省资源也方便测试人员进行测试。

1.4 论文结构

本文由六章组成,具体章节安排如下:

第一章概述,主要介绍了本文研究背景及意义,并进一步介绍了Android 自动化第 4 页

测试发展现状,最后介绍了论文的主要工作,包括拟解决的关键问题以及解决方法。

第二章自动化测试,首先介绍了自动化测试基本概念,然后将自动化测试与手动测试进行比较,最后强调了如何正确认识自动化测试的重要性。

第三章嵌入式软件测试,由于嵌入式系统自身的特点因而不能使用和普通软件相同的方法来进行自动化测试,本章分析了嵌入式软件的特点,并介绍了嵌入式软件测试流程、特有的测试评估方法。

第四章Android 系统及可测试性研究,首先介绍Android 系统自身特点,并针对系统特点从组件获取、生命周期控制到事件触发等发面分析了Android 自动化测试的可行性。并介绍了测试框架中最重要的部分——Instrumentation 和JUnit 。

第五章Android 自动化测试实例,结合实践项目,根据Java 特性选择适当的自动化测试工具,实现了测试计划编写,测试用例编写,测试脚本开发制作等流程。

第六章总结与展望,对本文的研究工作进一步作了总结,并阐述了本方法有待改善的地方。第 5 页

2 自动化测试

测试发展历程中经历了从无到有的过程,由早期的有开发人员自行测试到有测试专业人员进行测试,然后就是从业余到专业的过程,在一般的手动测试不能满足要求时测试又由一般测试人员手动点击测试,到专业的测试人员使用工具对软件进行自动化测试。又是什么促进了测试的快速发展呢?首先是用户的需求,例如如手机,在早期的手机功能非常少,基本上只有打电话、发短信等功能而且信号不好,但在后期用户对手机的要求不仅限于此,而且对用户体验、性能等有了更高的要求,开发商一方面为了争夺更多的用户,另一方面为了抢占市场先机不得不一次又一次的缩短开发周期降低开发成本。在这样的大背景下测试慢慢的由无到有。但是由于手动测试的费时以及浪费大量的人力资源的特点被开发商所抛弃进而选择了自动化测试,自动化测试不但在在节省时间而且在节省资源上都有优势,因此自动化测试也在不断的发展和完善中。

2.1 自动化测试概念

自软件行业发展以来测试就被各开发团队所重视,它是保证软件有效性、可靠性的关键手段。更加上现在越来越多的行业的中心部分都是由软件处理及保存,因此他们对软件的质量、用户体验等要求随着功能的丰富而不断提高,而且软件行业作为快速兴起的行业越来越多的人投身到软件行业,因此为了能更好地生存开发商都希望能在最短的时间,利用最少的成本,制造出最可靠的软件。为了达到这个目标手工测试费时、费资源的特点越来越明显化,因此在这种背景下自动化测试就诞生了。 图2-1描述了自动化软件测试流程。如果对流程进行细分自动化测试可分为两类测试过程自动化和测试结果分析自动化。测试过程自动化指的是在测试开始前由测试开发人员编写测试运行程序,然后使用工具来运行测试程序以替代手动的点击、输入等繁琐操作;而测试结果分析自动化是指的测试完成后利用工具对测试所得性能指标等进行分析以便找出系统内部底层错误等。这只是比较传统的分类方式。现在的测试工具基本上都具有测试过程自动化和测试结果自动化的双向功能,测试工具在运行完测试脚本后,会针对系统的运行情况自动生成分析报告,这就大大缩短了测试的时间。第6 页

制定测试计划测试设计与开发回归测试测试执行与管理结果分析与评审完成测试审核审核选择测试工具决定自动化测试审核

图2-1 测试流程

2.2 手工测试与自动化测试

手工测试较自动化测试在节省时间和人力等方面都存在很多局限性,下面本文针对手动测试的不足做了具体分析。

2.2.1 手工测试的局限性

首先,由于人力、物力的局限性,手工测试是无法面面俱到的,某个用例可以证明是正确的但是不能证明软件没有错误,因此测试是不可能穷举的,如果只是通过人工点击来测试测试的用例远远不能满足要求。其次,手动测试疏忽的可能性也是非常大的,这是无法避免的[5]。

其次,一些与线程等计算机内部运行有关的错误通过手动是无法发现的。

第三,在负载测试时需要模拟大量用户同时点击,而这是在手工测试中无论如何都没法做到的,而且在负载测试时需要长时间测试可能要24小时甚至更长时间,对于人来说24小时不休息也是不可能,而且点击频率也是手工测试无法把握的。

第四,手动测试又一致命的缺点就是回归测试,每次在缺陷修改完成后都要进行回归测试,一方面确保缺陷被正确修改,另一方面是确保没有因修改缺陷而带来新的缺陷。因此回归测试在整个测试过程中都占据着非常重要的角色。但是在手动测试中因为人为点击无论是在点击顺序上还是在点击频率上都无法做到与原本测试流程完全一致,因此也就无法做到准确地回归。

2.2.2 自动化测试的优势

自动化测试相对于手动测试有明显的优点,下面对这些方面进行详细而深入第 7 页

地分析[6]:

首先,大数据量负载测试。在手工测试的局限性一节中文章介绍了负载测试需要模拟大量用户同时点击,用户量可能达到亿的数量级,所以手工测试无法对系统进行手工测试,但用工具可以满足负载测试的需求,而且只要在设置中完成设置就可以放任工具自己运行不用专人操作,而且工具不会有疏忽。测试人员不必担心工具运行会出现偏差等。

其次,回归测试。同样在手动测试的局限性中文章提到了这一点,严格的回归测试要求在进行测试时不论是在操作顺序上还是在点击频率上都要和发现缺陷时完全一致,这对于手动测试是非常困难的但在自动化测试中确实非常简单的,只要把发现缺陷时的脚本重新运行一遍即可,也不必担心操作流程等于原有测试有什么不同。 第三,重复利用率高。在自动化测试中对脚本的一个重要要求是脚本的重复利用率要高,因此在某个项目中使用的脚本可以在简单修改后利用到其他项目中,这种的方式可以很大程度的缩减脚本的开发时间,因此也缩短了测试时间。

第四,确保测试结果的准确性。由于自动化测试完全由工具完成所以它不具备疏忽、失误等现象,因此一旦测试脚本执行完成后所得的结果就是准确的。这对于发现缺陷、修改缺陷都是非常重要的,一个准确的测试报告可以很好的告诉测试人员哪里有问题以及问题出现的原因等,所以自动化测试对于测试人员修改缺陷方面也是非常有利的。

第五,节省人力资源提高测试人员积极性。对于测试过程有很多简单而繁琐的操作如点击按钮、输入数据查看对应输出是否与预期结果相等这些都是非常简单没有创造性操作,在这种情况下员工会失去创造力,而是用自动化测试可以省去这些操作让员工做一些更有创造性的工作,这同时也增加了员工工作的积极性。

2.3 正确认识自动化测试

自动化测试是建立在自动化测试工具基础上的,但是并没有一款工具可以做到完全的自动化,更确切的说自动化测试是手工测试的辅助。很多开发商认识到测试team 中应用自动测试可以省去更多的人力、物力,但这是建立在有效测试基础之上,建立在手工测试基础上。 第一,不论选择自动化测试还是手动测试良好的测试基础都是必备的条件,如果在测试过程中没有一个良好的测试流程、对测试用例的设计也非常生疏、或者对系统需求不了解都会导致测试失败,而此时测试方式不是最主要的提高自身的测试技能才是最主要的。 第 8 页

第二,对自动化测试要有一个客观的认识,而不是盲目地认定选择了自动化测试测试人员就可以完全从测试中解放出来,这种想法是完全不对的。首先,目前并没有一款自动化测试工具可以达到“完全的自动”,它们还是需要人工来控制的,因此工具只能部分的替代人工而不能全部的替代人工。其次,使用工具对系统进行多次测试后发现bug 的几率就会非常得小,所以还是需要测试人员对原有的脚本进行修改等。 第三,自动化测试本身并不是完美无缺的,它的一个主要的缺点就是脚本的维护,由于脚本要随着测试环境、进度等进行调整,所以本身对自动化测试的脚本维护的工作量就是非常大的。

从以上分析,自动化测试和手工测试的关系很明了,自动测试是在测试中用以提高效率的方法 ,但绝对不是测试过程的充分条件,因此自动化测试只是部分测试过程的优化并不能独立完成整个测试过程。

2.4 自动化测试流程

按照现在尽早测试的原则,测试人员在需求分析阶段就应该介入,在整个开发流程中测试是始终要进行的。就测试过程本身而言,软件测试可分为:1、确定内容标准

2、制定时间人员安排3、测试用例设计4、编写测试执行程序5、测试记录和缺陷跟踪6、测试总结和报告。但就自动化测试自身而言以上步骤并不全面。

2.4.1能够实施自动化测试的前提条件

并不是所有的项目都适合采用自动化测试,例如:项目需求频繁更改、项目专业性很强等,可能不适合采用自动化测试。下面从项目需求分析、选择工具、测试脚本等几个方面分析项目是否适合使用自动化测试方法:

1. 项目需求是否稳定

一般需求分析文档不论对于软件开发还是对于软件测试都是非常重要的,需求分析文档一般是开发和测试过程中的重要依据,而对于软件测试来说会根据需求分析文档来判定是否符合客户需求,如果需求分析不能够确定而是在不停地修改,那么测试标准也就会不停地修改,自动化测试中脚本的开发是非常费时的,因此修改脚本的时间成本和资源成本都是非常大的,因此我们会尽可能的减少脚本更改、降低测试脚本维护成本。但是如果需求分析在不停地变动脚本必须要随着需求分析而不停的变动,那么自动化测试将起不到我们预想的效果反而会更加浪费时间、资源。

2. 自动化测试脚本是否可以重复使用

第 9 页

为了缩短工期我们选择了自动化测试,但是自动化测试并不是完全的自动化,例如在脚本开发中我们需要走一个完全与软件开发相同的流程,需求分析、代码开发、代码调试等,因此脚本开发是一个非常费时间的过程。但是对于自动化测试来说脚本开发是必不可少的环节,因此为了尽可能的减少脚本开发的过程,我们希望脚本尽可能地可以重复使用。这就要求项目在某些方面的需求是通用的,这样我们可以将项目中的测试脚本经过简单地修改而直接应用到其他测试中。

3. 测试工具容易选择

自动化测试的主体就是测试工具,正确的测试工具不但能节省测试时间还能确保测试的准确性。所谓好的测试工具一方面是指测试工具的功能符合项目的要求;另一方面则是指选取的测试工具无须我们再去花长时间去学习如何使用,尽量做到拿来就可以用,这是最好的。因此能否有合适的工具也是我们在采取自动化测试时首先要考虑的事情。

2.4.2选取测试工具

1. 常用测试工具

随着自动化测试的广泛使用,越来越多的自动化测试工具被各大软件公司推出,工具的功能也越来越完善。目前,主流的测试工具主要由Segue 、Compuware 、Empirix 、MercuryInteractive (MI )、Rational 等公司推出的,其中MI 公司的测试工具是市场范围最广的。表2-2描述了我们常用的自动化测试工具。

表2-2 自动化测试常用工具详主要功能及特点 使用范围

解工具名称

就目前而言是一款非常功能测试及测试管理 Rational Robot

卓越的自动化测试工具,

测试人员可以使用工具

完成计划、组织、执行、

管理、报告等测试相关工

作。

它可以记住用户的每一主要用于功能测试并对Win Runner

步操作,并自动反复执用测试结果进行分析

户的每一步操作,确保了

软件的稳定性。因此可以

保证程序首次使用时不

会有漏洞,可以稳定的运

行。

QuickTest Professional 主要针对图形用户界面主要用于功能测试中的

应用程序,其主要特点回归测试

是:覆盖面广、使用简单、

效率高。

该工具由Java 开发,因此Web 功能及性能测试;AdventNet QEngine

运行环境较灵活便于移Java 应用功能及

植,并支持多平台。


相关文章

  • AppCan常见问题
  • AppCan.cn常见问题 新手必看: Q:什么是Hybrid App? A:Hybrid App:使用HTML5.CSS3和JavaScript语言编写,通过AppCan IDE提供的本地打包工具或在线编译系统生成可在Android.iO ...

  • 农业专家系统的研究进展及实例剖析
  • 浙 江 大 学 课程论文 (2013-2014学年秋冬学期) 论文题目:农业专家系统的研究进展及实例剖析 课程名称: 人工智能及专家系统 任课教师: 学 号: 姓 名: 完成日期: 农业专家系统的研究进展及实例剖析 摘要:专家系统是人工智能 ...

  • 安卓手机游戏快速开发论文
  • 安卓手机游戏快速开发论文 摘要:大家可以发现在App Inventor2环境下开发Android 手机应用程序的方法和步骤是很简单的,也能感受到云技术带来的方便.作者通过分模块的分析各个子程序的设计思路和编程方法,最终实现了在手机上运行的A ...

  • 智能家居产品资料大全
  • 智能改变生活 天诚驱动未来 天诚智慧家庭 成都百微电子开发有限公司 公司地址:成都高新区(西区)百草路898号 总部地址:上海市松江区光星路 618号 邮政编码:201613 电 话:021-67713030 传 真:021-3768878 ...

  • 连连看游戏需求分析报告
  • 楚 雄 师 范 学 院 计科系本科生毕业设计文档(1) 题 目:<基于安卓系统的趣味连连看游戏设计与实现>需求分析报告 专 业: 网络工程(非师范) 学 号: 2010108210 3 学生姓名: 朱 晓 明 指导教师: 秦海菲 ...

  • 智能手机科普知识
  • 智能手机CPU 多任务功能和复制粘贴被认为是智能手机的标志之一,symbian和android都能很好的支持多任务切换以及程序后台运行,但是苹果需要达到IOS4固件才支持多任务功能,而Windows Phone于2011年2月15日宣布将支 ...

  • 计算机学院学年论文模版
  • 编号:[1**********]1 学 题 目:学 院:计算机科学与技术学院专 业:计算机科学与技术年 级: 姓 名:指导教师:完成日期: 年 论 文 2011级(1班) *** 201*年*月*日 目 录 中文摘要及关键词 . ..... ...

  • 自动化测试实验报告-
  • 实验项目:手机软件自动化测试工具的运用 1 学时 2学时 2 实验目的与要求 通过自动化工具的使用,使学生可以更多地理解自动化测试工具的作用和使用方法,增加对自动化测试工具的感性认识.要求学生能够利用Monkey 进行简单的软件性能测试.要 ...

  • 未来智能手机市场的主宰者?
  • 基于Linux操作系统的平台正威胁着iOS系统和Android系统,与此同时中国企业正在试图将iPhone和Galaxy S挤出市场. 仅仅五年前,全球移动手机中心还集中在芬兰和加拿大,那里是诺基亚和黑莓的总部所在地.当2007年iPhon ...

  • 博古通今创意文档
  • 2012年华北五省(市,自治区)及港 澳台大学生计算机应用大赛 移动终端应用创意与程序设计 [项目名称]博古通今 所在学校: 北京建筑工程学院 团队名称: 提交日期: 2012.9.19 目录 1. 作品概述 ............... ...

© 2024 范文参考网 | 联系我们 webmaster# 12000.net.cn