当前位置:文档之家› Android测试工具TheadingTest测试CSDN开源版手机游戏

Android测试工具TheadingTest测试CSDN开源版手机游戏

Android测试工具TheadingTest测试CSDN开源版手机游戏
Android测试工具TheadingTest测试CSDN开源版手机游戏

产品介绍

如有问题可以加qq群符号执行咨询:339834199

Threadingtest(简称“TT”)是一款跨平台、多语言、集测试与辅助开发于一体的智能测试工具平台

1、智能化:连接开发与测试之间的穿线技术

第五代白盒覆盖率技术(实现美军标DO-178B MC/DC白盒结构测试技术,实现100%覆盖率)

2、可视化:超高速、大型、互动的图形化系统

实时的示波器级的测试数据检测

多个版本的代码比对视图

3、支持多种语言、平台和应用:一期已经发布了对J2EE应用的版本以及针对Android应用的版本

二期将发布苹果移动应用版本以及c/c++版本

三期向多线程高速运转的游戏类应用扩展。

支持Android/MAC OS X/Windows XP/7/2003/vista/Linux/Unix等多个系统环境

4、编译技术:100%Java语法支持,最高支持Java1.7版本

产品特性

1、连接开发与测试之间的穿线技术

测试用例与程序代码的双向穿线

将覆盖率分析结果作为穿线连接开发与测试

帮助测试人员可视化开发人员单元测试结果

基于穿线技术实现的智能化回归测试用例选取技术

2、第五代覆盖率技术

多版本的累计覆盖率技术

无需监管的覆盖率搜集

支持在程序结构图、控制流程图等多种图形上显示覆盖率

支持分布式测试

实现美军标DO-178B MC/DC白盒结构测试技术

3、超高速、大型、互动的图形化系统

支持百万图元级别的超高速图形绘制技术

支持全屏以及超平滑的放大与缩小技术、平滑的移动技术

支持按照类分组聚集布图以及按照函数调用关系布图,层次数量可自由定义

支持逐级的子树展开和下钻功能。

4、实时执行边做测试边看示波器

实时的被测应用执行监控示波器

被测应用的每一个动作可以被示波器检测到

可以从执行数据块数量、函数数量、条件数量等多个指标进行实时的监控

下面就让我们对CSDN上,Android开源游戏项目捕鱼达人游戏进行深度的测试演示。

1 Threadingtest安装和环境变量的配置

(1)安装JDK并配置JDK环境变量,要求1.6以上版本

配置环境变量步骤:

a)右击“我的电脑”-->"高级"-->"环境变量"

b)在系统变量里新建JAVA_HOME变量,变量值为:C:\jdk1.7.0_01(根据自己的安装路径填写)

c)新建classpath变量,变量值为:

.;C:\jdk1.7.0_01\lib\dt.jar;C:\jdk1.7.0_01\lib\tools.jar;(程序根据自己的安装路径填写)

d)在path变量(已存在不用新建)添加变值:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin(注意变量值之间用“;”隔开)

(2)安装Android SDK并配置其环境变量,Android SDK按照版本依靠测试Android项目所用版本,没有其他特别要求。

配置环境变量步骤:

a)右击“我的电脑”-->"高级"-->"环境变量"

b)在path变量值添加platform-tools的目录路径,例如

E:\android-sdk_r20.0.3-windows\android-sdk-windows\platform-tools

(3)安装TT,完成后申请试用码,将申请回执右键附件的key.key文件放置TT安装根目录下,TT的示波器界面可正常使用。

申请key.key表格的填写:

2智能化的代码插装,编译Android工程

测试一个工程之前,首先要在TT上编译被测项目,编译完成后TT面板上会加载被测项目和项目的相关信息。编译步骤如下:

1.TT主界面工具栏File->Manage Project,进入多版本管理界面。

2.点击Add按钮,添加一个新的项目。

下一步

新建的项目名称

选择数据库类型

2.继续点击Add按钮,在新建的项目下面添加一个新的版本

下一步

下一步

添加的项目版本名称

数据库名称

4.进入编译界面,配置编译选项卡,点击build进行编译。

5.点击build之后会出现编译输出信息的窗口,编译完成之后会弹出Build Finish!的提示窗口,并且在用户指定的APK安装包生成的路径下生成了相应的apk包,这两个apk包之间是没有区别的。要跑测试用例,接受测试数据前,应安装这两个apk包中的任意一个。

1.要测试项目的路径

2.自动加载测试项目的路径下的.classpath文件

3.选择被测项目的源码编码格式/编码配置文件

4.选择Android SDK安装的路径

5.选择Android target 的路径

6.指定编译之后生成APK安装包路径

3连接和安装APK,支持Threadingtest与Android设备之间的多种方式的交互连接

ThreadingTest支持USB连接、wifi热点以及模拟器三种方式进行测试数据传输,您可以选择以下任何一种方式进行测试体验。(案例以USB连接方式做简单介绍)

(1)打开移动设备USB调试(注:移动设备需要打开USB调试,安装相应的移动设备驱动程序)

(2)确保Android设备于PC机连接正常(您可以采用百度手机助手或者360助手等方便查看连接情况),将上述生成的APK安装到USB连接的Android设备上。

(3)设置本机IP(注:USB接受数据必须修改ThreadingTest接收端IP为文件为本机IP),点击View菜单点选DTCView 进入DTC监控界面点击设置ip按钮设置本机ip。

