CN106294182B - 一种确定众测反馈有效性的方法、测试设备及系统 - Google Patents

一种确定众测反馈有效性的方法、测试设备及系统 Download PDF

Info

Publication number
CN106294182B
CN106294182B CN201610716388.4A CN201610716388A CN106294182B CN 106294182 B CN106294182 B CN 106294182B CN 201610716388 A CN201610716388 A CN 201610716388A CN 106294182 B CN106294182 B CN 106294182B
Authority
CN
China
Prior art keywords
test
benchmark
executed
function
feedback
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610716388.4A
Other languages
English (en)
Other versions
CN106294182A (zh
Inventor
蒋艳军
潘金赤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610716388.4A priority Critical patent/CN106294182B/zh
Publication of CN106294182A publication Critical patent/CN106294182A/zh
Application granted granted Critical
Publication of CN106294182B publication Critical patent/CN106294182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种确定众测反馈有效性的方法,该方法应用于众测系统,众测系统包括测试设备和多个用户设备,每个用户设备上安装有众测应用,该方法包括:通过众测应用向每个用户设备推送测试任务,接收参与测试的用户设备发送的测试任务的测试反馈,测试反馈包括带有被执行标记的测试用例;从带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据数量和预先获知的基准测试用例的总数,确定测试反馈所执行的基准测试用例的覆盖率;当所执行的基准测试用例的覆盖率大于第一阈值时,确定测试反馈为有效的测试反馈。本发明实施例提供的方案,可以先对该测试反馈进行分析,确定是有效反馈后再采用,从而提高了测试的效率。

Description

一种确定众测反馈有效性的方法、测试设备及系统
技术领域
本发明涉及互联网技术领域,具体涉及一种确定众测反馈有效性的方法、测试设备及系统。
背景技术
众测是一种新兴的测试方法,就是测试任务发布方通过测试平台发布测试任务,用户可以在移动终端上安装测试应用(APP),然后在该测试应用上查看测试任务,用户可以按照要求执行测试任务,然后反馈测试结果给测试平台,测试平台可以根据用户的测试结果进行分析,当然,测试平台会给该用户赠送积分或者其他奖励。
众测可以利用庞大的外网用户和丰富的机型,弥补自动化测试的一些不足。但是目前的众测方案针对所有的测试反馈都会进行分析,并给予相应的赠送,然后再由人工筛选可用的测试反馈,导致测试的效率低下。
发明内容
为解决现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供一种确定众测反馈有效性的方法,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。本发明实施例还提供了相应的测试设备及系统。
本发明第一方面提供一种确定众测反馈有效性的方法,所述方法应用于众测系统,所述众测系统包括测试设备和多个用户设备,每个用户设备上安装有众测应用,所述方法包括:
所述测试设备通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
所述测试设备接收参与测试的用户设备发送的所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
所述测试设备从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈。
本发明第二方面提供一种测试设备,所述测试设备应用于众测系统,所述众测系统还包括多个用户设备,每个用户设备上安装有众测应用,所述测试设备包括:
发送单元,用于通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
接收单元,用于从参与测试的用户设备获取所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
第一确定单元,用于从所述接收单元接收的所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
第二确定单元,用于当所述第一确定单元确定的所述所执行的基准测试用例的覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
与现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供一种确定众测反馈有效性的方法,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中众测系统的一实施例示意图;
图2是本发明实施例中确定众测反馈有效性的方法的一实施例示意图;
图3是本发明实施例中众测系统的另一实施例示意图;
图4是本发明实施例中确定众测反馈有效性的方法的另一实施例示意图;
图5是本发明实施例中测试设备的一实施例示意图;
图6是本发明实施例中测试设备的另一实施例示意图;
图7是本发明实施例中测试设备的另一实施例示意图;
图8是本发明实施例中测试设备的另一实施例示意图。
具体实施方式
本发明实施例提供一种确定众测反馈有效性的方法,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。本发明实施例还提供了相应的测试设备及系统。以下分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
众测:众测是一款基于众包概念的平台,通过大众的测试力量和测试资源,完成对产品的体验和测试。众测由三个方面组成:众测需求方、众测测试人员、众测平台运营方。众测需求方根据实际需求制定众测任务,并设定任务的执行步骤和预期结果。众测测试人员按照任务执行步骤参与众测任务,完成任务后提交测试反馈。众测平台运营方负责平台运营,包括任务下发、积分奖励赠送以及礼品兑换等。众测平台旨在较短的时间内,完成对产品的测试,并且收集用户反馈的产品问题和建议,以使被测产品能够尽早发现更多问题,更好的提升产品的体验。众测平台在为众测需求方提供发布任务的广阔空间的同时,也为众测测试人员创造了能将知识、智慧、创意等转化商业价值和社会价值的机会。
众测测试人员:测试任务的参与执行者,也称为众测用户。
众测应用就是用于在用户设备侧展示测试任务的应用。
众测活动:当众测需求方需要针对某个版本发布众测任务前,需要创建众测活动。众测活动是测试任务的集合,每个众测活动可以包含多个测试任务。
测试任务:测试任务是测试用例的集合,每个测试任务可以包含多个测试用例。众测用户只有报名了测试任务后,才能执行该测试任务下面的测试用例。
测试用例:众测需求方根据测试和产品体验的需要,制作特定的测试用例。测试用例包含执行步骤和预期结果。
测试用例包含测试函数,可以通过代码插桩的方式确定该测试函数被执行,从而确定测试任务的被执行情况。
代码插桩:在测试函数的入口处写入特定的log函数,实现代码插桩。当众测用户执行任务时,对应功能的测试函数中就会打印插桩标记,也就是log标记。从而可以根据用户执行后的log函数判断众测用户是否有按照任务要求执行任务。
图1为本发明实施例所提供的众测系统的一实施例示意图。
如图1所示,本发明实施例所提供的众测系统包括多个用户设备10、网络20和测试设备30,多个用户设备10和测试设备30通过网络20通信连接,每个用户设备上安装有众测应用。
测试设备30通过所述众测应用向所述每个用户设备10推送测试任务,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
测试设备30接收参与测试的用户设备10发送的所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
测试设备30从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备30确定所述测试反馈为有效的测试反馈。
其中,可以使用基准测试用例被执行的数量与基准测试用例的总数的比值作为测试反馈所执行的基准测试用例的覆盖率。第一阈值可以是80%、90%等数值,对该第一阈值的取值不做限定,可以根据需求设置。
与现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供的众测系统,测试设备可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。而且,确定有小的测试反馈后,可以只针对有效的测试反馈进行积分赠送或者其他形式的奖励,从而节省了成本。
可选地,测试用例包括测试函数,基准测试用例包括基准测试函数,被执行过的测试函数和被执行过的基准测试函数都带有插桩标记,所述基准测试函数为与测试目标对应的测试函数;
所述测试设备从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率,可以包括:
所述测试设备确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
所述当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈,可以包括:
当基准函数覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈。
本发明实施例中,可以通过log插桩标记确定被执行的基准测试函数的个数,然后计算该被执行的基准测试函数的个数和预先获知的基准测试函数的总数的比值,从而确定基准函数覆盖率。当通过基准函数覆盖率确定测试反馈为有效反馈时,则可以采用,并向该参与测试的用户设备发送积分或者其他奖励。
可选地,所述测试设备接收参与测试的用户设备发送的所述测试任务的测试反馈之前,所述方法还可以包括:
所述测试设备接收所述每个用户设备发送的所述测试任务的测试反馈样本;
所述测试设备从所述测试反馈样本中统计每个测试函数被执行的次数;
所述测试设备从被执行次数超过第二阈值的测试函数中确定基准测试函数集合,所述基准测试函数集合中的基准测试函数的数量与所述基准测试函数的总数相等。
本发明实施例中的基准测试函数可以是预先设置好的,但是预先设置会给任务开发人员增加很多工作量,因此,本发明实施例所提供的方案中,基准测试函数可以是测试设备自动确定的。自动确定的方案可以是先收集一定数量的所述测试任务的测试反馈样本,从所述测试反馈样本中统计每个测试函数被执行的次数,然后从被执行次数超过第二阈值的测试函数中确定基准测试函数,组成基准测试函数集合,要确定的基准测试函数的数量可以是预先配置好的,用N表示,N的取值例如:20个、30个或50个等,然后测试设备按照该预置的数量进行选择,可以是从被执行次数超过第二阈值的测试函数中选择被执行次数排在前N的测试函数作为基准测试函数,组成基准测试函数集合。
本发明实施例中,参阅图2,基准测试函数的确定和基准函数覆盖率的计算过程可以是:
100、测试活动开始。
101、是否有新的测试反馈,若是,执行102,若否,执行106。
102、统计测试反馈中,每个测试函数被执行的次数,被执行一次,就在该测试函数的统计次数staticsTimes加1。
被执行的函数会带有插桩标记,可以通过插桩标记来确定测试函数是否被执行。
103、确定测试函数的统计次数staticsTimes是否大于最小统计次数minStaticsTimes,若是,执行104,若否,继续统计。
minStaticsTimes表示预先设定的最小统计次数,也就是第二阈值,避免统计的统计次数过少,导致确定的基准测试函数不准确。
104、从staticsTimes>minStaticsTimes的测试函数中确定基准测试函数。
105、针对该测试反馈,还可以确定该测试反馈中基准测试函数覆盖率。
106、测试活动是否结束,若是,则执行107,若否,则执行101。
可选地,本发明实施例提供的确定众测反馈有效性的方法的另一实施例中,所述方法还可以包括:
所述测试设备从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数;
所述测试设备根据所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数。
本发明实施例中,基准测试函数并不是一旦确定就不会发生变化的,考虑到上述实施例中,基准测试函数也是通过预先接收的测试反馈确定的,所以可以通过持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数,根据所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数。
其中,所述测试设备根据所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数,可以包括:
所述测试设备根据所述更新的被执行的次数,从被执行次数超过所述第二阈值的测试函数中重新确定所述基准测试函数集合中的基准测试函数。
由图2所示的过程可以看出,如果测试活动不结束,就会持续统计测试函数的staticsTimes,因此,可以根据持续对测试函数的统计次数,更新基准测试函数,这样会进一步提高基准测试函数的准确度。
可选地,本发明实施例提供的确定众测反馈有效性的方法的另一实施例中,所述测试设备从被执行次数超过第二阈值的测试函数中确定基准测试函数集合,可以包括:
所述测试设备从被执行次数超过所述第二阈值的测试函数中确定被执行比率高于第三阈值的测试函数,并将所述被执行比率高于第三阈值的测试函数添加到基准测试函数集合,所述被执行比率为被执行次数与测试反馈总数量的比值。
本发明实施例中,确定基准测试函数的过程除了选择前述所描述的取前N外,还可以是通过占比的方式来确定的,当某个测试函数的staticsTimes>minStaticsTimes时,就计算该测试函数的被执行比率,被执行比率=被执行次数/测试反馈总数量,若被执行比率大于topBasicRate,则确定该测试函数为基准测试函数,该topBasicRate可以为第三阈值,取值可以预先配置。
如果满足上述被执行比率条件的基准函数个数一直小于基准测试函数的最小个数minBasicCount,则降低topBasicRate的值,令topBasicRate=topBasicRate-5,直到基准函数个数>=minBasicCount。
可选地,本发明实施例提供的确定众测反馈有效性的方法的另一实施例中,所述基准测试函数包括接口基准测试函数和目标相关性基准测试函数,
所述测试设备确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率,可以包括:
所述测试设备确定所述目标相关性基准测试函数的个数和所述接口基准测试函数的个数;
所述测试设备根据如下公式确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
R=(N1*W1+N2*W2)/N;
其中,R为基准函数覆盖率、N1为目标相关性基准测试函数的个数、W1为第一权重值、N2为接口基准测试函数的个数、W2为第二权重值和N为基准测试函数的总数,所述第一权重值大于所述第二权重值。
本发明实施例中,因为测试反馈中包括一些接口函数,接口函数通常都会被执行,所以,在确定基准测试函数时,可以剔除这些接口函数,也可以将这些接口函数算到基准测试函数中,如果要将接口函数算到基准测试函数中,则需要满足:基准测试函数的总个数>=minBasicCount+commonCount,其中commonCount为接口函数。
但被算作基准测试函数的接口基准测试函数与任务目标的相关性很小,所以在计算测试反馈所执行的基准测试函数的基准函数覆盖率时,可以将接口基准测试函数的权重设置的小一些。例如:W1=1,W2=0.8。
以上是对本发明实施例中确定众测反馈有效性、基准测试函数确定、基准测试函数更新的描述,下面再结合图3介绍本发明实施例的众测系统。
如图3所示,众测系统包括用户设备、数据库、测试设备和开发设备,开发设备可以是开发人员所使用的个人计算机,用户设备可以有多个。
开发设备将开发人员开发出的测试任务上传到测试设备,测试设备将测试任务推送到各个用户设备,用户设备上展示测试任务页面,众测用户在用户设备上执行测试任务,然后用户设备提交测试反馈到数据库,数据库可以作为测试设备的缓存,因为测试设备上可能有很多测试任务,为例有序的分析测试反馈,测试设备可以按照反馈顺序从数据库中提取测试反馈进行前述实施例所描述的确定众测反馈有效性、基准测试函数确定、基准测试函数更新等方案。
以上是对众测系统的描述,下面结合图4介绍本发明实施例中的确定众测反馈有效性的方法,该方法应用于众测系统,所述众测系统包括测试设备和多个用户设备,每个用户设备上安装有众测应用。
如图4所示,本发明实施例提供的确定众测反馈有效性的方法的一实施例包括:
201、测试设备通过所述众测应用向所述每个用户设备推送测试任务。
其中,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例。
202、用户设备执行测试任务。
203、测试设备接收参与测试的用户设备发送的所述测试任务的测试反馈。
所述测试反馈包括带有被执行标记的测试用例。
204、测试设备从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量。
205、测试设备根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率。
206、当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈。
与现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供一种确定众测反馈有效性的方法,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。而且,确定有小的测试反馈后,可以只针对有效的测试反馈进行积分赠送或者其他形式的奖励,从而节省了成本。
确定众测反馈有效性的方法的其他可选实施例都可以参阅众测系统部分的相关描述进行理解,本处不再重复赘述。
下面结合图5介绍本发明实施例中的测试设备,该测试设备应用于众测系统,所述众测系统还包括多个用户设备,每个用户设备上安装有众测应用。
如图5所示,本发明实施例提供的测试设备30的一实施例包括:
发送单元301,用于通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
接收单元302,用于从参与测试的用户设备获取所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
第一确定单元303,用于从所述接收单元301接收的所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
第二确定单元304,用于当所述第一确定单元303确定的所述所执行的基准测试用例的覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
与现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供的测试设备,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。而且,确定有小的测试反馈后,可以只针对有效的测试反馈进行积分赠送或者其他形式的奖励,从而节省了成本。
可选地,所述第一确定单元303,用于当每个基准测试用例包括基准测试函数,被执行过的基准测试函数带有插桩标记,所述基准测试函数为与测试目标对应的测试函数时,确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
所述第二确定单元304,用于当基准函数覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
可选地,参阅图6,本发明实施例提供的测试设备30的另一实施例中,所述测试设备30还包括:统计单元305和第三确定单元306,
所述接收单元302,还用于接收所述每个用户设备发送的所述测试任务的测试反馈样本;
所述统计单元305,用于从所述接收单元302接收的所述测试反馈样本中统计每个测试函数被执行的次数;
所述第三确定单元306,用于从所述统计单元305统计的被执行次数超过第二阈值的测试函数中确定基准测试函数集合,所述基准测试函数集合中的基准测试函数的数量与所述基准测试函数的总数相等。
可选地,参阅图7,本发明实施例提供的测试设备30的另一实施例中,所述测试设备30还包括:更新单元307,
所述统计单元305,还用于从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数;
所述更新单元307,用于根据所述统计单元307统计的所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数。
可选地,所述更新单元307,用于根据所述更新的被执行的次数,从被执行次数超过所述第二阈值的测试函数中重新确定所述基准测试函数集合中的基准测试函数。
可选地,所述第三确定单元306,用于从被执行次数超过所述第二阈值的测试函数中确定被执行比率高于第三阈值的测试函数,并将所述被执行比率高于第三阈值的测试函数添加到基准测试函数集合,所述被执行比率为被执行次数与测试反馈总数量的比值。
可选地,所述第一确定单元303,用于当所述基准测试函数包括接口基准测试函数和目标相关性基准测试函数时,确定所述目标相关性基准测试函数的个数和所述接口基准测试函数的个数,并根据如下公式确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
R=(N1*W1+N2*W2)/N;
其中,R为基准函数覆盖率、N1为目标相关性基准测试函数的个数、W1为第一权重值、N2为接口基准测试函数的个数、W2为第二权重值和N为基准测试函数的总数,所述第一权重值大于所述第二权重值。
本发明实施例所提供的测试设备可以参阅图1至图4部分的相关描述进行理解,本处不再重复赘述。
图6是本发明实施例提供的测试设备30的结构示意图。测试设备30应用于众测系统,所述众测系统还包括多个用户设备,每个用户设备上安装有众测应用.所述测试设备30包括处理器310、存储器350和收发器330,存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供操作指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器350存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器350存储的操作指令(该操作指令可存储在操作系统中),
通过收发器330通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
通过收发器330接收参与测试的用户设备发送的所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
当所述所执行的基准测试用例的覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
与现有技术中由人工筛选可用的测试反馈,导致测试的效率低下的问题,本发明实施例提供的测试设备,可以在接收到用户设备发送的测试反馈时,先对该测试反馈进行分析,确定是有效反馈后再采用,无需将测试反馈全部收集后再由人工筛选,从而提高了测试的效率。而且,确定有小的测试反馈后,可以只针对有效的测试反馈进行积分赠送或者其他形式的奖励,从而节省了成本。
处理器310控制测试设备30的操作,处理器310还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器350可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中测试设备30的各个组件通过总线系统320耦合在一起,其中总线系统320除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统320。
上述本发明实施例揭示的方法可以应用于处理器310中,或者由处理器310实现。处理器310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器310可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器350,处理器310读取存储器350中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器310用于:
确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
当基准函数覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
可选地,收发器330还用于接收所述每个用户设备发送的所述测试任务的测试反馈样本;
处理器310用于:从所述测试反馈样本中统计每个测试函数被执行的次数;
从被执行次数超过第二阈值的测试函数中确定基准测试函数集合,所述基准测试函数集合中的基准测试函数的数量与所述基准测试函数的总数相等。
可选地,处理器310还用于从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数;从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数。
可选地,处理器310用于根据所述更新的被执行的次数,从被执行次数超过所述第二阈值的测试函数中重新确定所述基准测试函数集合中的基准测试函数。
可选地,处理器310用于从被执行次数超过所述第二阈值的测试函数中确定被执行比率高于第三阈值的测试函数,并将所述被执行比率高于第三阈值的测试函数添加到基准测试函数集合,所述被执行比率为被执行次数与测试反馈总数量的比值。
可选地,处理器310用于当所述基准测试函数包括接口基准测试函数和目标相关性基准测试函数时确定所述目标相关性基准测试函数的个数和所述接口基准测试函数的个数;
根据如下公式确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
R=(N1*W1+N2*W2)/N;
其中,R为基准函数覆盖率、N1为目标相关性基准测试函数的个数、W1为第一权重值、N2为接口基准测试函数的个数、W2为第二权重值和N为基准测试函数的总数,所述第一权重值大于所述第二权重值。
以上的测试设备30可以参阅图1至图4部分的描述进行理解,本处不做过多赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的确定众测反馈有效性的方法、测试设备以及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种确定众测反馈有效性的方法,其特征在于,所述方法应用于众测系统,所述众测系统包括测试设备和多个用户设备,每个用户设备上安装有众测应用,所述方法包括:
所述测试设备通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例包含执行步骤和预期结果,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
所述测试设备接收按照所述测试任务执行步骤参与测试的用户设备发送的所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
所述测试设备从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈;
所述测试用例包含测试函数,所述测试设备接收参与测试的用户设备按照所述测试任务执行步骤参与所述测试任务发送的所述测试任务的测试反馈之前,所述方法还包括:
所述测试设备接收所述每个用户设备发送的所述测试任务的测试反馈样本;
所述测试设备从所述测试反馈样本中统计每个测试函数被执行的次数;
所述测试设备从被执行次数超过第二阈值的测试函数中确定基准测试函数集合,所述基准测试函数集合中的基准测试函数的数量与所述基准测试函数的总数相等。
2.根据权利要求1所述的方法,其特征在于,每个基准测试用例包括基准测试函数,被执行过的基准测试函数带有插桩标记,所述基准测试函数为与测试目标对应的测试函数;
所述测试设备从所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率,包括:
所述测试设备确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
所述当所述所执行的基准测试用例的覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈,包括:
当基准函数覆盖率大于第一阈值时,所述测试设备确定所述测试反馈为有效的测试反馈。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述测试设备从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数;
所述测试设备根据所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数。
4.根据权利要求3所述的方法,其特征在于,所述测试设备根据所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数,包括:
所述测试设备根据所述更新的被执行的次数,从被执行次数超过所述第二阈值的测试函数中重新确定所述基准测试函数集合中的基准测试函数。
5.根据权利要求2所述的方法,其特征在于,所述测试设备从被执行次数超过第二阈值的测试函数中确定基准测试函数集合,包括:
所述测试设备从被执行次数超过所述第二阈值的测试函数中确定被执行比率高于第三阈值的测试函数,并将所述被执行比率高于第三阈值的测试函数添加到基准测试函数集合,所述被执行比率为被执行次数与测试反馈总数量的比值。
6.根据权利要求2-5任一所述的方法,其特征在于,所述基准测试函数包括接口基准测试函数和目标相关性基准测试函数,
所述测试设备确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率,包括:
所述测试设备确定所述目标相关性基准测试函数的个数和所述接口基准测试函数的个数;
所述测试设备根据如下公式确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
R=(N1*W1+N2*W2)/N;
其中,R为基准函数覆盖率、N1为目标相关性基准测试函数的个数、W1为第一权重值、N2为接口基准测试函数的个数、W2为第二权重值和N为基准测试函数的总数,所述第一权重值大于所述第二权重值。
7.一种测试设备,其特征在于,所述测试设备应用于众测系统,所述众测系统还包括多个用户设备,每个用户设备上安装有众测应用,所述测试设备包括:
发送单元,用于通过所述众测应用向所述每个用户设备推送测试任务,所述测试任务包括多个测试用例,所述测试用例包含执行步骤和预期结果,所述测试用例在被执行时生成被执行标记,所述多个测试用例中包括基准测试用例,所述基准测试用例为与测试目标对应的测试用例;
接收单元,用于从按照所述测试任务执行步骤参与测试的用户设备获取所述测试任务的测试反馈,所述测试反馈包括带有被执行标记的测试用例;
第一确定单元,用于从所述接收单元接收的所述带有被执行标记的测试用例中确定基准测试用例被执行的数量,并根据所述数量和预先获知的基准测试用例的总数,确定所述测试反馈所执行的基准测试用例的覆盖率;
第二确定单元,用于当所述第一确定单元确定的所述所执行的基准测试用例的覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈;
所述测试用例包含测试函数,所述测试设备还包括:统计单元和第三确定单元,
所述接收单元,还用于接收所述每个用户设备发送的所述测试任务的测试反馈样本;
所述统计单元,用于从所述接收单元接收的所述测试反馈样本中统计每个测试函数被执行的次数;
所述第三确定单元,用于从所述统计单元统计的被执行次数超过第二阈值的测试函数中确定基准测试函数集合,所述基准测试函数集合中的基准测试函数的数量与所述基准测试函数的总数相等。
8.根据权利要求7所述的测试设备,其特征在于,
所述第一确定单元,用于当每个基准测试用例包括基准测试函数,被执行过的基准测试函数带有插桩标记,所述基准测试函数为与测试目标对应的测试函数时,确定带有插桩标记的基准测试函数的个数,并根据所述个数和预先获知的基准测试函数的总数,确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
所述第二确定单元,用于当基准函数覆盖率大于第一阈值时,确定所述测试反馈为有效的测试反馈。
9.根据权利要求8所述的测试设备,其特征在于,所述测试设备还包括更新单元,
所述统计单元,还用于从后续针对所述测试任务的测试反馈中持续统计每个测试函数被执行的次数,以得到每个测试函数更新的被执行的次数;
所述更新单元,用于根据所述统计单元统计的所述更新的被执行的次数,更新所述基准测试函数集合中的基准测试函数。
10.根据权利要求9所述的测试设备,其特征在于,
所述更新单元,用于根据所述更新的被执行的次数,从被执行次数超过所述第二阈值的测试函数中重新确定所述基准测试函数集合中的基准测试函数。
11.根据权利要求8所述的测试设备,其特征在于,
所述第三确定单元,用于从被执行次数超过所述第二阈值的测试函数中确定被执行比率高于第三阈值的测试函数,并将所述被执行比率高于第三阈值的测试函数添加到基准测试函数集合,所述被执行比率为被执行次数与测试反馈总数量的比值。
12.根据权利要求8-11任一所述的测试设备,其特征在于,
所述第一确定单元,用于当所述基准测试函数包括接口基准测试函数和目标相关性基准测试函数时,确定所述目标相关性基准测试函数的个数和所述接口基准测试函数的个数,并根据如下公式确定所述测试反馈所执行的基准测试函数的基准函数覆盖率;
R=(N1*W1+N2*W2)/N;
其中,R为基准函数覆盖率、N1为目标相关性基准测试函数的个数、W1为第一权重值、N2为接口基准测试函数的个数、W2为第二权重值和N为基准测试函数的总数,所述第一权重值大于所述第二权重值。
13.一种众测系统,其特征在于,包括测试设备和多个用户设备,每个用户设备上安装有众测应用;
所述测试设备为权利要求7-8任一所述的测试设备。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-6任意一项所述的确定众测反馈有效性的方法。
CN201610716388.4A 2016-08-24 2016-08-24 一种确定众测反馈有效性的方法、测试设备及系统 Active CN106294182B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610716388.4A CN106294182B (zh) 2016-08-24 2016-08-24 一种确定众测反馈有效性的方法、测试设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610716388.4A CN106294182B (zh) 2016-08-24 2016-08-24 一种确定众测反馈有效性的方法、测试设备及系统

Publications (2)

Publication Number Publication Date
CN106294182A CN106294182A (zh) 2017-01-04
CN106294182B true CN106294182B (zh) 2021-02-09

Family

ID=57615347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610716388.4A Active CN106294182B (zh) 2016-08-24 2016-08-24 一种确定众测反馈有效性的方法、测试设备及系统

Country Status (1)

Country Link
CN (1) CN106294182B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562637B (zh) * 2017-09-28 2021-12-21 网易有道信息技术(北京)有限公司 一种用于软件测试的方法、设备、系统及存储介质
CN108121659A (zh) * 2017-12-20 2018-06-05 东莞理工学院 一种软件测试方法及系统
CN108305013B (zh) * 2018-02-12 2022-02-18 腾讯科技(深圳)有限公司 运营项目有效性的确定方法、装置和计算机设备
CN109784637A (zh) * 2018-12-13 2019-05-21 华为终端有限公司 应用于处理平台数据分析的方法和装置
CN110134581A (zh) * 2019-04-02 2019-08-16 浙江数链科技有限公司 软件测试方法、装置、计算机设备和存储介质
CN112398705B (zh) * 2019-08-16 2022-07-22 中国移动通信有限公司研究院 网络质量评测方法、装置、设备和存储介质
CN111522733B (zh) * 2020-03-16 2021-06-01 中国科学院软件研究所 众包测试人员推荐与众包测试方法及电子装置
CN112988567B (zh) * 2021-01-26 2022-02-15 广州番禺职业技术学院 一种众包测试自动化评估方法及装置
CN113238931A (zh) * 2021-04-26 2021-08-10 广东拓思软件科学园有限公司 一种基于执行路径追踪技术的测试覆盖计算方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014180396A1 (zh) * 2013-12-06 2014-11-13 中兴通讯股份有限公司 代码覆盖率处理方法及装置
CN104834593A (zh) * 2014-12-23 2015-08-12 赵明 一种针对软件众测应用的企业数字化软件测试云系统及方法
US9317405B2 (en) * 2014-01-31 2016-04-19 Fujitsu Limited Test double generation
CN105528289A (zh) * 2015-12-04 2016-04-27 中国矿业大学 一种基于分支覆盖与相似性的回归测试用例优先排序方法
CN105589801A (zh) * 2014-10-20 2016-05-18 网易(杭州)网络有限公司 手机集群测试方法和系统
CN105740148A (zh) * 2016-01-29 2016-07-06 博雅网信(北京)科技有限公司 一种移动终端自动化测试的脚本引擎系统及测试方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9704171B2 (en) * 2012-06-05 2017-07-11 Applause App Quality, Inc. Methods and systems for quantifying and tracking software application quality
CN104572031A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 一种测试用例的生成方法及装置
CN104536881B (zh) * 2014-11-28 2017-09-05 南京慕测信息科技有限公司 基于自然语言分析的众测错误报告优先级排序方法
CN104657270A (zh) * 2015-02-28 2015-05-27 北京嘀嘀无限科技发展有限公司 测试方法和系统
CN105302723B (zh) * 2015-11-06 2020-07-31 北京京东尚科信息技术有限公司 测试用例评估方法、装置和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014180396A1 (zh) * 2013-12-06 2014-11-13 中兴通讯股份有限公司 代码覆盖率处理方法及装置
US9317405B2 (en) * 2014-01-31 2016-04-19 Fujitsu Limited Test double generation
CN105589801A (zh) * 2014-10-20 2016-05-18 网易(杭州)网络有限公司 手机集群测试方法和系统
CN104834593A (zh) * 2014-12-23 2015-08-12 赵明 一种针对软件众测应用的企业数字化软件测试云系统及方法
CN105528289A (zh) * 2015-12-04 2016-04-27 中国矿业大学 一种基于分支覆盖与相似性的回归测试用例优先排序方法
CN105740148A (zh) * 2016-01-29 2016-07-06 博雅网信(北京)科技有限公司 一种移动终端自动化测试的脚本引擎系统及测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
百度众测APP测评怎么做;小鱼无海;《https://jingyan.baidu.com/article/90895e0febb86764ec6b0bdf.html》;20141123;全文 *

Also Published As

Publication number Publication date
CN106294182A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106294182B (zh) 一种确定众测反馈有效性的方法、测试设备及系统
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
CN106874187B (zh) 代码覆盖率收集方法和装置
US9558106B1 (en) Testing service with control testing
CN106776338B (zh) 一种测试方法、装置及服务器
CN112241360B (zh) 一种测试用例生成方法、装置、设备及存储介质
CN105247493A (zh) 从静态收集的数据中标识受影响的测试
DE102021133809A1 (de) Verfahren und vorrichtung zur automatischen detektion von softwarefehlern
US20160371177A1 (en) Method for determining an amount of available resources ensuring a quality user experience
CN111752850B (zh) 区块链系统的测试方法及相关设备
CN107679683B (zh) 软件开发进度预警方法和装置
CN113114680B (zh) 用于文件上传漏洞的检测方法和检测装置
CN110275818A (zh) 测试程序生成方法、装置及存储介质
CN110990295B (zh) 测试用例的验证方法、装置及电子设备
CN114579423A (zh) 一种流量回放质量分析方法及装置
CN105138451A (zh) 一种用于测试插件的功能的方法、装置和系统
CN110659199A (zh) 一种基于传递依赖的类集成测试序列生成方法
CN112084108A (zh) 一种测试脚本生成方法、装置及相关组件
CN109815083B (zh) 一种应用崩溃的监控方法、装置、电子设备及介质
CN112799956B (zh) 资产识别能力测试方法、装置及系统装置
US11645192B2 (en) Graph-based method for inductive bug localization
CN110888811B (zh) 代码覆盖率信息处理方法、装置、电子设备及介质
CN111679924B (zh) 构件化软件系统可靠性仿真方法、装置及电子设备
CN112733453A (zh) 一种基于联合学习的设备预测性维护方法及装置
US20140068562A1 (en) Application Review

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant