资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
手机软件测试工具 Robotium使用,内容,Robotium介绍 Robotium环境搭建 Robotium进行测试的方法和步骤 Android测试的其他手段 Android测试的辅助工具,第2页,Robotium介绍,第3页,User scenario testing for Android。,Robotium是一款测试Android Application的测试框架,它使得编写黑盒测试代码更加容易和稳定。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能、系统以及验收测试用例。 Robotium是基于Android测试框架InstrumentationTestCase2进行的2次封装,把一些基本操作又简化了一遍。,Robotium介绍,第4页,Robotium的优势: 针对黑盒测试 在测试过程中,不必需要测试程序的源代码,只要apk文件(前提是需要知道测试程序的package和activity) 可以直接运行在手机上,并通过adb端获得运行结果。 在使用该工具的时候有一点必须:当编辑完测试脚本后,会生成一个apk文件,将该apk安装到手机端,并通过abd输入一系列命令后直接运行测试脚本。但该apk的签名必须要与测试程序的apk签名保持一致。,Robotium环境搭建,安装JDK,安装并设置环境变量JAVA_HOME 、CLASSPATH和path 下载解压Eclipse for java工具 下载 Android SDK 解压,运行SDK Manager.exe文件,安装软件包 下载 ADT ,在Eclipse安装ADT插件 在Eclipse设置Android SDK 路径 创建一个新的 Android 虚拟设备AVD (Android模拟器的配置) 在 jar文件,第6页,Robotium进行测试的方法和步骤,以一个简单的计算乘法的程序AndroidCalculator作为被测程序 如图所示,第7页,Robotium进行测试的方法和步骤,启动Eclipse执行 File- Import - Select root directory,选择AndroidCalculator项目将被测程序导入进来。 创建一个测试项目AndroidCalculatorTest,第8页,选择File-New-Project-Android Test Project输入测试工程的名称,如:AndroidCalculatorTest。选择An existing Android Project,点击Browse按钮,选择之前创建的被测工程AndroidCalculator,点击OK按钮。一个测试工程就创建好了,如图:,Robotium进行测试的方法和步骤,创建一个测试用例Test Case,第9页,在AndroidCalculatorTest-src-com. calculator.test上,右击选择New-Juint-Juint Test Case。 在Name中输入Test Case的名字,如:TestMain,选择Setup(),tearDown()和Constructor选项,单击完成。创建好的Test Case如下图:,Robotium进行测试的方法和步骤,导入robotium.jar,第10页,选择测试工程AndroidCalculatorTest右击,选择Build Path-Configure Build Path,在libraries页面中点击Add External JARs按钮。因为之前创建的工程的SDK是2.2的,所以选择robotium-solo-1.8.0.jar。点击OK按钮。,Robotium进行测试的方法和步骤,为测试用例编写代码,第11页,对AndroidCalculator程序进行测试,要实现的一个测试用例如下:1)访问的第一和第二个编辑域(EditFields)2)输入选择的测试数据3)访问和点击multiply按钮4)验证计算的结果是否符合预期 打开TestMain.java进行编辑并保存,见下图,第12页,Robotium进行测试的方法和步骤,测试代码的结构,第13页,public TestMain() /构造函数,通知系统要测的app是什么 super(com.calculator, Main.class); /每一个test case都会调用setup来进行初始化 protected void setUp() throws Exception super.setUp(); /可以通过tearDown()方法来结束case,可以指定清空或结束此case曾经调用过的一些资源,如果不写tearDown()方法,系统会调用默认的方法 protected void tearDown() throws Exception super.tearDown(); /具体实现测试用例的方法 public void testDisplayBlackBox() ,Robotium进行测试的方法和步骤,运行测试程序,第14页,选择测试工程AndroidCalculatorTest右击,选择Run As-Android JUnit Test运行测试程序。可以在Run configuration中设置模拟器或设备区运行测试程序。 运行完后的测试结果界面(Pass) 运行完后的测试结果界面(Fail),Robotium进行测试的方法和步骤,在模拟器或者手机上测试,第15页,前面的例子在eclipse中进行测试的,也可以在模拟器或者手机上测试。如果需要直接在模拟器或者手机上测试,需要将测试包和被测试包改成相同的签名。 关于测试方法可以参考Test Android APK File With Robotium.pdf 关于apk包的签名和重签名请参考重新签名APK文件.pdf,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 FilesAndroidandroid-sdk-windowsdocsguidedevelopingtoolsmonkey.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 FilesAndroidandroid-sdk-windowsdocsguidedevelopingtoolsmonkeyrunner_concepts.html,第21页,Android测试的辅助工具,Androidscreencastcase 一个适用于Windows/Linux/MacOS平台控制任何android设备,通过USB连接就可实现鼠标键盘控制你的android. 网址: 几点说明: 1.使用需要一定的权限如root,USB调试已经启用 2.鼠标右键可以旋转屏幕方向 3.反映数度有一定的延迟 4.下载androidscreencast.jnl 对应的key值KeyMapping ,第22页,Android测试的辅助工具,Aapt(Android Asset Packaging Tool) 可用于创建包含Android应用程序二进制文件和资源文件的.apk文件 Traceview 可用于将Android应用程序产生的跟踪日志(trace log)转换为图形化的分析视图 mksdcard 用于创建磁盘映像(disk image),可以在模拟器环境下使用磁盘映像来模拟外部存储卡(例如SD卡) Findbugs 一个静态分析工具,可以在不实际运行程序的情况对软件进行分析,帮助改进代码的质量,可以作为Eclipse的插件使用。,第23页,谢 谢!,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号