ThreadingTest(简称TT)第一期是一款Android白盒测试工具,使用离线检测的方式,在保护用户源代码的基础上,运用插装、第五代覆盖率等技术,为开发工程师与测试工程师提供一套高效可量化、可视化的交流工具。对比其它测试工具,TT在自动化测试时,会对应测试用例自动生成测试用例和代码之间的关系以及函数覆盖率,并且以TT自带的双向追溯图进行展示,在整个自动化测试进行过程中,TT还会以示波器界面可视化的监控整个自动化测试中每时每刻获取的测试数据。
基于其它测试工具测试时,TT还开放了API接口进行整合,使原本的自动化操作不用进行任何的改变,通过TT的API接口连接,TT示波器获取其它测试工具的测试数据,并生成会对应测试用例自动生成测试用例和代码之间的关系以及函数覆盖率。目前开放的Java语言的API,直接使用Java语言作为脚本预言的单元测试工具,自动化测试工具都可以通过该接口与TT进行整合。这样就可以实现在运行测试用例的同时,在TT中记录用例所对应的代码执行逻辑信息。
演示:测试场景说明:
当使用其它测试工具进行自动化测试时,如果在测试过程中出现无法干预或正在进行的自动化测试过程时,需要对测试过程进行测试用例的区分,例如登录和退出,在运行一次自动化测试时,同时执行了这两个测试用例,就可以在程序中,添加这两个测试用例的开始和结束点,从而达到区分两个测试用例的目的。这样就可以通过TT来实现测试用例与源代码的关系的自动建立,例如本例子中将建立登陆操作对应的代码以及退出动作所对应的代码。
测试步骤:
以登录退出为例,若存在以下代码结构:
…
classHomePage { public void login(){ … // 登录的相关操作 }
public void logout(){ … // 退出的相关操作 } } |
1、将JavaParser-Android.jar包引入到工程中;
2、import com.zoa.writeToMQ.UnitTest;
3、添加开始结束标识。
在login函数的开始添加登录测试用例开始的标记,在函数结束前添加登录测试用例结束的标识;同样,在logout函数的开始和结束也可以添加相应的标识。添加后的代码为:
… import com.zoa.writeToMQ.UnitTest;
classHomePage { public void login(){ UnitTest testLogin = new UnitTest(“HomePage/login”); … // 登录的相关操作 testLogin.close(); }
public void logout(){ UnitTest testLogout = new UnitTest(“HomePage/logout”); … // 退出的相关操作 testLogout.close(); } } |
4、使用TT对程序进行插桩并测试,详见:http://www.threadingtest.com/xwiki/bin/view/ZOA%7C4.演示/Android+程序测试配置
手动使用TT测试基本原理:
为了让读者理解TT的接口调用,我们这里说明下在手动模式下TT是如何录制用例的代码执行逻辑与覆盖率信息的。
在TT中,区别测试用例是通过使用不同的测试用例Id进行划分的。在测试的开始添加测试开始标识并在结束添加结束标识,其目的为,开始标识会通过一个网络连接或USB连接,通过一个字符串从TT获取一个测试用例Id,然后通过先前TT对源代码的插桩,被测程序内部会不断地向TT示波器发送数据,并且会在消息中使用从TT获取到的测试用例Id,从而做到区分测试用例。
当调用发送结束标识后,发送的消息将会使用默认的测试用例Id,TT接收到后,会将收到的数据存储到默认勾选的测试用例中,从而不会与之前的测试用例混合。
例如在进行一个单元测试时,每一个单元测试对应一个测试用例,从而生成多个测试用例,过程如下:
1、打开TT实时监控示波器界面,勾选一个测试用例。
2、点击开始,然后运行测试。
运行时,数据波形图显示接收到的被测程序发送的数据。
3、测试结束后,点击停止,刷新测试用例树,即可出现划分的测试用例。
1、单元测试开始标记
com.zoa.writeToMQ.UnitTest.UnitTest(String unitName)
publicUnitTest(String unitName)
当调用这个构造函数时,即标志着一个单元测试的开始。创建一个新的单元测试的测试用例。
此函数会发送一个unitName到TT,由TT根据名称创建一个测试用例和测试类型。通信过程为一个阻塞过程,只有当通信结束或发生严重错,函数才会返回。
进行单元测试时,必须在TT端选中一个测试用例,生成的单元测试用例组会首先生成一个与选中的测试用例同名的测试类型,然后根据unitName生成的测试用例和测试类型都生成到该测试类型下。
参数:
unitName–测试用例名称,名称以“/”进行分割,最后一部分为测试用例名,前面部分为测试类型路径,如“ThreadingTest/Android/Unittest”其生成的测试用例结构为:
— ThreadingTest 测试类型
|— Android 测试类型
|—Unittest测试用例
2、单元测试结束标记
voidcom.zoa.writeToMQ.UnitTest.close() throws IOException
public void close() throws IOException
结束单元测试,一个单元测试只能调用一次该函数。
参数:
返回值:
相关推荐
【Android测试工具ThreadingTest测试CSDN开源版手机游戏--捕鱼达人实例】 ThreadingTest,简称TT,是一款强大的跨平台、多语言的智能测试工具,专为测试和辅助开发而设计。它集成了测试与开发之间的桥梁,利用创新...
ThreadingTest是一款由ZOA公司研发的专业针对Android应用的智能型测试工具,特别注重于线程和并发问题的检测。它采用白盒测试方法,通过前端分析器和后端结果分析器的分离技术,支持多语言编译器级分析和多维度测试...
在Android开发过程中,HTTP接口测试是一项重要的任务,用于验证服务器端API的功能以及客户端与服务器之间的数据交换。"android HTTP接口测试软件"是一个专为Android平台设计的小型应用程序,旨在简化这个过程。它...
大众点评API是大众点评网开放给开发者的服务接口,允许开发者通过这些接口获取和操作大众点评平台上的数据,如商家信息、用户评论、优惠活动等。API通常分为基础接口和高级接口,基础接口包括登录授权、搜索、商户...
【Android测试工具ThreadingTest测试CSDN开源版手机游戏】是针对Android应用程序进行智能测试的一款强大工具。ThreadingTest,简称"TT",具备跨平台、多语言、集测试与辅助开发于一体的特点,旨在提高测试效率和质量...
在介绍ThreadingTest的简单使用指南之前,我们首先要理解ThreadingTest是一个专门用于多线程测试的工具,它能够帮助开发者对多线程程序进行有效的测试和调试。这一工具在多线程程序设计中显得尤为重要,因为多线程...
Android API合集是Android开发者的重要参考资料,它包含了所有Android平台的接口、类库以及开发工具的详细说明。这个合集提供了中英文两个版本,对于中国开发者来说尤其方便,因为中文版可以帮助开发者更准确地理解...
"android-serialport-api"是一个用于在Android设备上实现串口通信的开源库,它为开发者提供了便利的API接口来读写串行数据。在这个项目中,开发者基于这个库进行了功能扩展,以满足更多实际应用的需求。 首先,添加...
flutter 学习案例,接口使用玩 Android 开放的 api,作为新手入门训练代码案例,耗时大概 4 个月【业余时间】,已经完成了基本的功能。努力打造一个体验好的 flutter 版本的玩 android 客户端!
本示例主要讲解如何在Xamarin.Android项目中调用Web API,实现数据的增删改查功能,并通过ListView展示动态数据。以下是详细的知识点解析: 1. **Xamarin.Android基础**: Xamarin.Android是Xamarin的一部分,它...
综上所述,Android中文API是开发者不可或缺的工具,它不仅提供了丰富的API接口,还包含详细的使用教程和示例,助力开发者快速掌握Android开发技能,创造出高质量的应用程序。随着Android平台的不断演进,保持对API的...
- **NDK7**:对应API Level 14(Android 4.0.1),支持更多API接口。 #### 四、总结 通过对Android SDK、NDK以及API Level之间对应关系的梳理,我们可以更加清晰地理解这些核心组件如何协同工作,共同推动Android...
CANportTool是这样一个特定的测试工具,它允许开发者或技术人员检查和分析Android设备通过CAN接口与其他CAN设备的交互。这个工具对于汽车电子、工业自动化或者任何依赖CAN网络的系统集成和故障排查至关重要。 源码...
基于这些信息,我们可以了解到SimpleWebClient是一个针对初级或中级Android开发者的Web服务器测试工具,特别适合于快速验证基于JSON的API接口。然而,对于那些需要处理XML数据或者需要高度自定义请求参数的开发者来...
总结来说,"gpio-android-api"是一个关于Android平台上GPIO接口使用的教程或库,涵盖了从驱动开发到Java应用层的完整流程,特别是针对LED控制的应用。通过学习这个API,开发者可以掌握如何在Android设备上进行硬件...
Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android API 中文文档 Android Android API 中文文档 中文文档Android API ...
百度地图API接口是开发者们用于在应用程序中集成地图功能的重要工具,它提供了丰富的功能,让开发者能够轻松地创建具有地图展示、定位、路径规划等能力的应用。这个类库适用于Android平台,版本为1.3.3,旨在帮助...
Monkeyrunner是android SDK中自带的自动化测试工具。该文档为monkeyrunner API的介绍文档