应用程序的测试方法、设备及可编程设备技术

技术编号:17047701 阅读:30 留言:0更新日期:2018-01-17 17:42
本发明专利技术公开了一种应用程序的测试方法、设备及可编程设备。该测试方法包括:响应于目标应用程序的测试请求,触发目标应用程序在预设的测试条件下运行,输出目标代码的执行信息,其中,目标应用程序中包含用于在目标应用程序运行时输出目标代码的执行信息的测试代码;根据目标代码的执行信息,获得目标应用程序的测试结果。根据本发明专利技术,可以提高测试效率。

Test methods, devices, and programmable devices for applications

The invention discloses a test method, a device and a programmable device for an application. The test method comprises the target in response to the application of the test request, trigger the target application running on the test conditions of presupposition, output target code execution information, wherein the target application contains test code for output target code in the target application runtime execution information; according to the target code execution information. Get the test results of the target application. According to the invention, the test efficiency can be improved.

【技术实现步骤摘要】
应用程序的测试方法、设备及可编程设备
本专利技术涉及计算机
,更具体地,涉及一种应用程序的测试方法、设备及可编程设备。
技术介绍
随着计算机技术的发展,应用程序作为可以完成某项或多项功能的计算机程序(或可执行文件),其应用范围的广泛性不言而喻。特别是在移动互联网技术飞速发展的今天,随着安卓设备的日益普及,APK(AndroidPackage,安卓安装包)作为可在安卓系统中执行安装的应用程序,是使用安卓设备必不可少的。而众所周知,在应用程序开发的过程中,测试是不可或缺的。目前业内通常对应用程序的测试,都少不了白盒测试。白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,是对应用程序的内部逻辑结构即所有逻辑路径进行测试,获得测试结果。其中,测试结果中的代码覆盖率(即源代码被测试的比例和程度)是衡量白盒测试质量的一个重要标准。代码覆盖率通常是从代码的class(类)、function(函数)、block(块)、line(行)等几个维度来衡量。通过代码覆盖率,可以判断在白盒测试中应用程序的源代码的主要逻辑结构是否被测试、是否存在未被测试的代码逻辑以及代码是否存在冗余,还可以分析白盒测试的测试场景或测试用例是否设计完备以满足测试需求。因此,获取代码覆盖率在白盒测试中至关重要。尤其是应用程序开发迅捷化已成大势所趋的当下,在开发过程中快速测试获取已完成编写的源代码的代码覆盖率,尤为重要。但是,专利技术人发现,目前在测试中获取代码覆盖率的主流方案,都是通过针对测试需求的特定场景编写自动化测试用例对源代码进行测试,以获取代码覆盖率。测试效率较低,无法满足应用程序开发迅捷化的需求。还需要投入较高的测试人力成本。并且,一旦源代码进行细微改动或者测试需求改变,就需要重现编写测试用例,进一步降低测试效率。带来额外的研发成本。因此,专利技术人认为有必要对上述现有技术中存在的技术问题进行改进。
技术实现思路
本专利技术的一个目的是提供一种用于测试应用程序的新技术方案。根据本专利技术的第一方面,提供了一种应用程序的测试方法,包括:响应于目标应用程序的测试请求,触发所述目标应用程序在预设的测试条件下运行,输出目标代码的执行信息,其中,所述目标应用程序中包含用于在目标应用程序运行时输出目标代码的执行信息的测试代码;根据所述目标代码的执行信息,获得所述目标应用程序的测试结果。在一个实施例中,所述目标应用程序中包含第一函数以及可供第一函数调用的第二函数,其中所述第一函数与第二函数采用不同的编程语言编写,所述目标代码包含第一函数的代码以及第二函数的代码。在另一个实施例中,所述测试结果为目标应用程序的代码覆盖率。可选地,所述预设的测试条件为,在预设的测试时间内,随机生成若干个使得所述目标应用程序运行于对应的测试场景下的测试事件。又可选地,所述预设的测试条件为,在预设的测试时间内,使得所述目标应用程序在预定的测试场景下,响应外部的操作而运行。在一个实施例中,所述测试代码包含在所述目标应用程序的源代码中。在另一个实施例中,对所述目标应用程序的源代码进行编译时,插入所述测试代码。根据本专利技术的第二方面,提供一种应用程序的测试设备,触发运行单元,用于响应于目标应用程序的测试请求,触发所述目标应用程序在预设的测试条件下运行,输出目标代码的执行信息,其中,所述目标应用程序中包含用于在目标应用程序运行时输出目标代码的执行信息的测试代码;结果获得单元,用于根据所述目标代码执行信息,获得所述目标应用程序的测试结果。在一个实施例中,所述目标应用程序中包含第一函数以及可供第一函数调用的第二函数,其中所述第一函数与第二函数采用不同的编程语言编写,所述目标代码包含第一函数的代码以及第二函数的代码。在另一个实施例中,所述测试结果为目标应用程序的代码覆盖率。可选地,所述预设的测试条件为,在预设的测试时间内,随机生成若干个使得所述目标应用程序运行于对应的测试场景下的测试事件。又可选地,所述预设的测试条件为,在预设的测试时间内,使得所述目标应用程序在预定的测试场景下,响应外部的操作而运行。在一个实施例中,所述测试代码包含在所述目标应用程序的源代码中。在另一个实施例中,对所述目标应用程序的源代码进行编译时,插入所述测试代码。根据本专利技术的第三方面,提供一种可编程设备,包括存储器和处理器,其中,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行本专利技术的第二方面提供的任意一项的应用程序的测试方法。本专利技术的专利技术人发现,在现有技术中,尚未存在一种应用程序的测试方法及设备,可以无需针对不同测试应用场景编写测试用例就能获取完备的测试结果。因此,本专利技术所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本专利技术是一种新的技术方案。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。图1是显示可用于实现本专利技术的实施例的计算系统的硬件配置的例子的框图。图2示出了本专利技术实施例中提供的应用程序的测试方法的流程图。图3是本专利技术实施例的应用程序的测试方法的例子示意图一。图4是本专利技术实施例的应用程序的测试方法的例子示意图二。图5是本专利技术实施例的应用程序的测试方法的例子示意图三。图6示出了本专利技术实施例中提供的应用程序的测试设备的框图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。<硬件配置>图1是示出可以实现本专利技术的实施例的计算机系统1000的硬件配置的框图。如图1所示,计算机系统1000包括计算机1110。计算机1110包括经由系统总线1121连接的处理单元1120、系统存储器1130、固定非易失性存储器接口1140、移动非易失性存储器接口1150、用户输入接口1160、网络接口1170、视频接口1190和输出外围接口1195。系统存储器1130包括ROM(只读存储器)和RAM(随机存取存储器)。BIOS(基本输入输出系统)驻留在ROM内。操作系统、应用程序、其它程序模块和某些程序数据驻留在RAM内。诸如硬盘的固定非易失性存储器连接到固定非易失性存储器接口1140。固定非易失性存储器例如可以存储操作系统、应用程序、其它程序模块和某些程序数据。诸如软盘驱动器和CD-ROM驱动器的移动非易失性存储器连接到移动非易失性存储器接口1150。例如,软盘可以被插入到软盘驱动器中,以及CD(光盘)可以被本文档来自技高网
...
应用程序的测试方法、设备及可编程设备

