《Android测试工具TheadingTest测试CSDN开源版手机游戏》由会员分享,可在线阅读,更多相关《Android测试工具TheadingTest测试CSDN开源版手机游戏(23页珍藏版)》请在金锄头文库上搜索。
1、产品介绍 如有问题可以加 qq 群符号执行咨询: 339834199Threadingtest(简称 “TT”)是一款跨平台、多语言、集测试与辅助开发于一体的智能测试工具平台1、智能化:连接开发与测试之间的穿线技术第五代白盒覆盖率技术(实现美军标 DO-178B MC/DC 白盒结构测试技术,实现 100%覆盖率)2、可视化:超高速、大型、互动的图形化系统实时的示波器级的测试数据检测多个版本的代码比对视图3、支持多种语言、平台和应用:一期已经发布了对 J2EE 应用的版本以及针对 Android 应用的版本二期将发布苹果移动应用版本以及 c/c+版本三期向多线程高速运转的游戏类应用扩展。支持
2、Android/MAC OS X/Windows XP/7/2003/vista/Linux/Unix 等多个系统环境4、编译技术:100%Java 语法支持,最高支持 Java1.7 版本产品特性1、连接开发与测试之间的穿线技术测试用例与程序代码的双向穿线将覆盖率分析结果作为穿线连接开发与测试帮助测试人员可视化开发人员单元测试结果基于穿线技术实现的智能化回归测试用例选取技术2、第五代覆盖率技术多版本的累计覆盖率技术无需监管的覆盖率搜集支持在程序结构图、控制流程图等多种图形上显示覆盖率支持分布式测试实现美军标 DO-178B MC/DC 白盒结构测试技术3、超高速、大型、互动的图形化系统支持百
3、万图元级别的超高速图形绘制技术支持全屏以及超平滑的放大与缩小技术、平滑的移动技术支持按照类分组聚集布图以及按照函数调用关系布图,层次数量可自由定义支持逐级的子树展开和下钻功能。4、实时执行边做测试边看示波器实时的被测应用执行监控示波器被测应用的每一个动作可以被示波器检测到可以从执行数据块数量、函数数量、条件数量等多个指标进行实时的监控下面就让我们对 CSDN 上, Android 开源游戏项目捕鱼达人游戏进行深度的测试演示。1 Threadingtest 安装和环境变量的配置(1 )安装 JDK 并配置 JDK 环境变量,要求 1.6 以上版本配置环境变量 步骤:a)右击“我的电脑” 高级 环
4、境变量b)在系统变量里新建 JAVA_HOME 变量,变量值为:C:jdk1.7.0_01(根据自己的安装路径填写)c)新建 classpath 变量,变量值为:.;C:jdk1.7.0_01libdt.jar;C:jdk1.7.0_01libtools.jar;(程序根据自己的安装路径填写)d)在 path 变量(已存在不用新建)添加变值:%JAVA_HOME%bin;%JAVA_HOME%jrebin(注意变量值之间用“;”隔开)(2 )安装 Android SDK 并配置其环境变量,Android SDK 按照版本依靠测试 Android 项目所用版本,没有其他特别要求。配置环境变量 步
5、骤:a)右击“我的电脑” 高级 环境变量b)在 path 变量值添加 platform-tools 的目录路径,例如E:android-sdk_r20.0.3-windowsandroid-sdk-windowsplatform-tools(3 )安装 TT,完成后申请试用码,将申请回执右键附件的 key.key 文件放置 TT 安装根目录下,TT 的示波器界面可正常使用。申请 key.key 表格的填写:2 智能化的代码插装, 编译 Android 工程测试一个工程之前,首先要在 TT 上编译被测项目,编译完成后 TT 面板上会加载被测项目和项目的相关信息。编译步骤如下:1.TT 主界面工具
6、栏 File-Manage Project,进入多版本管理界面。2.点击 Add 按钮,添加一个新的项目。2.继续点击 Add 按钮,在新建的项目下面添加一个新的版本4.进入编译界面,配置编译选项卡,点击 build 进行编译。下一步新建的项目名称选择数据库类型下一步下一步添加的项目版本名称数据库名称5.点击 build 之后会出现编译输出信息的窗口,编译完成之后会弹出 Build Finish!的提示窗口,并且在用户指定的 APK 安装包生成的路径下生成了相应的 apk 包,这两个 apk 包之间是没有区别的。要跑测试用例,接受测试数据前,应安装这两个 apk 包中的任意一个。1.要测试项目
7、的路径2.自动加载测试项目的路径下的.classpath 文件3.选择被测项目的源码编码格式/编码配置文件4.选择 Android SDK 安装的路径5.选择 Android target的路径6.指定编译之后生成APK 安装包路径3 连接和安装 APK,支持 Threadingtest 与 Android 设备之间的多种方式的交互连接ThreadingTest 支持 USB 连接、 wifi 热点以及模拟器三种方式进行测试数据传输,您可以选择以下任何一种方式进行测试体验。 (案例以 USB 连接方式做简单介绍)(1 )打开移动设备 USB 调试(注:移动设备需要打开 USB 调试,安装相应的
8、移动设备驱动程序)(2 )确保 Android 设备于 PC 机连接正常(您可以采用百度手机助手或者 360 助手等方便查看连接情况) ,将上述生成的 APK 安装到 USB 连接的 Android 设备上。(3 )设置本机 IP(注:USB 接受数据必须修改 ThreadingTest 接收端 IP 为文件为本机 IP) ,点击 View 菜单点选DTCView 进入 DTC 监控界面点击设置 ip 按钮设置本机 ip。(4 )启动端口映射,完成 TT 和 Android 设备连接第一步:启动端口映射之前,请先检查 Android SDK 是否配置了环境变量点击“开始”“运行”输入“adb”
9、Enter,如果能正常打印用法说明配置正确可以进行第二步操作,如果没有配置正确请参考“ThreadingTest Android App Edition 安装配置”进行 Android SDK 的安装以及环境变量配置。第二步:在 ThreadingTest 的安装目录下,查找 adb-android.bat 文件,点击执行,启动端口映射。4.制作用例、获取数据,TT 率先引入了测试示波器的概念,在实际测试的过程中,测试员可以看到类似于心电图的数据获取模式(1 )点击 TT 工具栏 View-DTCView 进入示波器界面(2 )在示波器界面的左侧,创建测试用例,针对捕鱼达人小游戏设计的测试用例
10、列表如下:一级测试用例类型二级测试用例类型 测试用例名称 测试用例描述在界面不做任何操作 不对游戏界面做操作,时间消耗完结束子弹强度为 1 进行游戏 在默认的子弹强度情况下进行捕鱼操作转换子弹强度进行游戏 测试转换子弹强度进行游戏游戏中点击暂停继续按钮 测试捕鱼界面的暂停/继续按钮简单模式游戏界面去除音效的设置 测试音效设置在界面不做任何操作 同普通模式子弹强度为 1 进行游戏 同普通模式转换子弹强度进行游戏 同普通模式游戏中点击暂停继续按钮 同普通模式游戏模式普通模式游戏界面去除音效的设置 同普通模式在界面不做任何操作 同普通模式子弹强度为 1 进行游戏 同普通模式转换子弹强度进行游戏 同普
11、通模式游戏中点击暂停继续按钮 同普通模式困难模式游戏界面去除音效的设置 同普通模式游戏设置 音效调节 在游戏设置选项中,调节音量,做测试第一步:在 TT 中建立上述表格中的测试用例结构,右键 DTCView 界面左侧,添加测试用例类型,如下截图:第二步:在一个测试用例添加完成之后,右击该测试用例类型,选择添加测试用例类型或者测试用例,按照设计的测试用例类型结构完成。下图是测试用例添加窗口(7 )选择示波器界面中刚建立的用例,选择 start 进行数据接收。连接移动设备有 USB 和热点等多种方式可以点击 help 获得相关说明。测试用例树勾选测试用例点击 Start 按钮,在Android 机
12、上运行相应的测试场景 暂停按钮 结束按钮示波器测试数据收发的显示部分5.测试数据获取完毕后,TT 超高速、大型、互动的图形化系统展示5.1 主界面-调用关系视图函数导航树版本导航树 函数调图显示部分各种覆盖率信息各种复杂度信息当前所选函数的基本信息历史和书签5.2 主界面-控制流程视图控制流程图ControlFlow 图中点击选择某个图元,在此窗口会呈现所选图元部分包含的语句结构源代码展示所选条件表达中各条件、条件组合的真假分支执行情况5.3 主界面-函数列表视图5.4 覆盖率分析主界面的 CallGraph、ControlFlow、ListView 三个视图是可以相互切换的,我们可以通过查看
13、每个函数的各个覆盖率的数据,如果覆盖率没有达到 100%的,可以选择查看函数的那部分代码或者分支执行的测试用例没有覆盖到。ListView 视图是以列表的形式显示了项目包含的所有函数的各种覆盖率信息和复杂度信息的统计数据,支持翻页、跳转指定页,按各列升序排序等功能。函数列表升序/ 降序排列选择选择点击跳转的视图5.4.1 段覆盖设置跳转到 CoverageView 中的函数调转,选中的函数的 SC0=80% ,SC1=88.9%,SC1+=88.9%,JC0=5, JC1=11,JC1+=9。例如:SC0 块测试覆盖。如果程序的所有可见段(程序块)至少被执行一次,则该段程序的 SC0 覆盖率达
14、到了100%。SC0= 被执行的块个数/该段程序包含的块个数(即可见段个数),JC0= 一段程序的块的个数。也就是 JC0 是 SC0 的分母。同样 JC1 是 SC1 的分母,JC1+是 SC1+的分母。()以 SC0 为例子,怎么查看那些块没有被测试用例组覆盖到,引导测试人员完善测试用例,达到 100%覆盖。跳转到 CoverageView 界面,如下图,选择 Coverage-SC0,覆盖率是 80%,该覆盖块包含的静态代码块是,覆盖到的是块,可以看到蓝色的 Block:978 没有覆盖到,如果测试用例满足了 if(iAnalyzer Report 进入报表界面。(1 )基本信息统计部分
15、主要是对当前项目的当前版本的行数统计、包数量统计、文件数量统计、类数量统计、函数数量统计以及测试用例数量统计。(2 )覆盖率扇形图TT 个人版的目前的覆盖率的划分是固定的,划分了 4 个区域分别是0%25%、25%50%、50%75%、75%100%。TT 的企业版的这些数据区间是可以自动设置的,企业可以根据项目的要求设定合适的有针对性的覆盖率区间。下图为本次案例的覆盖率统计,可以看到设计的测试用例的还是没有充分测试的,需要有针对性的增加测试用例完善测试。文件的各个覆盖率统计扇形图类的各个覆盖率统计扇形图函数的各个覆盖率统计扇形图(3 )复杂度扇形图TT 的个人版针对复杂度的划分区间是根据行业
16、经验值来划分的,历史研究认为复杂度大于 10 会存在很大的出错风险。我们可以看到整个源代码中绝大多数的函数的复杂度都是10,只有少数的函数还需要进一步优化改进。(4 )覆盖率统计LRV:表示最后一次运行时的覆盖率CLV:表示累积覆盖率横坐标表示: SC0,SC1,SC1+,TRUE,FALSE,BOTH,BRANCH,CDC,MCDC 九种不同类型的函数覆盖率;纵坐标表示: 不同类型覆盖率 *100 的数值;(5 )覆盖率按天的增长曲线图横轴表示不同的日期;纵轴表示覆盖率*100 的数值;黄色图形部分表示覆盖率的变化走势(6 )排行榜TT 提供的排行榜有1.函数复杂度排行(显示复杂度最高的 10 个函数以及对应的复杂度)2.函数热度排行(执行次数最多的 10 个函数以及执行次数)3.测试用例贡献度排行(测试覆盖率做多的 10 个测试用例)4.正向追