手机软件测试工具 robotium 使用

24
手手手手手手手手 Robotium 手手 http://code.google.com/p/ robotium/

Upload: debra-baldwin

Post on 02-Jan-2016

264 views

Category:

Documents


0 download

DESCRIPTION

手机软件测试工具 Robotium 使用. http://code.google.com/p/robotium/. 内容. Robotium 介绍 Robotium 环境搭建 Robotium 进行测试的方法和步骤 Android 测试的其他手段 Android 测试的辅助工具. Robotium 介绍. User scenario testing for Android 。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 手机软件测试工具 Robotium 使用

手机软件测试工具Robotium 使用

http://code.google.com/p/robotium/

Page 2: 手机软件测试工具 Robotium 使用

内容Robotium 介绍

Robotium 环境搭建

Robotium 进行测试的方法和步骤

Android 测试的其他手段

Android 测试的辅助工具

第 2页

Page 3: 手机软件测试工具 Robotium 使用

Robotium 介绍

第 3页

User scenario testing for Android 。

Robotium 是一款测试 Android Application 的测试框架,它使得编写黑盒测试代码更加容易和稳定。通过使用 Robotium ,测试用例开发人员能够跨越多个Activity ,开发出功能、系统以及验收测试用例。

Robotium 是基于 Android 测试框架InstrumentationTestCase2 进行的 2 次封装,把一些基本操作又简化了一遍。

Page 4: 手机软件测试工具 Robotium 使用

Robotium 介绍

第 4页

Robotium 的优势:针对黑盒测试

在测试过程中,不必需要测试程序的源代码,只要 apk 文件(前提是需要知道测试程序的 package 和 activity )

可以直接运行在手机上,并通过 adb 端获得运行结果。

在使用该工具的时候有一点必须:当编辑完测试脚本后,会生成一个 apk 文件,将该 apk 安装到手机端,并通过abd 输入一系列命令后直接运行测试脚本。但该 apk 的签名必须要与测试程序的 apk 签名保持一致。

Page 5: 手机软件测试工具 Robotium 使用

Robotium 环境搭建Robotium 使用所需的环境: JDK (Java Development Kit)

Eclipse for building Test project

ADT (Android Development Tools)

Android SDK (Software Development Kit)

Robotium-solo-*.*.*.jar

第 5页

Page 6: 手机软件测试工具 Robotium 使用

Robotium 环境搭建安装 JDK ,安装并设置环境变量 JAVA_HOME 、 CLASSPATH 和 path

下载解压 Eclipse for java 工具

下载 Android SDK 解压,运行 SDK Manager.exe 文件,安装软件包

下载 ADT ,在 Eclipse 安装 ADT 插件

在 Eclipse 设置 Android SDK 路径

创建一个新的 Android 虚拟设备 AVD ( Android 模拟器的配置)

在 http://code.google.com/p/robotium/downloads/list下载相应版本的 robotium jar文件

第 6页

Page 7: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤以一个简单的计算乘法的程序 AndroidCalculator 作为被测程序

如图所示

第 7页

Page 8: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤启动 Eclipse 执行 File--> Import --> Select root directory, 选择 AndroidCalculator 项目将被测程序导入进来。

创建一个测试项目 AndroidCalculatorTest

第 8页

选择 File->New->Project-

>Android Test Project 输入测试工程的名称,如:AndroidCalculatorTest 。选择An existing Android Project ,点击 Browse 按钮,选择之前创建的被测工程 AndroidCalculator ,点击 OK 按钮。一个测试工程就创建好了,如图:

Page 9: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤创建一个测试用例 Test Case

第 9页

在 AndroidCalculatorTest->src->com. calculator.test 上,右击选择New->Juint->Juint Test Case 。在 Name 中输入 Test Case 的名字,如: TestMain, 选择Setup(),tearDown() 和 Constructor 选项,单击完成。创建好的 Test Case 如下图:

Page 10: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤导入 robotium.jar

第 10页

选择测试工程 AndroidCalculatorTest 右击,选择 Build Path->Configure Build Path… ,在 libraries 页面中点击 Add External JARs 按钮。因为之前创建的工程的 SDK 是 2.2 的,所以选择 robotium-solo-1.8.0.jar 。点击 OK 按钮。

Page 11: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤为测试用例编写代码

第 11页

对 AndroidCalculator 程序进行测试,要实现的一个测试用例如下:1 )访问的第一和第二个编辑域( EditFields )2 )输入选择的测试数据3 )访问和点击 multiply 按钮4 )验证计算的结果是否符合预期打开 TestMain.java 进行编辑并保存,见下图

Page 12: 手机软件测试工具 Robotium 使用

第 12页

Page 13: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤测试代码的结构

第 13页

Page 14: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤运行测试程序

第 14页

选择测试工程 AndroidCalculatorTest 右击,选择 Run As->Android JUnit Test 运行测试程序。可以在 Run configuration 中设置模拟器或设备区运行测试程序。运行完后的测试结果界面( Pass )

运行完后的测试结果界面( Fail )

Page 15: 手机软件测试工具 Robotium 使用

Robotium 进行测试的方法和步骤在模拟器或者手机上测试

第 15页

前面的例子在 eclipse 中进行测试的,也可以在模拟器或者手机上测试。如果需要直接在模拟器或者手机上测试,需要将测试包和被测试包改成相同的签名。关于测试方法可以参考《 Test Android APK File With Robotium.pdf 》