(4)启动端口映射,完成TT和Android设备连接

第一步:启动端口映射之前,请先检查Android SDK是否配置了环境变量

点击“开始”-->“运行”-->输入“adb”-->"Enter",如果能正常打印用法说明配置正确可以进行第二步操作,如果没有配置正确请参考“ThreadingTest Android App Edition安装配置”进行Android SDK的安装以及环境变量配置。

第二步:在ThreadingTest的安装目录下,查找adb-android.bat文件,点击执行,启动端口映射。

4.制作用例、获取数据,TT率先引入了测试示波器的概念,在实际测试的过程中,测试员可以看到类似于心电图的数据获取模式

(1)点击TT工具栏View->DTCView进入示波器界面

第一步:在TT中建立上述表格中的测试用例结构,右键DTCView界面左侧,添加测试用例类型,如下截图:

第二步:在一个测试用例添加完成之后,右击该测试用例类型,选择添加测试用例类型或者测试用例,按照设计的测试用例类型结构完成。下图是测试用例添加窗口

测试用例树

(7)选择示波器界面中刚建立的用例,选择start进行数据接收。连接移动设备有USB和热点等多种方式可以点击help获得相关说明。

示波器测试数据收发的显示部分勾选测试用例

点击Start按钮,在

Android机上运行相应

的测试场景暂停按钮结束按钮

5.测试数据获取完毕后,TT超高速、大型、互动的图形化系统展示

5.1主界面-调用关系视图

版本导航树函数调图显示部分

函数导航树

各种覆盖率信息

历史和书签

各种复杂度信息

当前所选函数的基本信息

控制流程图

ControlFlow图中点击选

择某个图元,在此窗口

会呈现所选图元部分包

含的语句结构

源代码展示

所选条件表达中各条

件、条件组合的真假分

支执行情况

函数列表

5.4覆盖率分析

主界面的CallGraph、ControlFlow、ListView三个视图是可以相互切换的,我们可以通过查看每个函数的各个覆盖率的数据,如果覆盖率没有达到100%的,可以选择查看函数的那部分代码或者分支执行的测试用例没有覆盖到。ListView视图是以列表的形式显示了项目包含的所有函数的各种覆盖率信息和复杂度信息的统计数据,支持翻页、跳转指定页,按各列升序排序等功能。

选择点击跳

转的视图

升序/降序排

列选择

5.4.1段覆盖

设置跳转到CoverageView中的函数调转,选中的函数的SC0=80% ,SC1=88.9%,SC1+=88.9%,JC0=5, JC1=11,JC1+=9。例如:SC0块测试覆盖。如果程序的所有可见段(程序块)至少被执行一次,则该段程序的SC0覆盖率达到了100%。SC0= 被执行的块个数/该段程序包含的块个数(即可见段个数),JC0=一段程序的块的个数。也就是JC0是SC0的分母。同样JC1是SC1的分母,JC1+是SC1+的分母。

(1)以SC0为例子,怎么查看那些块没有被测试用例组覆盖到,引导测试人员完善测试用例,达到100%覆盖。

跳转到CoverageView界面,如下图,选择Coverage->SC0,覆盖率是80%,该覆盖块包含的静态代码块是5,

覆盖到的是4块,可以看到蓝色的Block:978没有覆盖到,如果测试用例满足了if(i<5) 这个条件,那么Block:978块就会被覆盖到。

当然我们也可以在ControlFlow视图部分看到相应的代码执行覆盖情况,如下图我们可以看到returntrue;这个语句的执行次数为0,if(i<10)中的i<10的真分支没有被执行,只有假分支被执行过。

(2)TT提供的段覆盖包括SC0,SC1,SC1+,那TT为什么光段覆盖率就会提供三种呢?

我们都知道普通的段覆盖被看做最弱的覆盖率,而大多数软件测试过程中所提到的段覆盖就是TT的 SC0覆盖,这种覆盖率标准只考虑覆盖代码中的执行语句块,却不考虑各种语句结构的分支覆盖情况等,因此往往被看做比较弱的覆盖,但却是很必要的一种覆盖量度。TT考虑到普通的段覆盖的缺点,因此在SC0的基础上提出了SC1以及SC1+覆盖率,都是SC0覆盖率的加强版。

SC1——标准段测试覆盖。如果程序的所有顶端不可见段至少被执行一次并且满足SC0 100%覆盖,则该程序的一组测试用例满足SC1 100%覆盖。

SC1=被执行的代码块(包括不可见段0以及不可见段2)/该段程序包含的块个数(包括不可见段0以及不可见段2)不可见段0(if和swicth)判断体结束后的不可见段,即if和switch中条件判定式不满足的情况,会存在一个不可见段

不可见段2(for、while和do-while)循环体结束后的不可见段,即for、while、do-while循环条件不满足时,会正常跳出循环,这时会存在一个不可见段。

SC1+——增强标准段测试覆盖。如果程序的所有低端循环边界不可见段至少被执行一次并且满足SC1 100%覆盖,则该程序的一组测试用例满足 SC1+ 100%。

SC1+=被执行的代码块(包括不可见段0,不可见段2以及不可见段1)/该段程序包含的块个数(包括不可见段0,以及不可见段2以及不可见段1)

不可见段1(for和while)非正常的结束循环体时的不可见段,也就是指for和while循环体一次都没有被执行的情况,这时会存在一个不可见段。