【技术保护点】
一种应用程序的测试方法,其特征在于,包括:响应于目标应用程序的测试请求,触发所述目标应用程序在预设的测试条件下运行,输出目标代码的执行信息,其中,所述目标应用程序中包含用于在目标应用程序运行时输出目标代码的执行信息的测试代码;根据所述目标代码的执行信息,获得所述目标应用程序的测试结果。

【技术特征摘要】
1.一种应用程序的测试方法,其特征在于,包括:响应于目标应用程序的测试请求,触发所述目标应用程序在预设的测试条件下运行,输出目标代码的执行信息,其中,所述目标应用程序中包含用于在目标应用程序运行时输出目标代码的执行信息的测试代码;根据所述目标代码的执行信息,获得所述目标应用程序的测试结果。2.根据权利要求1所述的方法,其特征在于,所述目标应用程序中包含第一函数以及可供第一函数调用的第二函数,其中所述第一函数与第二函数采用不同的编程语言编写,所述目标代码包含第一函数的代码以及第二函数的代码。3.根据权利要求1所述的方法,其特征在于,所述测试结果为目标应用程序的代码覆盖率。4.根据权利要求1-3任意一项所述的方法,其特征在于,所述预设的测试条件为,在预设的测试时间内,随机生成若干个使得所述目标应用程序运行于对应的测试场景下的测试事件。5.根据权利要求1-3任意一项所述的方法,其特征在于,所述预设的测试条件为,在预设的测试时间内,使得所述目标应用程序在预定的测试场景下,响应外部的操作而运行。6.根据权利要求1-3任意一项所述的方法,其特征在于,所述测试代码包含在所述目标应用程序的源代码中。7.根据权利要求1-3任意一项所述的方法,其特征在于,还包括,对所述目标应用程序的源代码进行编译时,插入所述测试代码。8.一种应用程序的测试设备,其特征在于,包括:触发运行单元,用于响应于目标应用程序的测试请求,触发所述目标应用程序在预设的测...

【专利技术属性】
技术研发人员:曾磊
申请(专利权)人:广州市动景计算机科技有限公司
类型:发明
国别省市:广东,44

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

1