关于 apk 包的签名和重签名请参考《重新签名 APK 文件 .pdf 》

Page 16: 手机软件测试工具 Robotium 使用

Android 测试的其他手段CTS

•用来确保某设备符合 Android 兼容性规范

•参考《 Android CTS 测试研究 .pdf 》

ASE ( Android Scripting Environment )

•可以通过脚本(如 Python )调用 Android 的功能,从而定制一些测试。如打电话,发短信,浏览网页等。

•可以扩充它的 API ( Java 部分) , 并用 python 脚本调用这些 API, 从而实现丰富的测试功能。用于 API 部分可以访问到 Android 全部API 。 python 又能灵活部署测试,所以 ASE 的扩展性非常好。

•参考《 Android Scripting Environment.pdf 》

第 16页

Page 17: 手机软件测试工具 Robotium 使用

Android 测试的其他手段Monkey

•Monkey 是一个命令行工具, Monkey 是运行在模拟器或设备上的一个程序,用来伪随机地模拟点击和触摸等用户事件,就如其它许多系统事件一样。 Monkey 可以用于对我们开发的应用程序进行随机和重复的压力测试。

•示例: Program Files\Android\android-sdk-windows\docs\

guide\developing\tools\monkey.html

•参考《 Android自动化测试手段之 Monkey.pdf 》

第 17页

Page 18: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具ADB ( Android Debug Bridge , Android 调试桥)

•ADB 是 androidSdk里的一个通用调试工具 , 这个工具可以直接操作管理 android 模拟器或者真实设备的状态。还可以进行以下的操作:• 在模拟器或设备上安装应用程序的 .apk 文件

• 快速更新设备或手机模拟器中的代码,如应用或 Android系统升级;

• 在设备上运行 shell 命令,访问模拟器或设备;

• 管理设备或手机模拟器上的预定端口;

• 在设备或手机模拟器上复制或粘贴文件;

•使用 ADB 之前• 把 tools 目录下的 adb.exe 和 AdbWinApi.dll两个文件放到系统盘的

windows/system32 文件夹里

• 用数据线连接手机或者启动模拟器 ,然后在命令中使用 adb 命令第 18页

Page 19: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具Hierarchy Viewer (层级观察器)

•Hierarchy Viewer 是随 AndroidSDK 发布的工具,位置在 tools 文件夹下,名为 hierarchyviewer.bat ,是 Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面 (UI) ,调试和优化你的用户界面,是 UI检视的利器。

•它可以找到我当前窗口所有的 view ,并可以查看每个 view 的属性,查看每个控件的 id ,方便编写 case 。

•参考《 UI检视利器: Hierarchy Viewer.pdf 》

第 19页

Page 20: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具DDMS ( Dalvik Debug Monitor Service )

•Dalvik 调试监视器服务提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、 Logcat、广播状态信息、模拟电话呼叫、接收 SMS、虚拟地理坐标等等。 DDMS 将搭建起 IDE与测试终端 (Emulator 或者 connected device) 的链接,它们应用各自独立的端口监听调试器的信息, DDMS 可以实时监测到测试终端的连接情况。当有新的测试终端连接后, DDMS 将捕捉到终端的 ID, 并通过 adb 建立调试器,从而实现发送指令到测试终端的目的。

•参考《 Android DDMS 如何使用 .pdf 》

第 20页

Page 21: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具MonkeyRunner

•monkeyrunner 工具提供了一个 API ,使用此 API 写出的程序可以在Android 代码之外控制 Android 设备和模拟器。通过 monkeyrunner

,您可以写出一个 Python 程序去安装一个 Android 应用程序或测试包,运行它,向它发送模拟击键,截取它的用户界面图片,并将截图存储于工作站上。 monkeyrunner 工具的主要设计目的是用于测试功能 /框架水平上的应用程序和设备,或用于运行单元测试套件,也可以将其用于其它目的。

•E:\Program Files\Android\android-sdk-windows\docs\guide\

developing\tools\monkeyrunner_concepts.html

第 21页

Page 22: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具Androidscreencastcase

•一个适用于 Windows/Linux/MacOS平台控制任何 android 设备,通过 USB连接就可实现鼠标键盘控制你的 android.

•网址: http://code.google.com/p/androidscreencast/

•几点说明:• 1. 使用需要一定的权限如 root,USB 调试已经启用

• 2.鼠标右键可以旋转屏幕方向

• 3.反映数度有一定的延迟

• 4. 下载 androidscreencast.jnl

•对应的 key 值 KeyMapping

http://code.google.com/p/androidscreencast/wiki/KeyMapping

第 22页

Page 23: 手机软件测试工具 Robotium 使用

Android 测试的辅助工具Aapt ( Android Asset Packaging Tool )

•可用于创建包含 Android 应用程序二进制文件和资源文件的 .apk 文件

Traceview

•可用于将 Android 应用程序产生的跟踪日志( trace log )转换为图形化的分析视图

mksdcard

•用于创建磁盘映像( disk image ),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如 SD卡)

Findbugs

•一个静态分析工具,可以在不实际运行程序的情况对软件进行分析,帮助改进代码的质量 , 可以作为 Eclipse 的插件使用。

第 23页

Page 24: 手机软件测试工具 Robotium 使用

谢 谢!