上述那个例子的覆盖率信息是SC0=80% ,SC1=88.9%,SC1+=88.9%,SC1和SC1+相同,那这就意味着这个函数代码中没有for以及while循环,SC0和SC1不同意味着这个函数代码中存在条件语句。

SC0各段的覆盖情况

条件不满足

时隐藏else

段,即上文提

到的不可间

段0

SC1各段的覆盖情况

上图中红色框的为条件的隐藏段,也就是当条件不满足时所走的分支,4个隐藏代码块都被执行过,也就意味着这4个条件的假分支都至少被执行过一次。可以转换到ControlFlow视图部分,这些条件的假分支是都被执行过的。

5.4.2条件判定覆盖

TT除了提供了几种段覆盖率统计,也提供了条件判定的多种覆盖率,具体的有条件为真(TURE),条件为假(FALSE)、条件真假(BOTH)、分支覆盖又称判定覆盖(Branch覆盖)、条件/判定覆盖(C/DC)、修正的条件判定/覆盖(MC/DC)。TT囊括了几乎所有的条件判定类的覆盖率。给测试人用提供程序中各种条件判定式中各条件以及各判定的真假分支执行情况以及各种相关复杂度统计数据,直观、多方位、几近全面的逻辑表达式的分支覆盖统计让繁杂的测试变得容易、简单、精准。

通过ControlFlow视图部分,选中代码中条件判定式,右侧窗口会显示各个条件、条件组合以及整个判定表达式的真假分支被执行的情况,表示执行过、表示没有被执行。测试人员可以根据执行情况,去补充增加相应的测试用例,完善测试,达到100%覆盖测试。如果测试人员不能很好的设计补充测试用例,可以和开发人员进行沟通,确定没被覆盖的分支如何设计测试用例。通过TT很直观很准确的定位到那块代码或那些分支没有被覆盖,让测试和开发很好的协同工作,减少了沟通时间,同时也减少了沟通障碍。

5.5复杂度分析

在软件开发过程中,保证代码质量时,往往会被要求控制代码复杂度。复杂度称为代码量度是经过了很长的一段历史经历的,令大多人熟知的圈复杂度简称CC也是这段历史的产物,每个公司都会有对圈复杂度的一个告警值。

TT通过复杂度分析,给出多种复杂度的计算值,对于高复杂度的模块应考虑重构。对于高复杂度的模块,还可以进一步得知其控制流程图和逻辑框图的复杂程度。控制好复杂度能有效地增强软件产品的可维护性,降低bug的发生率,同时也让软件产品的测试工作能更好的进行。

TT提供的复杂度除了之前提到的JC0,JC1,JC1+,CC0(包含case语句在内的圈复杂度)、CC1(不包含case 在内的圈复杂度)以及JC2(条件-段的测试复杂度)

JC2=所有可见段+不可间段+所有条件判定语句个数。

在ListView里面我们可以点击某个复杂度对函数进行升序降序排列,对于高复杂度的,点击调转到ControlFlow 图部分查看对应的控制流程图。可以和开发人员沟通,对模块进行优化,控制复杂度,使得测试工作更好展开。

6. 详细直观的报表能够快速的汇总测试项目的各项指标信息,以多样化的表现形式向用户展示了测试用例执行结果以及源代码的各项指标

点击工具栏View->Analyzer Report进入报表界面。

(1)基本信息统计部分

android自动化测试之道

