threadingtest 发表于 2015-2-7 19:17:48

ThreadingTest开放与安卓Instrumentation测试架构深度整合测试库源码(上)

ThreadingTest概要:    ThreadingTest(下面简称TT)是全球首款移动应用白盒测试工具,100%Java语法支持,最高支持Java1.7版本(可以对任意形态的安卓原生应用、J2EE应用进行测试),TT将被测应用经过TT的一键编译后,就可以支持自动采集在测试过程中程序的运行的白盒信息,例如测试用例的执行路径、覆盖率、条件控制等并生成纯数字化的报表,可以优雅的和传统黑盒测试过程(手工测试、自动化测试)对接,支持分布式的测试和数据共享,让以往的移动黑盒测试变成透明化的白盒测试。TT专业测试工程师而设计,除了编译阶段外测试阶段的数据采集、分析以及报表展示均无需源代码。TT率先将引入的测试示波器概念,在实际测试的过程中,可以实时的看到从程序中各种逻辑体执行的速率、频率等信息,示波器可以用来精准的观察程序的运行特性,测试人员可以从传统的对被测应用的黑盒子测试(仅能看到功能的反馈无法看到程序内部的反馈)进而转换成为类似于对于硬件测试的示波器一样,能够对整个测试过程的关键测试数据进行实时的分析和查看。Instrumentation测试框架:Android测试环境的核心是一个Instrumentation框架,在这个框架下,你的测试应用程序可以精确控制应用程序。Instrumentation框架通过将主程序和测试程序运行在同一个进程来实现控制应用程序的功能。(代表性的测试工具:Robotium)http://img.blog.csdn.net/20150207193028791?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

Android Instrumentation 测试用例流程ThreadingTest与Intrumentation测试框架深度整合:http://img.blog.csdn.net/20150207193120611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

TT与Intrumentation整合框架TT在安卓Intrumentation框架下,对原有的测试库进行了封装,提供了TTInstrumentationTestCase2(该部分代码已经在GitHub上开源,地址为:https://github.com/threadingtest/ActivityInstrumentationTestCase2-for-ThreadingTest),用户只需要将原有的基于Instrumentation的测试基类的名字从InstrumentationTestCase2改为TTInstrumentationTestCase2,测试用例的测试逻辑都无需修改,即可以实现和TT示波器的对接,这样在运行测试用例的时候,就可以实现以下功能:1.TT示波器中会根据实际运行的测试用例,自动在TT的测试用例树中建立同名的测试用例。http://img.blog.csdn.net/20150207193200984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center             http://img.blog.csdn.net/20150207193218316?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

1.测试用例运行过程中,可以通过TT示波器获取运行指标的实时图形。http://img.blog.csdn.net/20150207193312295?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

2.每个测试用例对应的代码执行的白盒信息,会在TT中记录并且显示。http://img.blog.csdn.net/20150207193358783?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

3.当测试用例运行崩溃或者出现错误,通过TT的测试用例到代码的追溯功能中的函数执行序列和块序列可以给出出错结果分析。4..自动化测试运行完成后,在TT中可以获取全面的测试过程数字化分析图表。http://img.blog.csdn.net/20150207193504677?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGhyZWFkaW5ndGVzdDIwMTQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

ThreadingTest的API的接口开放:如果用户的自动化测试框架不是Instrumentation,如果想和TT进行深度集成,TT为Instrumentation框架提供的接口封装同样可以集成到其他的测试框架中,下面是使用TT开放式API的接口的说明:基于其它测试工具测试时,TT还开放了API接口进行整合,使原本的自动化操作不用进行任何的改变,通过TT的API接口连接,TT示波器获取其它测试工具的测试数据,并生成会对应测试用例自动生成测试用例和代码之间的关系以及函数覆盖率。目前开放的Java语言的API,直接使用Java语言作为脚本预言的单元测试工具,自动化测试工具都可以通过该接口与TT进行整合。这样就可以实现在运行测试用例的同时,在TT中记录用例所对应的代码执行逻辑信息。

fengye1113 发表于 2015-11-23 14:49:16

学习了,谢谢分享!
页: [1]
查看完整版本: ThreadingTest开放与安卓Instrumentation测试架构深度整合测试库源码(上)