数据测试方法、装置及电子设备制造方法及图纸

技术编号:17304382 阅读:27 留言:0更新日期:2018-02-18 22:21
本发明专利技术实施例提供一种数据测试方法、装置及电子设备,涉及测试技术领域。所述数据测试方法包括:使用MVP架构将Instrumentation Test测试工程划分为Model层、View层和Presenter层;在Java虚拟机上运行对Model层和Presenter层的测试用例的测试,得到Model层的测试用例的测试通过率和覆盖率的第一数据文件,以及Presenter层的测试用例的测试通过率和覆盖率的第二数据文件,其中,第一数据文件为ec文件,第二数据文件为ec文件;在Dalvik/ART虚拟机上运行对View层的测试用例的测试,得到View层的测试用例的测试通过率和覆盖率的第三数据文件,第三数据文件为exec文件;将第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据。使用该数据测试方法、装置及电子设备,能够提高测试效率。

Data testing methods, devices and electronic equipment

The embodiment of the invention provides a data testing method, device and electronic equipment, which relates to the field of test technology. Including the data test method: use the MVP schema to Instrumentation Test test project is divided into Model layer, View layer and Presenter layer; test run of Model layer and Presenter layer testing on the Java virtual machine, the first data rate and coverage rate obtained by the test case Model layer test, and second data files, rate and coverage of the test cases through Presenter layer test wherein the first data file for the EC file, second data files for the EC file; run the test case of View layer on the Dalvik/ART virtual machine test data file, third rate and coverage rate obtained by test cases for the View layer third test data files for the exec file; the first second data files, data files and third data files are merged to generate test report data. Using this data test method, device and electronic equipment, the test efficiency can be improved.

【技术实现步骤摘要】
数据测试方法、装置及电子设备
本专利技术涉及测试
,具体而言,涉及一种数据测试方法、装置及电子设备。
技术介绍
在应用程序开发过程中,程序测试是程序正式提交给测试人员进行大规模功能测试前的一个重要且必要的环节。所谓程序测试,通常指对程序中最小可测试单元进行逻辑检查和验证,待测试通过后方可提交程序至测试部门展开下一阶段的测试工作。经专利技术人研究发现,现有的程序测试方案较为繁复,测试效率有待提高。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种数据测试方法、装置及电子设备,以改善现有技术中测试效率有待提高的问题。本专利技术较佳实施例提供了一种测试方法,包括:使用MVP架构将InstrumentationTest测试工程划分为Model层、View层和Presenter层;在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试,得到所述Model层的测试用例的测试通过率和覆盖率的第一数据文件,以及所述Presenter层的测试用例的测试通过率和覆盖率的第二数据文件,其中,所述第一数据文件为ec文件,所述第二数据文件为ec文件;在Dalvik/ART虚拟机上运行对所述View层的测试用例的测试,得到所述View层的测试用例的测试通过率和覆盖率的第三数据文件,所述第三数据文件为exec文件;将所述第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据。可选地,所述Model层、View层和Presenter层的测试用例的测试采用并发模式运行。可选地,所述方法还包括:采取布尔逻辑插桩的方式动态控制所述Model层、View层和Presenter层的测试用例的测试进程。可选地,采取布尔逻辑插桩的方式动态控制所述Model层、View层和Presenter层的测试用例的测试进程的步骤,包括:定义插桩布尔函数公式:S(P1,P2...Pm)=P1(xt1,x12,...x1n....)^P2(x21,x22,...x2n....)^......Pm(xm1,xm2,...xmn....)其中,S为执行测试通过率估值;P为对应组件测试用例集合测试布尔函数,取值范围为(0,1];x为测试用例执行通过率;m为大于2的整数,n为大于2的整数;分组件测试函数集合分别动态计算所述Model层、View层和Presenter层测试用例的测试通过率估值S;根据所述测试通过率估值S控制测试进程,如果S=1,则继续执行下一个测试;如果S=0,则终止所有测试;如果0<S<1,则跳过当前测试,继续执行下一个测试。可选地,对所述Model层的测试用例的测试在所述测试用例的编译阶段运行,所述第一数据文件在编译完成时得到;所述Presenter层和View层的测试用例的测试在所述测试用例编译完成并生成安装包后进行。可选地,在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试的步骤,包括:在进行预编译之前,在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试;在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试时,所述方法还包括:屏蔽依赖AndroidSDK源码的代码片段。可选地,屏蔽依赖AndroidSDK源码的代码片段的步骤,包括:将依赖AndroidSDK源码的代码片段单独封装至携带有native前缀的函数中;使用@ignore注解native前缀函数,在运行阶段自动绕过@ignore注解的函数;添加常量文件,若对有返回值的native函数绕过不执行,则读取常量文件中的默认值。可选地,将所述第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据的步骤,包括:将所述第一数据文件和第二数据文件转换为第一Excel表格文件;将所述第三数据文件转换为第二Excel表格文件;对所述第一Excel表格文件和第二Excel表格文件中的数据进行合并和计算生成报告数据,所述报告数据中包括通过率和覆盖率。本专利技术另一较佳实施例提供了一种数据测试装置,包括:测试工程划分模块,用于使用MVP架构将InstrumentationTest测试工程划分为Model层、View层和Presenter层;第一测试执行模块,用于在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试,得到所述Model层的测试用例的测试通过率和覆盖率的第一数据文件,以及所述Presenter层的测试用例的测试通过率和覆盖率的第二数据文件,其中,所述第一数据文件为ec文件,所述第二数据文件为ec文件;第二测试执行模块,用于在Dalvik/ART虚拟机上运行对所述View层的测试用例的测试,得到所述View层的测试用例的测试通过率和覆盖率的第三数据文件,所述第三数据文件为exec文件;报告生成模块,用于将所述第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据。本专利技术另一较佳实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的数据测试方法。本专利技术又一较佳实施例提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述的数据测试方法。本专利技术实施例提供的数据测试方法、装置及电子设备,使用MVP架构模式将InstrumentationTest测试工程进行分层,分为Model层、View层和Presenter层,Model层和Presenter层的测试用例的测试在Java虚拟机上运行,而View层的测试用例的测试在Dalvik/ART虚拟机上运行,通过将测试工程分层并在不同的虚拟机上测试,能够提高覆盖率和成功率测试报告的输出效率,实现对测试用例的高效测试。进一步地,本专利技术实施例中,采用并发模式运行Model层、View层和Presenter层三层的测试用例,采取布尔逻辑插桩的方式动态控制测试进程,从而进一步提高了测试效率,进而快速输出测试覆盖率和成功率测试报告。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术较佳实施例提供的一种电子设备10的方框示意图。图2为本专利技术较佳实施例提供的一种数据测试方法的流程图。图3为本专利技术较佳实施例提供的数据测试方法的另一流程图。图4为本专利技术较佳实施例提供的数据测试方法的又一流程图。图5为一实施方式中图2所示步骤S24包括的子步骤的示意图。图6为本专利技术较佳实施例提供的一种数据测试装置20的模块框图。图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-数据测试装置;21-测试工程划分模块;22-第一测试执行模块;23-第二测试执行模块;24-报告生成模块。具体实施方式经专利技术人调研发现,在Android开发过本文档来自技高网...
数据测试方法、装置及电子设备

【技术保护点】
一种数据测试方法,其特征在于,包括:使用MVP架构将Instrumentation Test测试工程划分为Model层、View层和Presenter层;在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试,得到所述Model层的测试用例的测试通过率和覆盖率的第一数据文件,以及所述Presenter层的测试用例的测试通过率和覆盖率的第二数据文件,其中,所述第一数据文件为ec文件,所述第二数据文件为ec文件;在Dalvik/ART虚拟机上运行对所述View层的测试用例的测试,得到所述View层的测试用例的测试通过率和覆盖率的第三数据文件,所述第三数据文件为exec文件;将所述第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据。

【技术特征摘要】
1.一种数据测试方法,其特征在于,包括:使用MVP架构将InstrumentationTest测试工程划分为Model层、View层和Presenter层;在Java虚拟机上运行对所述Model层和Presenter层的测试用例的测试,得到所述Model层的测试用例的测试通过率和覆盖率的第一数据文件,以及所述Presenter层的测试用例的测试通过率和覆盖率的第二数据文件,其中,所述第一数据文件为ec文件,所述第二数据文件为ec文件;在Dalvik/ART虚拟机上运行对所述View层的测试用例的测试,得到所述View层的测试用例的测试通过率和覆盖率的第三数据文件,所述第三数据文件为exec文件;将所述第一数据文件、第二数据文件和第三数据文件进行合并,生成测试报告数据。2.根据权利要求1所述的数据测试方法,其特征在于,所述Model层、View层和Presenter层的测试用例的测试采用并发模式运行。3.根据权利要求1所述的数据测试方法,其特征在于,所述方法还包括:采取布尔逻辑插桩的方式动态控制所述Model层、View层和Presenter层的测试用例的测试进程。4.根据权利要求3所述的数据测试方法,其特征在于,采取布尔逻辑插桩的方式动态控制所述Model层、View层和Presenter层的测试用例的测试进程的步骤,包括:定义插桩布尔函数公式:S(P1,P2...Pm)=P1(x11,x12,...x1m....)^P2(x21,x22,...x2m....)^……Pm(xm1,xm2,...xmm....)其中,S为执行测试通过率估值;P为对应组件测试用例集合测试布尔函数,取值范围为(0,1];x为测试用例执行通过率;m为大于2的整数,n为大于2的整数;分组件测试函数集合分别动态计算所述Model层、View层和Presenter层测试用例的测试通过率估值S;根据所述测试通过率估值S控制测试进程,如果S=1,则继续执行下一个测试;如果S=0,则终止所有测试;如果0<S<1,则跳过当前测试,继续执行下一个测试。5.根据权利要求1所述的数据测试方法,其特征在于,对所述Model层的测试用例的测试在所述测试用例的编译阶段运行,所述第一数据文件在编译完成时得到;所述Presenter层和View层的测试用例的测试在所述测试用例编译完成并生成安装包后进行。6.根据权...

【专利技术属性】
技术研发人员:尹成陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1