Android自动化测试之道 文/杨丰盛 随着越来越多的手机厂商、运营商、开发商加入android阵营,带来了各种美化和定制的android系统,同时android market应用数量增长迅速。这都离不开测试,android 自动化测试的需求愈加迫切。 测试主要分为白盒测试和黑盒测试两大类。Android虽然在测试方面还不够完善,但也提供了各种途径来完成相应的测试模块。白盒测试通常需要配合软件的源码来进行,测试人员须根据产品的功能和性能等需求编写测试用例,并根据测试用例逐一进行测试。这里我们主要探讨在没有源码的情况下如何进行黑盒测试。既然没有源码,那么我们就需要使用android所提供的工具包来获取应用程序上的各种UI元素,并向其发送各种操作事项。此外,我们还可以借助各种开源项目,比如ASE等。下面分别介绍几种目前最可行的自动化测试解决方案。 Android兼容性测试 Android的各个版本之间都有不同程度的差异,因此google专门针对各个版本(android2.1以上)提供了兼容性测试工具CTS(compatibility test suite),其中共有两万多个测试用例,包括功能测试和性能测试等。CTS最初只对OHA联盟开放,后来便和android开源项目一起发布了,并且所有手持设备都必须通过android兼容性测试,才能确保在android上开发的应用程序能够在android设备上运行,才能使用android market。 要使用CTS进行兼容性测试,就必须先下载和编译CTS,下载方式可以选择下载完整的android源码(位于$ANDROID/cts目录中)和只下载CTS源码(注:CTS源码下载地址为git://https://www.doczj.com/doc/e87136365.html,/platform/cts.git);然后可以使用如下命令来编译CTS: //配置选项 $ build/envsetup.sh //编译cts $ make cts 编译完成之后会将结果输出到“$ANDROID/out/host/linux-x86/”目录中,然后可以启动模拟器或手持设备(需使用root权限来操作),并进入其bin目录。使用“./cts” 命令来启动CTS测试,显示CTS测试版本和设备连接状态,这时可以输入“help”命令来查看CTS的操作帮助信息。 如果输入“ls--plan”命令可以查看所有的plan(注:plan文件夹为cts/android-cts/repository/plans),在其中可以看到8个测试基类,比如android.xml、appsecurity.xml、CTS.xml等。其中所有基类里包含的package都给出了相应的uri,cts 将根据这些uri去测试每个基类里的package,可以输入如下一些命令来测试某些

Android测试环境搭建

基本安装 一、Java JDK 1、Java JDK下载: 网页: https://www.doczj.com/doc/e87136365.html,/javase/downloads/index.jsp 选择 Download JDK 只下载JDK,无需下载jre.(因为按照JDK会自动按照jre) 2、JDK 运行 可以不安装在C盘(系统盘) 安装完成后 3、环境变量 如果只是运行eclipse不需要修改环境变量 如果要用到monkeyrunner需要设置环境变量(改系统环境变量),如下 新建系统环境变量JAVA_HOME ,设置为java安装地址"D:\Program Files\java\jdk1.6.0_33" PATH 增加 ";%JAVA_HOME%\bin" CLASSPATH = ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar",没有CLASSPATH需要新增

4、验证环境变量 java-version 如果装在C盘直接运行java-version 二、Eclipse 进入该网页: https://www.doczj.com/doc/e87136365.html,/downloads/下载解压缩后放在根目录,不要放在中文文件夹里面三、Android SDK

地址:https://www.doczj.com/doc/e87136365.html,/sdk/index.html 说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,后一种大概20多M,前一种70多M。 解压android sdk 这个也无需安装,解压后供后面使用 Eclipse配置 一、安装android 开发插件 (1)打开Eclipse, 在菜单栏上选择 E:\eclipse-java-juno-win32-x86_64\eclipse下,可以创建桌面快捷方式help->Install New SoftWare 出现如下界面:

Android APP测试流程

Android APP测试流程 一、 Monkey测试(冒烟测试) 使用monkey测试工具进行如下操作: 1. APP的安装 2. APP随机操作测试(APP压力测试) 3. APP的卸载 二、安装卸载测试 1. 使用测试真机进行APP的安装与卸载 2. 使用第三方软件辅助安装与卸载

三、升级测试 1. APP的在线升级安装及使用测试 目的: 1. 验证签名是否一致 2. 跨版本升级是否正常 四、功能测试 1. 功能逻辑测试 2. 功能点测试(单元测试) 3. 关联性测试(集成测试) 五、自动化测试 1. monkeyrunner编写python脚本测试(现阶段使用小萝贝与按键精灵代替) 六、联机调试测试 1. 使用Eclipse进行Android Debug真机调试 2. 通过Logcat记录每一步操作,定位错误代码 七、稳定性测试 1. 交互性测试 2. 异常性测试(手机断电、断网情况) 八、手机流量、电量、内存测试

1. 测试机使用监控软件观察APP使用所耗的流量 2. 测试机使用监控软件观察APP耗电量 3. 测试机使用监控软件观察APP占用内存情况(不能泄露内存) 九、性能测试(Loadrunner) 1. 接口测试 2. 服务器压力测试 十、适配性测试(兼容性测试,目前使用testin云测) 1. 分辨率 2. 系统版本 3. 厂商定制系统 4. 屏幕尺寸 十一、界面易用性测试 1. 界面与交互测试(交互规范、用户体验、易用性等) 2. 可用性测试(可用性强、操作简单、出错率低、完成任务时间短等)十二、外网测试 1.使用WIFI和手机网络2G/3G/4G网络测试APP

Android性能分析工具常用汇总

Android性能分析工具常用汇总 Android性能分析工具整理汇总 把做Android开发以来碰到的一些不错的性能分析工具做个整理汇总... Debug GPU Overdraw 类型:系统自带功能UI渲染检测功能(打开Settings,然后到Developer Op tions -> Debug GPU Overdraw 选择Show overdraw areas,手机系统设置中文的孩纸,自行对照翻译进去哈) 作用:用来检测UI的重绘次数,开发者可以用来优化UI的性能。 使用心得:检测UI性能的利器,对于开发者做UI优化的帮助挺大的。因为大量的重绘容易让app造成卡顿或者直接导致丢帧的现象。开发者熟悉View的绘制原理可以结合对一些布局或者自定义控件做相应的优化。诸如:在ListView或GridView里面的item使用layout_weight设置就会造成多余重绘。其他情况还有很多,不一一例举。至于怎么用,可以自行Google Profile GPU Rendering 类型:系统自带功能UI渲染检测功能(打开Settings,然后到Developer Op tions -> Profile GPU Rendering. 选择On screen as bars ) 作用:用来检测UI绘制帧的速率和耗时,同样开发者可以用来优化UI的性能。使用心得:跟Debug GPU Overdraw功能类似,但它反应的是UI绘制帧的速率,同样可以用来检测自己的app是否丢帧或者绘制过度,具体操作可以自行G oogle Hierarchy Viewer 类型:SDK自带工具(打开Settings,然后到Developer Options -> Profil e GPU Rendering. 选择On screen as bars ) 作用:检测UI渲染用的 使用心得:老牌工具了,Google一下

Android测试教程(全)

Android测试教程 目录 Android测试教程 (1) Android测试教程(1):概述 (1) Android测试教程(2):测试基础 (2) Android测试教程(3):测试项目 (3) Android测试教程(4):测试相关API (6) Android测试教程(5):第一个测试项目HelloWorldTest (8) Android测试教程(6):测试Activity (11) Android测试教程(7):测试Content Provider (12) Android测试教程(8):测试Service (13) Android测试教程(9):ApplicationTestCase示例 (13) Android测试教程(10):ActivityInstrumentationTestCase2示例 (17) Android测试教程(11):ActivityUnitTestCase示例 (18) Android测试教程(12):ServiceTestCase示例 (20) Android测试教程(13):TestCase示例 (22) Android测试教程(14):ActivityInstrumentationTestCase2示例 (23) Android测试教程(15):AndroidTestCase示例 (25) Android测试教程(16):monkeyrunner简介 (27) Android测试教程(17):Monkey 命令行工具 (28) Android测试教程(18):总结 (32) 来源: csdn 作者:mapdigit Android测试教程(1):概述 测试也是开发过程中一个重要组成部分,Android开发环境集成一个测试框架可以用来测试Android应用的各个方面,单元测试,UI测试等。 本教程基于Android 开发教程英文版。 基本概念包括 ?Android测试的基础知识 ?Activity Testing 侧重于Activity的测试,介绍了如果使用Instrumentation 在正常Activity生命周期之外来控制Activity,然后测试Activity的特定的功能和测试UI 的一些技巧。

Android自动化测试工具简介

Android自动化测试工具简介随着Android的流行和发展,基于Android的应用开发越来越多,相应的测试方法和测试工具也越来越多,掌握好这些测试工具对测试团队提高工作效率有很大的帮助,本文将就Android平台上的几款常用的测试工具进行简单介绍。Instrumentation Instrumentation是Android系统提供的基于junit的自动化单元测试框架,它提供了对Android系统API和对象的访问接口,可以控制和检查应用程序、模拟用户操作、获取系统状态,实现对应用程序或系统的功能、性能、UI、API 等的自动化测试。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现这些功能。 图1:引用自:

https://www.doczj.com/doc/e87136365.html,/guide/topics/testing/testing_android.html 1)测试类型 要对Android应用程序进行单元测试有三种方法: 第一,基于Junit的单元测试,这个测试运行在JDK下,测试一些和android 无关的东西,比如业务逻辑,数据封装,数值计算等等。 第二,基于AndroidTestCase,不使用Instrumentation框架,但可以访问系统对象如Context,通过Context可以访问到资源,文件,数据库等。 第三,基于InstrumentationTestCase,使用Instrumentation框架,入口是InstrumentationTestRunner,这是一个没有图形界面的,具有启动能力的,用于监控其他类的工具类。 2)主要测试类 Android系统的单元测试框架位于包android.test中,其核心类图具有如下结构:

面向android系统的测试工具

毕业论文(设计) 面向android系统的测试工具 学生姓名:于冬敏 指导教师:陈高泉讲师专业名称:电子信息工程所在学院:信息工程学院 2012年06月

目录 摘要............................................................................................................................................ I Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1. 课题背景 (1) 1.2. 课题说明 (1) 第2章Android开发系统综述 (3) 2.1. android系统介绍 (3) 2.2. 开发环境介绍 (5) 2.3. 开发语言介绍 (7) 第3章测试工具介绍 (9) 3.1. 测试工具结构介绍 (9) 3.2. 测试工具中Service介绍 (12) 第4章总体设计 (22) 4.1. 概述 (22) 4.2. 构成 (23) 第5章设计思想 (24) 5.1. 设计思想概述 (24) 5.2. 设计原则 (25) 第6章结论. (35) 致谢 (35) 参考文献 (36) 附录 (38)

摘要 基于Android 的自动化测试的设计与实现以Android 客户端的测试为研究内容,分析了Android 自动化测试框架及其层次关系,尝试在现有测试方法的基础上进行测试手段的优化和创新。研究了基于JUnit 和instrumentaion 的Android 自动化框架的实现技术,并利用Hudson 进行集成,实现Android 的自动化测试。产品的开发实践表明, 这种自动化测试方法效率高、用户体验好, 对于Android 的自动化测试研究具有一定参考价值。Android应用程序使用Java做为开发语言,把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk文件中的所有代码被认为是一个应用程序。 关键词:关键词:测试自动化;Android;设计

android的测试方法

Android 调试桥 https://www.doczj.com/doc/e87136365.html,/docs/reference/adb.html#sqlite Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。 可以通过下列几种方法加入adb: ?在设备上运行shell命令 ?通过端口转发来管理模拟器或设备 ?从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运行sqllite3连接数据库 UI/软件试验程序 Monkey 其它的shell命令 启用logcat日志 使用logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看stdout 和stderr Logcat命令列表 停止adb服务 概要

Android 调试系统是一个面对客户服务系统,包括三个组成部分: ?一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用 adb命令启动客户端。其他Android工具比如说ADT插件和DDMS同样可 以产生adb客户端. ?在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。. ?一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。. 当你启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP 端口5037并监听adb客户端发来的命令,—所有的adb客户端都是用端口 5037与adb服务器对话的. 接着服务器将所有运行中的模拟器或设备实例建立连接。它通过扫描所有5555 到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到了adb 守护程序,它将建立一个到该端口的连接。请注意任何模拟器或设备实例会取得两个连续的端口——一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。比如说: 模拟器1,控制台:端口5554 模拟器1,Adb端口5555 控制台:端口 5556 Adb端口5557... 如上所示,模拟器实例通过5555端口连接adb,就如同使用5554端口连接控制台一样. 一旦服务器与所有模拟器实例建立连接,就可以使用adb命令控制和访问该实例。因为服务器管理模拟器/设备实例的连接,和控制处理从来自多个adb客户端来的命令,你可以通过任何客户端(或脚本)来控制任何模拟器或设备实例. 以下的部分描述通过命令使用adb和管理模拟器/设备的状态。要注意的是如果你用,装有ADT插件的Eclipse开发Android程序,你就不需要通过命令行使用adb。ADT插件已经透明的把adb集成到Eclipse中了,当然,如果必要的话你 也可以仍然直接使用adb,比如说调试. 发出adb命令 发出Android命令:你可以在你的开发机上的命令行或脚本上发布Android命令,使用方法: adb [-d|-e|-s ]

【Android Monkey自动测试工具使用报告】

关于Android Monkey自动化测试的报告 1自动化测试背景 软件测试是软件产品开发过程中的重要环节。测试对于发现软件中缺陷,保障软件的质量具有重要意义。统计表明,软件测试的时间通常占到软件开发时间的40%,一些可靠性要求高的软件甚至高达60%以上。 手工测试和自动化测试是软件测试的两种基本手段,二者相互补充,不可相互替代。其中,自动化测试能捕捉到资源冲突、多线程、死锁等手工测试难以发现的错误,可以高效的完成大量机械性、重复性测试,能模拟大量数据或大量并发用户等应用场景,从而有效的缩短软件测试周期,提高测试的可靠性及准确度。 2什么是Monkey Monkey测试是Android自动化测试的手段之一,它通过模拟用户的按键输入、触摸屏输入等,测试设备多长时间出现异常。Monkey是一个命令行工具,可以运行在模拟器或实际设备中,通过向系统发送伪随机的用户事件流,实现对全系统或某个应用程序进行压力测试。 Monkey工具使用非常简单,直接在命令窗口键入monkey命令即可进行测试。Monkey命令有较多的配置选项,为便于理解这些命令,此处先将其命令选项简单划分为四大类,在后文中陆续介绍各种命令选项的使用,然后在附录中附上整个monkey命令选项便于查阅。Monkey命令可简单分为如下四类: 基本配置选项,如设置尝试的事件数量 运行约束选项,如设置只对单独的一个包进行测试 事件类型和频率,如设置触摸屏事件的发生频率 调试选项,如设置忽略应用程序异常,继续向系统发送事件,直到计数完成 3使用monkey进行自动化测试 Monkey命令工具可以在模拟器和实际设备上使用。这里分别对两种环境下的monkey测试进行介绍。 3.1 在模拟器上运用Monkey进行自动化测试 3.1.1 monkey命令最简单用法 首先,介绍最简单monkey命令用法,其使用格式为如下: monkey n 其中,n为一个整数,表示用于测试的伪随机事件发生的次数。 如图3.1所示,启动模拟器。然后,在命令行窗口下输入adb shell命令,如图3.2所示。登录shell之后,即可使用monkey命令。最简单的用法是,直接在其后面指定一个数字,表示向系统发送事件的数量,如图3.3所示。模拟器的测试的结果如图3.4所示。

Android性能测试

一、Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能 测试分为 2 类: ?一类为 rom 版本的性能测试 ?一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量等。但针对 rom 版本的性能测试,一般关注功耗。 先说说应用的性能测试,对于启动时间、内存、cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT、安测试等、这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当然我们也可以采用其他方法,如使用 android 本身提供的一套 adb 即可完成上述测试。 对于 GPU、功耗、等测试来说,用第三方工具测试得到的数值一般都不是很准确,这个时候我们需要引入硬件来进行测试了,GPU 可以采用高速相机来进行测试,功耗可以使用万用表或安捷伦电源仪来进行测试(ps:有硬件动手能力的可以DIY一个小板进行) 再说说 rom 版本的性能测试,rom 版本一般就关注功耗测试,不过 rom 版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安捷伦电源仪进行 二、首先我们来说说启动时间。关于应用的启动时间的测试,分为三类: 1. 首次启动 --应用首次启动所花费的时间 2. 非首次启动 --应用非首次启动所花费的时间 3. 应用界面切换--应用界面内切换所花费的时间 那么如何来做启动时间的测试呢,一般我们分为2类,一类为使用软件来测试,一类为使用硬件来测试,首先我们说说软件测试的方法,可能大部分人都比较通晓使用 android 提供的 DisplayManager 来获取 activity 的启动时间吧,在这里我简单说下如何通过批处理来DIY ?通过日志过滤关键字 Displayed 来过滤所有 activity 所打印的,记录日志通过adb logcat>/address/logcat.txt 然后使用find “Displayed” /address/logcat.txt>/newaddress/fl.txt ?通过 activity 名来过滤获取所测应用find “ActivityName” /newaddress/fl.txt>/newaddress/last.txt ?通过计算 activity 最后剩余的时间之和即可(这里可以使用 excel 表格自动相加也可以使用算法,我就不详细介绍了)

介绍5种Android自动化测试工具

作为一名软件研发者,对于Android你肯定不会陌生。随着科技的日新月异,Android 在我们的生活中已经变得无处不在,手机就是一个最好的例子,我们现在常常都会用到手机。但是你知道Android自动化测试的工具有哪几种吗?小编现在就一一为你讲解。 随着科技的发展,现在已经有很多的Android自动化测试架构或工具可以供我们使用了,其中包括:ActivityInstrumentation,DroidPilot,MonkeyRunner,Robotium,以及Robolectric。另外LessPainful也提供了服务来进行真实设备上的自动化测试。 其实,Android自身就已经提供了对instrumentation测试的基本支持,其中之一就是位于Android.test包内的ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类用来提供Androidactivities的功能测试。在应用测试中,每一个Activity首先都会被Instrumentation初始化,然后再加载到Android模拟器或设备的Dalvik虚拟机中来执行。 1.DroidPilot:一个新出android自动化测试工具 DroidPilot是一个自动化测试工具。它可以针对于Android平台的应用程序进行测试 脚本编辑、自动回放、结果检查、报告输出等操作,以此来缩短回归测试的时间和提升项目整体进度。测试的脚本不仅可以运行于模拟器,更可以同时运行于多台移动设备,这样更能凸显测试结果的真实性和可比性。 2.MonkeyRunner:AndroidSDK自带一个测试工具 MonkeyRunner提供的API和执行环境可以运行Python语言编写的测试代码。它提供了API来连接设备,安装、卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用ActivityInstrumentationTestCase2,ProviderTestCase, ServiceTestCasek,SingleLaunchActivityTestCase及其他类来定义测试用例,并使用InstrumentationTestRunner类来运行测试。 3.Robotium:被称之为针对Android应用的又一个Selenium Robotium是另一种通过InstrumentationTestRunner来完成Android交互式测试的架构,它可以横跨多个activities,并且支持功能测试,系统测试和接收测试。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus甚至Honeycomb,并且它可以同Maven和Ant集成来完成持续集成测试。 4.Robolectric:Pivotal实验室声称使用Robolectric可以在28秒内运行1047个测 试 Robolectric另辟蹊径,它并不依赖于Android提供的测试功能,它使用了shadowobjects并且运行测试于普通的工作站、服务器JVM,不像模拟器或设备需要 dexing(Androiddex编译器将类文件编译成Android设备上的DalvikVM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间。

Android—SDK测试

android中文SDK--测试基本原理 转载▼ 测试基本原理 android测试框架,作为集成开发环境的一部分,提供了一个架构和强大的工具来帮助你从单元到框架来测试应用程序各个层次的各个方面。 测试框架有以下特征: i.android测试套件基于JUnit。你可以很容易地使用JUnit,不需要调用Android API既可 以测试一个类,或者不需要通过Android的JUnit扩展就可以测试一个一个android组件。 如果你初学Android测试,你可以从通用测试用例类(如AndroidTestCase)开始,然后再使用更高级的类。 ii.Android Junit扩展提供了特定组件的测试用例类。这些类提供了一些辅助方法,通过这些方法可以创建模拟对象和方法,以此帮助你控制组件的生命周期。 iii.测试套件包含在测试包里,与主要的应用程序包相类似,这样你既不需要学习一套新的工具和技术来设计和构建测试了。 iv.Eclipse的ADT里有可用的构建和测试的SDK工具,对于其他IDE也提供了命令行工具。 这些工具从被测应用程序项目获取信息,通过这些信息自动生成构建文件,配置文件和测试包的结构目录。 v.SDK还提供了monkeyrunner,用Python语言测试设备的API。还有UI/Application Exerciser Monkey,一个对UI进行压力测试的命令行工具,可以给设备发送随机事件。 文档描述了Android测试框架的基本原理,包括测试的结构,用来开发测试的API,和用来运行和查看测试结果的工具。文档假定你已经具有Android应用程序和JUnit测试方法的知识。 测试框架:

测试计划 安卓软件测试.答案

软件测试工程师**** 测试计划 文档编号: 版本号:1.0 软件产品名称:软件测试工程师管理系统 软件开发部门: 软件测试部门: 编写:日期: 审核:日期: 批准:日期:

目录 1.引言 (4) 1.1 测试计划概述 (4) 1.2 被测试系统概述 (4) 1.3 测试计划制定依据 (4) 1.4 预期读者 (4) 2.测试范围 (4) 2.1 测试特性与软件需求的对应关系 (5) 2.1.1安装/卸载测试 (5) 2.1.2功能测试 (6) 3.测试目标与策略 (7) 3.1 测试目标 (7) 3.2 测试方法 (7) 3.3 测试工具 (7) 3.4 测试地点 (7) 4.测试状态转换标准和再启动要求 (7) 5.测试通过准则 (7) 6.应提供的测试文档 (8) 7.测试资源需求 (8) 8.1 硬件需求 (8) 8.2 软件需求 (8) 8.3 网络需求 (8) 8.4 人员需求 (8) 8.5 其他需求 (9) 8.人员、职责及培训要求 (9) 9.1 人员组成 (9) 9.2 人员分工与职责 (9) 9.3 培训要求 (9)

9.测试进度 (9) 10.风险和应急 (9) 11.1 影响计划的潜在因素 (9) 11.2 应急措施 (10) 11.测试的局限性 (10) 12.计划的批准 (10) 13.参考文档 (10)

1引言 1.1 测试计划概述 计划名称:软件测试工程师管理系统测试计划 文档编号: 测试部门: 计划作者: 计划审核: 本测试计划将对软件测试工程师管理系统的测试方法、测试工具、测试范围、测试种类、测试的软件硬件环境、测试进度、测试人员的分工和职责以及测试流程进行详细的定义和整体的描述。 对软件测试工程师管理系统将采用黑盒测试方法,完成第一轮测试。 1.2 被测试系统概述 产品名称:软件测试工程师管理系统 开发部门: 测试版本:V1.0 最新版本:V1.0 本项目的目标是完成一个计算机人事管理系统,实现人事管理的自动化。系统的主要功能包括:人事信息的录入、管理、查询、删除、生成报表等。 进入本系统提供用户选择菜单,要求人机界面友好,具有错误处理和故障恢复能力。 1.3 测试计划制定依据 本测试计划是依据《软件测试工程师管理系统开发计划》、《软件测试工程师管理系统需求规格说明书》、《软件测试工程师管理项目条款》等。 1.4 预期读者 (1)项目管理人员; (2)测试人员; (3)开发人员。 2测试范围

Android自动化测试工具常用ADB命令总结

自动化测试常用ADB命令操作总结 自动化测试基本操作命令: 模拟点击操作:adb shell input tap 500 500 (点击手机(500,500)坐标) 模拟滑动屏幕操作:adb shell input swipe 200 500 400 500 模拟输入文本信息:adb shell input text helloworld 模拟按键命令: adb shell input keyeventKEYCODE_VOLNME_DOWN按音量下键 adb shell input keyeventKEYCODE_VOLNME_UP 按音量上键 adb shell input keyevent 自动化测试中日志分析截图命令: 数据线连接手机截图:adb shell /system/bin/screencap–p /sdcard/screenshot.png 将截图复制到电脑盘中:adb pull /sdcard/screenshot.png E:\download 输出所有已经安装应用: adb shell pm list package –f 查看预安APK adb shell pm list package -3 安装应用程序: adb install –r 应用程序.apk 文件传输: 获取模拟器中的文件:adb pull 向模拟器中写文件:adb push 其他命令:

重启手机:adb shell reboot 重启手机进入recovery模式:adb shell reboot recovery 重启手机进入下载模式:adb shell reboot bootloader 对某一模拟器执行命令:adb–s 模拟器编号命令 常用的发送键盘事件: 命令格式:adb shell input keyevent“value” 其中value以及对应的key code如下:KeyEventValueKEYCODE 0 KEYCODE_UNKNOWN 1 KEYCODE_MENU 2 KEYCODE_SOFT_RIGHT 3 KEYCODE_HOME 4 KEYCODE_BACK 5 KEYCODE_CALL 6 KEYCODE_ENDCALL 7 KEYCODE_0 8 KEYCODE_1 9 KEYCODE_2 10 KEYCODE_3 11 KEYCODE_4 12 KEYCODE_5 13 KEYCODE_6 14 KEYCODE_7 15 KEYCODE_8 16 KEYCODE_9 17 KEYCODE_STAR 18 KEYCODE_POUND 19 KEYCODE_DPAD_UP 20 KEYCODE_DPAD_DOWN 21 KEYCODE_DPAD_LEFT 22 KEYCODE_DPAD_RIGHT 23 KEYCODE_DPAD_CENTER 24 KEYCODE_VOLUME_UP 25 KEYCODE_VOLUME_DOWN 26 KEYCODE_POWER 27 KEYCODE_CAMERA

Android 平台Monkey测试标准

Android 平台及整机测试测试标准要求大纲(初稿) 一、Android系统测试 1.Android 平台Monkey测试标准 1)系统稳定性测试 测试样机数量运行时间测试要求 5-10台25小时 1)运行时间>20小时 2)样机运行时间按从小到大排序,取中间2个值,计算平均时间,要求时间中间值平均 为24小时 3)以上两个条件均满足则认为通过测试(运 行过程中无异常) 2)单个APK运行稳定性测试 测试样机数量运行时间测试要求 5-10台24小时 平均运行时间至少为20小时(>380000个ENVENT),测试过程中无ANR、 JA V ACRASH、NativeCrash、WindowLeak、Exceeds VM budget count等任何异常 2.StabilityTest系统测试 主要对对CPU、CPU+GPU、内存运行灯作稳定性测试,测试过程中不发生任何异常和报错为通过,测试时间>5小时,至少测试10次,样机>5台。 3.系统功能模块测试 功能模块测试内容 电源测试电源再不同电压下工作情况及过压、欠压等表现 开关键是否按照设计工作 RESET 是否按照设计工作 开机峰值功耗测试瞬时电流 整机功耗测试整机功耗 3G/4G 拨号信号获取、拨号上网、挂断、网络恢复、异常等 网卡上网功能、DHCP、Static IP、带宽、10M/100M/1000M兼容性测试、 全双工/半双工接入兼容性测试等 WIFI AP、Client、加密、SSID、CLIENT接入能力、AP接入能力、B/G/N 带宽情况、频段、信号情况、信号衰减情况、传输距离情况等 VGA显示各种主要屏幕尺寸下VGA接口接屏幕显示及接触摸屏测试功能及 兼容性 HDMI显示各种主要屏幕尺寸下HDMI接口接屏幕及触摸屏及兼容性,HDMI 抗干扰性(不同规格HDMI连接线及不同线长下的情况),性能不 能低于标准民用产品 分频显示HDMI与VGA分频显示及API接口测试

相关主题
文本预览
相关文档 最新文档