1 / 24

手机软件测试工具 Robotium 使用

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

Download Presentation

手机软件测试工具 Robotium 使用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 手机软件测试工具 Robotium使用 http://code.google.com/p/robotium/

  2. 内容 • Robotium介绍 • Robotium环境搭建 • Robotium进行测试的方法和步骤 • Android测试的其他手段 • Android测试的辅助工具

  3. Robotium介绍 User scenario testing for Android。 Robotium是一款测试Android Application的测试框架,它使得编写黑盒测试代码更加容易和稳定。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能、系统以及验收测试用例。 Robotium是基于Android测试框架InstrumentationTestCase2进行的2次封装,把一些基本操作又简化了一遍。

  4. Robotium介绍 • Robotium的优势: • 针对黑盒测试 • 在测试过程中,不必需要测试程序的源代码,只要apk文件(前提是需要知道测试程序的package和activity) • 可以直接运行在手机上,并通过adb端获得运行结果。 • 在使用该工具的时候有一点必须:当编辑完测试脚本后,会生成一个apk文件,将该apk安装到手机端,并通过abd输入一系列命令后直接运行测试脚本。但该apk的签名必须要与测试程序的apk签名保持一致。

  5. Robotium环境搭建 Robotium使用所需的环境: • JDK (Java Development Kit) • Eclipse for building Test project • ADT (Android Development Tools) • Android SDK (Software Development Kit) • Robotium-solo-*.*.*.jar

  6. 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下载相应版本的robotiumjar文件

  7. Robotium进行测试的方法和步骤 • 以一个简单的计算乘法的程序AndroidCalculator作为被测程序 • 如图所示

  8. Robotium进行测试的方法和步骤 • 启动Eclipse执行 File--> Import --> Select root directory,选择AndroidCalculator项目将被测程序导入进来。 • 创建一个测试项目AndroidCalculatorTest 选择File->New->Project->Android Test Project输入测试工程的名称,如:AndroidCalculatorTest。选择An existing Android Project,点击Browse按钮,选择之前创建的被测工程AndroidCalculator,点击OK按钮。一个测试工程就创建好了,如图:

  9. Robotium进行测试的方法和步骤 • 创建一个测试用例Test Case 在AndroidCalculatorTest->src->com. calculator.test上,右击选择New->Juint->Juint Test Case。 在Name中输入Test Case的名字,如:TestMain,选择Setup(),tearDown()和Constructor选项,单击完成。创建好的Test Case如下图:

  10. Robotium进行测试的方法和步骤 • 导入robotium.jar 选择测试工程AndroidCalculatorTest右击,选择Build Path->Configure Build Path…,在libraries页面中点击Add External JARs按钮。因为之前创建的工程的SDK是2.2的,所以选择robotium-solo-1.8.0.jar。点击OK按钮。

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

  12. Robotium进行测试的方法和步骤 • 测试代码的结构 • publicTestMain() {//构造函数,通知系统要测的app是什么 • super("com.calculator", Main.class); • } • //每一个test case都会调用setup来进行初始化 • protectedvoidsetUp() throws Exception { • super.setUp(); • …… • } • //可以通过tearDown()方法来结束case,可以指定清空或结束此case曾经调用过的一些资源,如果不写tearDown()方法,系统会调用默认的方法 • protectedvoidtearDown() throws Exception{ • …… • super.tearDown(); • } • //具体实现测试用例的方法 • publicvoidtestDisplayBlackBox() { • …… • } • }

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

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

  15. 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. Android测试的其他手段 • Monkey • Monkey是一个命令行工具, Monkey是运行在模拟器或设备上的一个程序,用来伪随机地模拟点击和触摸等用户事件,就如其它许多系统事件一样。Monkey可以用于对我们开发的应用程序进行随机和重复的压力测试。 • 示例:Program Files\Android\android-sdk-windows\docs\guide\developing\tools\monkey.html • 参考《Android自动化测试手段之Monkey.pdf》

  17. Android测试的辅助工具 • ADB (Android Debug Bridge,Android调试桥) • ADB是androidSdk里的一个通用调试工具, 这个工具可以直接操作管理android模拟器或者真实设备的状态。还可以进行以下的操作: • 在模拟器或设备上安装应用程序的.apk文件 • 快速更新设备或手机模拟器中的代码,如应用或Android系统升级; • 在设备上运行shell命令,访问模拟器或设备; • 管理设备或手机模拟器上的预定端口; • 在设备或手机模拟器上复制或粘贴文件; • 使用ADB之前 • 把tools目录下的adb.exe和AdbWinApi.dll两个文件放到系统盘的windows/system32文件夹里 • 用数据线连接手机或者启动模拟器,然后在命令中使用adb命令

  18. Android测试的辅助工具 • Hierarchy Viewer (层级观察器) • Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat,是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),调试和优化你的用户界面,是UI检视的利器。 • 它可以找到我当前窗口所有的view,并可以查看每个view的属性,查看每个控件的id,方便编写case。 • 参考《UI检视利器:Hierarchy Viewer.pdf》

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

  20. 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. 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. Android测试的辅助工具 • Aapt(Android Asset Packaging Tool) • 可用于创建包含Android应用程序二进制文件和资源文件的.apk文件 • Traceview • 可用于将Android应用程序产生的跟踪日志(trace log)转换为图形化的分析视图 • mksdcard • 用于创建磁盘映像(disk image),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如SD卡) • Findbugs • 一个静态分析工具,可以在不实际运行程序的情况对软件进行分析,帮助改进代码的质量,可以作为Eclipse的插件使用。

  23. 谢 谢!

More Related