CN108268366B - 测试用例执行方法及装置 - Google Patents

测试用例执行方法及装置 Download PDF

Info

Publication number
CN108268366B
CN108268366B CN201611258133.4A CN201611258133A CN108268366B CN 108268366 B CN108268366 B CN 108268366B CN 201611258133 A CN201611258133 A CN 201611258133A CN 108268366 B CN108268366 B CN 108268366B
Authority
CN
China
Prior art keywords
test
test case
weight
execution
case
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
CN201611258133.4A
Other languages
English (en)
Other versions
CN108268366A (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 CN201611258133.4A priority Critical patent/CN108268366B/zh
Publication of CN108268366A publication Critical patent/CN108268366A/zh
Application granted granted Critical
Publication of CN108268366B publication Critical patent/CN108268366B/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/3684Test management for test design, e.g. generating new test cases
    • 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/3692Test management for test results 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)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本发明公开了一种测试用例执行方法及装置,属于测试领域。方法包括:对于已设置的每个测试用例,根据该测试用例的历史执行记录,获取该测试用例的第一权重;根据本次测试的测试功能范围以及该测试用例对应的测试功能,获取该测试用例的第二权重,该测试功能范围内包括至少一种测试功能;计算该第一权重与该第二权重的和值,作为该测试用例的权重,该测试用例的权重用于表示该测试用例的重要程度;根据该每个测试用例的权重,从已设置的测试用例中选取目标测试用例;执行该目标测试用例,得到该目标测试用例的执行结果。本发明既节省了耗费的测试成本,提高了测试效率,同时还保证了测试准确率,避免了筛选测试用例对测试效果的影响。

Description

测试用例执行方法及装置
技术领域
本发明涉及测试领域,特别涉及一种测试用例执行方法及装置。
背景技术
测试是指对产品质量进行检查和评价的过程,通过测试能够检查出产品中的质量问题,对产品做出客观准确的评价,因此测试在整个产品的生产过程中至关重要。而测试用例是测试中常用的一种描述文档,包括测试目标、测试环境、输入数据、测试步骤及预期结果等,通过执行测试用例可以实现产品测试。
相关技术中,为了对产品进行全面地测试,可以为该产品设置多个测试用例,并依次执行每个测试用例,使该产品依次按照多个测试用例中的每个测试用例运行,从而得到多个测试结果。
发明人发现相关技术至少存在以下问题:随着测试用例的数量趋向于越来越多,上述依次执行每个测试用例的方式会耗费过多的测试成本,造成测试效率低下。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种测试用例执行方法及装置。所述技术方案如下:
第一方面,提供了一种测试用例执行方法,所述方法包括:
对于已设置的每个测试用例,
根据所述测试用例的历史执行记录,获取所述测试用例的第一权重;
根据本次测试的测试功能范围以及所述测试用例对应的测试功能,获取所述测试用例的第二权重,所述测试功能范围内包括至少一种测试功能;
计算所述第一权重与所述第二权重的和值,作为所述测试用例的权重,所述测试用例的权重用于表示所述测试用例的重要程度;
根据所述每个测试用例的权重,从已设置的测试用例中选取目标测试用例;
执行所述目标测试用例,得到所述目标测试用例的执行结果。
第二方面,提供了一种测试用例执行装置,所述装置包括:
获取模块,用于对于已设置的每个测试用例,根据所述测试用例的历史执行记录,获取所述测试用例的第一权重;根据本次测试的测试功能范围以及所述测试用例对应的测试功能,获取所述测试用例的第二权重,所述测试功能范围内包括至少一种测试功能;
计算模块,用于计算所述第一权重与所述第二权重的和值,作为所述测试用例的权重,所述测试用例的权重用于表示所述测试用例的重要程度;
选取模块,用于根据所述多个测试用例中的每个测试用例的权重,从已设置的测试用例中选取目标测试用例;
执行模块,用于执行所述目标测试用例,得到所述目标测试用例的执行结果。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的方法及装置,通过根据历史执行记录获取测试用例的第一权重,根据本次测试的测试功能范围及测试用例对应的测试功能获取测试用例的第二权重,从而将第一权重与第二权重的和值作为测试用例的权重,根据权重从已设置的测试用例中选取目标测试用例,并执行目标测试用例,既无需依次执行每个测试用例,节省了耗费的测试成本,提高了测试效率,同时还保证了测试准确率,避免了筛选测试用例对测试效果的影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种测试用例执行方法的流程图;
图2是本发明实施例提供的一种生成任务的示意图;
图3是本发明实施例提供的一种操作流程示意图;
图4是本发明实施例提供的一种测试用例执行装置的结构示意图;
图5是本发明实施例提供的一种终端的结构示意图;
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明实施例进行具体说明之前,首先对本发明实施例的应用场景进行如下说明:
本发明实施例应用于对目标产品进行测试的场景下,该目标产品可以为待测试的系统、软件、应用程序等。当测试人员要对目标产品进行测试时,需要预先为该目标产品设置多个测试用例,每个测试用例中可以包括测试目标、该目标产品的配置环境、输入该目标产品的数据、该目标产品应当执行的步骤以及预期结果等,那么,每执行一个测试用例所得到的执行结果即可作为该目标产品的测试结果,根据该测试结果可以了解该目标产品的质量、性能,对该目标产品进行检查和评价。
当需要对目标产品进行测试时,测试人员可以根据测试需求为该目标产品确定多个测试用例,并依次执行该多个测试用例,得到每个测试用例的执行结果,即为该目标产品的测试结果。但是,依次执行该多个测试用例会造成测试效率低下,则为了提高测试效率,可以对多个测试用例进行筛选。
然而,随机地对测试用例进行筛选可能会导致测试结果不准确,影响测试效果。因此,本发明实施例中,先计算每个测试用例的权重,再根据每个测试用例的权重进行筛选,仅执行选取出的目标测试用例。
图1是本发明实施例提供的一种测试用例执行方法的流程图。该发明实施例的执行主体为测试装置,可以为用于测试的终端或者服务器等。参见图1,该方法包括:
101、对于已设置的每个测试用例,根据该测试用例的历史执行记录,获取该测试用例的第一权重。
其中,测试用例的历史执行记录可以包括该测试用例的执行次数、执行失败次数以及该测试用例在上一次执行时的执行结果,如执行成功或执行失败,而且该历史执行记录中还可以包括其他信息。
在实际应用中,每次执行该测试用例时,可以根据该测试用例的执行结果,对该测试用例的历史执行记录进行更新,如将历史执行记录中的执行次数加1,如果本次执行失败则将历史执行记录中的执行失败次数也加1等。
该历史执行记录可以体现该测试用例的历史执行情况,相应地根据该历史执行情况也可以体现本次测试过程中该测试用例是否有必要再次执行,因此,该测试装置根据该历史执行记录获取该测试用例的第一权重。
具体地,该测试装置可以对该历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,将得到的统计值作为该第一权重。例如,该统计值可以为该执行次数、该执行结果对应的数值以及该执行失败次数的平均值或者加权平均值等,本发明实施例对此不做限定。其中,可以为不同的执行结果设置不同的数值,如执行成功的结果对应的数值为1,执行失败的结果对应的数值为0。
实际应用中,每次执行完该测试用例后,会根据执行情况对该历史执行记录进行更新,此时可以根据更新后的历史执行记录,获取该测试用例更新后的第一权重。
也即是,该测试装置可以获取该测试用例的第一权重,当执行该测试用例并得到该测试用例的执行结果时,可以对该测试用例的历史执行记录进行更新,得到更新后的历史执行记录,此时,更新后的历史执行记录中的执行次数、执行结果和执行失败次数等可能会发生变化,则该测试装置可以对该更新后的历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,获取权重修正因子和误差因子,根据该权重修正因子和该误差因子,对该第一权重进行更新,得到更新后的第一权重。
可选地,该测试装置将执行次数、执行结果、执行失败次数中的至少一项的统计值作为该权重修正因子,例如该统计值可以为该执行次数、该执行结果对应的数值以及该执行失败次数的平均值或者加权平均值等,本发明实施例对此不做限定。且该测试装置可以将该测试用例的执行次数作为误差因子,执行次数越多,误差因子越大。
可选地,在对该第一权重进行修正时,该测试装置可以采用以下公式进行:
an+1=wn+1*an+bn+1
其中,an为更新之前的第一权重,wn+1为权重修正因子,bn+1为误差因子,an+1为更新后的第一权重,n为整数,可以等于0或者大于0。且,该第一权重的初始取值a0可以根据测试用例所属的类型确定,例如可以将测试用例划分为用于测试基础功能的基础用例、用于检测异常的异常测试用例、用于测试重点功能的重点测试用例等,并为不同类型的测试用例设置不同的a0
需要说明的是,除上述方式之外,还可以采用其他算法获取该测试用例的第一权重,并对该第一权重进行更新,该算法可以为最大期望算法等,该最大期望算法可以包括:
1、计算期望步骤:根据测试用例的历史执行记录中的执行次数、执行结果、执行失败次数等信息,计算最大似然期望值;
2、最大化步骤:对计算出的最大似然期望值进行最大化,得到该测试用例的第一权重的最大似然估计值。
之后重复执行上述步骤1和2,直至计算出的第一权重收敛时,可以得到最终的第一权重。
102、根据本次测试的测试功能范围以及该测试用例对应的测试功能,获取该测试用例的第二权重。
该目标产品可能具有多种功能,每次对该目标产品进行测试时,可以确定本次测试的测试功能范围,该测试功能范围内包括至少一种测试功能,表示需要对该目标产品的这些功能进行有针对性地测试。而该测试用例对应于一种或多种测试功能,在执行该测试用例时,可以根据执行结果确定该一种或多种测试功能是否正常。
那么,如果该测试功能范围内包括该测试用例对应的测试功能,表示应当测试该测试用例对应的测试功能是否正常,则应当执行该测试用例,而如果该测试功能范围内不包括该测试用例对应的测试功能,表示无需测试该测试用例对应的测试功能是否正常,也即可以不执行该测试用例。
因此,该步骤102可以包括以下步骤1021或1022:
1021、当该测试功能范围内包括该测试用例对应的测试功能时,将第一预设数值作为该测试用例的第二权重。其中,该第一预设数值可以为预先设定的任一数值等,例如可以为1。
实际应用中,该目标产品包括的多种功能可以划分为不同的级别,例如有些功能是该测试功能范围内确定的预设重点功能,也即是本次测试的重点功能,有些功能是预设基础功能,也即是该目标产品需要实现的基础功能,而有些功能是普通的功能。
而该测试用例对应的测试功能的级别不同时,该测试用例对本次测试的影响也不同,因此,在确定该测试用例初始的第二权重后,该测试装置还可以判断该测试用例对应的测试功能是否为该测试功能范围内的预设重点功能,如果该测试用例对应的测试功能是该测试功能范围内的预设重点功能,将该测试用例的第二权重再增加第三预设数值。且,判断该测试用例对应的测试功能是否为预设基础功能,如果该测试用例对应的测试功能是预设基础功能,将该测试用例的第二权重再增加该第四预设数值。其中,该第三预设数值和该第四预设数值均可以为大于0的任一数值。
1022、当该测试功能范围内不包括该测试用例对应的测试功能时,将第二预设数值作为该测试用例的第二权重,该第二预设数值小于该第一预设数值,可以为预先设定的小于该第一预设数值的任一数值,例如可以为0。
实际应用中,该目标产品的不同功能之间可能会存在关联关系,当该测试功能范围内不包括该测试用例对应的测试功能时,很可能该测试功能还与该测试功能范围内的某些测试功能存在关联关系,这时也可以执行该测试用例,而该测试用例对应的测试功能与该测试功能范围内的所有测试功能均无关联关系时,无需执行该测试用例。
因此,该测试装置可以判断该测试用例对应的测试功能与该测试功能范围内的测试功能是否存在关联关系,如果该测试用例对应的测试功能与该测试功能范围内的测试功能均不存在关联关系时,将该测试用例的第二权重减小第五预设数值。其中,该第五预设数值可以为大于0的任一数值。
其中,多个测试功能之间的关联关系可以设置后存储于关联关系表中,通过查询该关联关系表可以确定任两个测试功能之间是否存在关联关系。
103、计算该第一权重与该第二权重的和值,作为该测试用例的权重,该测试用例的权重用于表示该测试用例的重要程度。
本发明实施例中,将第一权重和第二权重的和值作为该测试用例最终计算的权重,保证了该权重既考虑了该测试用例的历史执行情况,也考虑了本次测试对该测试用例的需求。
104、根据每个测试用例的权重,从已设置的多个测试用例中选取目标测试用例。
在一种可能实现方式中,该测试装置可以预先确定好要执行的测试用例的数目,当获取到每个测试用例的权重后,按照权重从大到小的顺序,选取该数目的测试用例,作为目标测试用例,至于选取后剩余的测试用例,在本次测试过程中将不再执行。
在另一种可能实现方式中,考虑到每个测试用例的执行时长不同,而在实际的测试过程中测试人员可能会受到测试时长的限制,需要在设置的测试时长内完成测试工作。
因此,为了满足测试时长的需求,该步骤104可以包括以下步骤1041-1042:
1041、确定待生成任务的多个执行时长,获取每个测试用例的预设执行时长和权重,根据每个执行时长以及每个测试用例的预设执行时长和权重,生成与每个执行时长匹配的任务,每个生成的任务中包括至少一个测试用例。
对于每个执行时长,在生成匹配的任务时,可以按照测试用例的权重从大到小的顺序,从已设置的多个测试用例中选取测试用例,并计算已选取的测试用例的预设执行时长的总和,判断该预设执行时长的总和与该执行时长之间的差值是否小于预设差值。
当已选取的测试用例的预设执行时长的总和与该执行时长之间的差值小于预设差值时,将该已选取的测试用例作为与该执行时长匹配的任务。当该预设执行时长的总和与该执行时长之间的差值不小于该预设差值时,则继续选取测试用例,并进行上述计算和判断过程,直至已选取的测试用例的预设执行时长的总和与该执行时长之间的差值小于预设差值时,将该已选取的测试用例作为与该执行时长匹配的任务。
其中,已选取的测试用例的预设执行时长的总和与该执行时长之间的差值小于预设差值是指,已选取的测试用例的预设执行时长的总和接近该执行时长,将已选取的测试用例作为一个任务时,该任务的执行时长可以满足已设置的执行时长的要求。
通过预先设置好待生成任务的执行时长,在选取测试用例时,将已选取的测试用例的预设执行时长的总和与设置的执行时长进行比对,在两者相差不大时即可将已选取的测试用例作为一个任务。
例如,参见图2,测试功能范围内包括多个测试功能,根据这些测试功能对应的测试用例以及这些测试用例的权重生成的三个任务可以如图2所示,每个任务的执行时长不同。
1042、根据测试人员设置的测试时长,从已生成的任务中选取与该测试时长匹配的目标任务,将该目标任务中的测试用例确定为目标测试用例。
采用上述步骤1041的方式可以设置多个执行时长,从而生成多个任务,在进行测试时如果已设置好测试时长,则可以从多个任务对应的执行时长中,选取与该测试时长的差值最小的执行时长,将所选取的执行时长匹配的任务作为目标任务,将该目标任务中包括的测试用例确定为目标测试用例,从而能够执行最符合该测试时长要求的任务中的测试用例。
例如,参见图2,测试装置生成了三个任务,三个任务的执行时长分别为:任务一(30分钟)、任务二(60分钟)、任务三(90分钟),而本次的测试时长为60分钟,则选取任务二中的测试用例进行测试。
105、执行该目标测试用例,得到该目标测试用例的执行结果。
在一种可能的实现方式中,该目标产品可以为该测试装置中的产品,该测试装置可以控制该目标产品将该目标测试用例调度至该目标产品中,使该目标产品基于该目标测试用例运行,得到该执行结果,该执行结果即为该目标产品的测试结果。
在另一种可能的实现方式中,该目标产品可以为该测试装置提供接口,该测试装置可以通过该接口,将该目标测试用例调度至该目标产品中,使该目标产品基于该目标测试用例运行,得到该执行结果后,通过该接口返回给该测试装置,则该测试装置通过该接口获取该执行结果,该执行结果即为该目标产品的测试结果。
结合上述步骤101-105,本发明实施例的操作流程可以如图3所示,根据历史执行记录确定测试用例的权重后,可以对多个测试用例进行筛选,筛选完成后即可将选出的测试用例调度到目标产品中执行,从而收集到测试用例的执行结果,此时可以对执行结果进行分析,或者将该执行结果与该测试用例上一次执行时的执行结果进行比对,或者将该执行结果与该测试用例在历史版本的目标产品中执行时的执行结果进行比对等,而且还可以根据执行结果对该测试用例的历史执行记录进行更新。
获取到该目标测试用例的执行结果之后,该测试装置还可以根据该执行结果,生成测试报告,供测试人员查看,通过查看该测试报告可以确定在该目标产品中该目标测试用例对应的测试功能是否正常。
而且,获取到该目标产品的测试报告后,可以将当前版本的目标产品的测试报告与上一版本的该目标产品的测试报告进行比对,从而找出当前版本的目标产品存在的问题。
需要说明的是,在实际应用中可以采用本发明实施例提供的方法进行模型训练,也即是,训练出测试用例选取模型。其中,在训练测试用例选取模型时,可以采用深度神经网络算法或者其他训练算法,本发明实施例对此不做限定。
具体地,生成一个初始的测试用例选取模型,如深度神经网络模型或者其他模型,测试用例选取模型由模型参数构成,模型参数的初始值可以随机设置,模型参数可以包括获取第一权重时所用的参数、获取第二权重时所用的参数等。
之后设置样本测试用例,并确定该样本测试用例的理论权重,将该样本测试用例输入到该测试用例选取模型中,采用本发明实施例提供的方法,也即是根据样本测试用例的历史执行记录、本次测试的测试功能范围和样本测试用例对应的测试功能,计算样本测试用例的第一权重和第二权重,进而得到样本测试用例的实际权重。此时根据计算的实际权重与已确定的理论权重之间的误差,对该测试用例选取模型中的模型参数进行修正,得到修正后的测试用例选取模型。后续过程中可以设置多个样本测试用例,对每个样本测试用例均执行上述过程,不断地对测试用例选取模型进行训练修正,直至当前样本测试用例所计算出的实际权重与已确定的理论权重之间的误差较小,满足了测试用例选取模型的准确率要求时停止,此时即可应用该测试用例选取模型,根据模型参数计算测试用例的权重后,根据权重从多个测试用例中选取测试用例。
在测试用例选取模型的应用过程中,将多个未知权重的测试用例输入该测试用例选取模型时,该测试用例选取模型即可根据已经确定的模型参数,计算每个测试用例的权重并根据权重选取目标测试用例,从而输出目标测试用例,该目标产品即可执行该目标测试用例,得到执行结果。并且,本次的测试用例执行完成后可以将执行结果反作用于该测试用例选取模型中,也即是该测试用例选取模型会根据本次得到的执行结果调整历史执行记录,进而调整测试用例的权重,那么在下一次进行测试时即可应用调整后的权重进行选取。
实际应用中,产品测试在产品开发周期中占用了将近50%的时间,这都归结于逐一执行测试用例的方法,但在互联网及信息行业中,随着大数据、智能化方向的崛起以及敏捷流程的行业渗透,测试用例趋于海量性,导致测试用例执行的成本上升。
而本发明实施例提供的方法,通过根据历史执行记录获取测试用例的第一权重,根据本次测试的测试功能范围及测试用例对应的测试功能获取测试用例的第二权重,从而将第一权重与第二权重的和值作为测试用例的权重,根据权重从已设置的测试用例中选取目标测试用例,并执行目标测试用例。无需依次执行每个测试用例,节省了耗费的测试成本,提高了测试效率,弥补了测试用例逐一执行的低效性,发挥了对海量测试用例的高效测试的智能化优势,彻底保证了整个项目的敏捷实施,同时还保证了测试准确率,避免了筛选测试用例对测试效果的影响,在自动化测试上实现了重大突破。
进一步地,本发明通过对历史执行情况进行分析建立模型,通过该模型可以自动生成本次的测试功能范围对应的自动化测试用例集合,高效地进行自动化测试,填补了海量规模测试领域中自动化的空白。
图4是本发明实施例提供的一种测试用例执行装置的结构示意图,参见图4,该装置包括:
获取模块401,用于对于每个测试用例,获取第一权重和第二权重;
计算模块402,用于计算该第一权重与该第二权重的和值,作为该测试用例的权重;
选取模块403,用于从该已设置的测试用例中选取目标测试用例;
执行模块404,用于执行该目标测试用例,得到执行结果。
可选地,该获取模块401,用于对该历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,得到该第一权重。
可选地,该装置还包括:
记录更新模块,用于当执行该测试用例并得到执行结果时,对历史执行记录进行更新;
统计模块,用于对更新后的历史执行记录进行统计,获取权重修正因子和误差因子;
权重更新模块,用于根据该权重修正因子和该误差因子更新第一权重。
可选地,该获取模块401,还用于当该测试功能范围内包括该测试用例对应的测试功能时,将第一预设数值作为该测试用例的第二权重;
该获取模块401,还用于当该测试功能范围内不包括该测试用例对应的测试功能时,将第二预设数值作为该测试用例的第二权重。
可选地,该装置还包括:
调整模块,用于该测试用例对应的测试功能为该测试功能范围内的预设重点功能时,将该测试用例的第二权重增加第三预设数值。
可选地,该装置还包括:
调整模块,用于该测试用例对应的测试功能为预设基础功能时,将该测试用例的第二权重增加第四预设数值。
可选地,该装置还包括:
调整模块,用于该测试用例对应的测试功能与该测试功能范围内的测试功能无关联关系时,将该测试用例的第二权重减小第五预设数值。
可选地,该选取模块403,用于确定待生成任务的多个执行时长;生成与该每个执行时长匹配的任务;根据设置的测试时长,从生成的任务中选取与该测试时长匹配的目标任务,将该目标任务中的测试用例确定为目标测试用例。
可选地,该选取模块403,还用于对于该每个执行时长,按照测试用例的权重从大到小的顺序选取测试用例,直至已选取的测试用例的预设执行时长的总和与该执行时长之间的差值小于预设差值时,将该已选取的测试用例作为与该执行时长匹配的任务。
可选地,该执行模块404,用于将该目标测试用例调度至该目标产品中,使该目标产品基于该目标测试用例运行,获取返回的该执行结果。
需要说明的是:上述实施例提供的测试用例执行装置在执行测试用例时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将测试装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的测试用例执行装置与测试用例执行方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种终端的结构示意图,该终端可以执行上述测试装置所执行的步骤。具体来讲:
终端500可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他终端通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,如上述示例性实施例所示出的终端所对应的软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理,如实现基于视频的交互等。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入终端132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的链接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入终端132。具体地,其他输入终端132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图5中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端500的通信。
终端500通过传输模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线或有线的宽带互联网访问。虽然图5示出了传输模块170,但是可以理解的是,其并不属于终端500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端500的控制中心,利用各种接口和线路链接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端500还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述一个或者一个以上程序包含用于实施上述实施例中测试装置所执行操作的指令。
图6是本发明实施例提供的一种服务器的结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
该服务器600可以用于执行上述实施例提供的测试用例执行方法中测试装置所执行的步骤。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种测试用例执行方法,其特征在于,所述方法包括:
对于已设置的每个测试用例,根据所述测试用例的历史执行记录,获取所述测试用例的第一权重;
当本次测试的测试功能范围内包括所述测试用例对应的测试功能时,表示测试所述测试用例对应的测试功能是否正常,则将第一预设数值作为所述测试用例的第二权重;当所述本次测试的测试功能范围内不包括所述测试用例对应的测试功能时,表示无需测试所述测试用例对应的测试功能是否正常,则将第二预设数值作为所述测试用例的第二权重;所述第二预设数值小于所述第一预设数值,所述测试功能范围内包括至少一种测试功能;
计算所述第一权重与所述第二权重的和值,作为所述测试用例的权重,所述测试用例的权重用于表示所述测试用例的重要程度;
确定待生成任务的多个执行时长;
对于所述每个执行时长,按照测试用例的权重从大到小的顺序选取测试用例,直至已选取的测试用例的预设执行时长的总和与所述执行时长之间的差值小于预设差值时,将所述已选取的测试用例作为与所述执行时长匹配的任务,每个生成的任务中包括至少一个测试用例;
根据设置的测试时长,从多个任务对应的执行时长中,选取与所述测试时长的差值最小的执行时长,将所选取的执行时长匹配的任务作为目标任务,将所述目标任务中的测试用例确定为目标测试用例;
执行所述目标测试用例,得到所述目标测试用例的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例的历史执行记录,获取所述测试用例的第一权重,包括:
对所述历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,得到所述第一权重。
3.根据权利要求1所述的方法,其特征在于,所述根据所述测试用例的历史执行记录,获取所述测试用例的第一权重之后,所述方法还包括:
当执行所述测试用例并得到所述测试用例的执行结果时,对所述测试用例的历史执行记录进行更新,对更新后的历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,获取权重修正因子和误差因子;
根据所述权重修正因子和所述误差因子,对所述第一权重进行更新,得到更新后的第一权重,作为下一次测试时所述测试用例的第一权重。
4.根据权利要求1所述的方法,其特征在于,所述当本次测试的测试功能范围内包括所述测试用例对应的测试功能时,表示测试所述测试用例对应的测试功能是否正常,则将第一预设数值作为所述测试用例的第二权重之后,所述方法还包括:
所述测试用例对应的测试功能为所述测试功能范围内的预设重点功能时,将所述测试用例的第二权重增加第三预设数值。
5.根据权利要求1所述的方法,其特征在于,所述当本次测试的测试功能范围内包括所述测试用例对应的测试功能时,表示测试所述测试用例对应的测试功能是否正常,则将第一预设数值作为所述测试用例的第二权重之后,所述方法还包括:
所述测试用例对应的测试功能为预设基础功能时,将所述测试用例的第二权重增加第四预设数值。
6.根据权利要求1所述的方法,其特征在于,所述当所述本次测试的测试功能范围内不包括所述测试用例对应的测试功能时,表示无需测试所述测试用例对应的测试功能是否正常,则将第二预设数值作为所述测试用例的第二权重之后,所述方法还包括:
所述测试用例对应的测试功能与所述测试功能范围内的测试功能无关联关系时,将所述测试用例的第二权重减小第五预设数值。
7.一种测试用例执行装置,其特征在于,所述装置包括:
获取模块,用于对于已设置的每个测试用例,根据所述测试用例的历史执行记录,获取所述测试用例的第一权重;当本次测试的测试功能范围内包括所述测试用例对应的测试功能时,表示测试所述测试用例对应的测试功能是否正常,则将第一预设数值作为所述测试用例的第二权重;当所述本次测试的测试功能范围内不包括所述测试用例对应的测试功能时,表示无需测试所述测试用例对应的测试功能是否正常,则将第二预设数值作为所述测试用例的第二权重;所述第二预设数值小于所述第一预设数值,所述测试功能范围内包括至少一种测试功能;
计算模块,用于计算所述第一权重与所述第二权重的和值,作为所述测试用例的权重,所述测试用例的权重用于表示所述测试用例的重要程度;
选取模块,用于确定待生成任务的多个执行时长;根据每个执行时长以及每个测试用例的预设执行时长和权重,生成与所述每个执行时长匹配的任务,每个生成的任务中包括至少一个测试用例;根据设置的测试时长,从多个任务对应的执行时长中,选取与所述测试时长的差值最小的执行时长,将所选取的执行时长匹配的任务作为目标任务,将所述目标任务中的测试用例确定为目标测试用例;
执行模块,用于执行所述目标测试用例,得到所述目标测试用例的执行结果;
所述选取模块,还用于对于所述每个执行时长,按照测试用例的权重从大到小的顺序选取测试用例,直至已选取的测试用例的预设执行时长的总和与所述执行时长之间的差值小于预设差值时,将所述已选取的测试用例作为与所述执行时长匹配的任务。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,用于对所述历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,得到所述第一权重。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
记录更新模块,用于当执行所述测试用例并得到所述测试用例的执行结果时,对所述测试用例的历史执行记录进行更新;
统计模块,用于对更新后的历史执行记录中包括的执行次数、执行结果、执行失败次数中的至少一项进行统计,获取权重修正因子和误差因子;
权重更新模块,用于根据所述权重修正因子和所述误差因子,对所述第一权重进行更新,得到更新后的第一权重,作为下一次测试时所述测试用例的第一权重。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调整模块,用于所述测试用例对应的测试功能为所述测试功能范围内的预设重点功能时,将所述测试用例的第二权重增加第三预设数值。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调整模块,用于所述测试用例对应的测试功能为预设基础功能时,将所述测试用例的第二权重增加第四预设数值。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
调整模块,用于所述测试用例对应的测试功能与所述测试功能范围内的测试功能无关联关系时,将所述测试用例的第二权重减小第五预设数值。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序,所述至少一条程序由所述处理器加载并执行,以实现如权利要求1至6任一项权利要求所述的测试用例执行方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质包括至少一条程序,所述至少一条程序由处理器执行以实现权利要求1至6任一项权利要求所述的测试用例执行方法。
CN201611258133.4A 2016-12-30 2016-12-30 测试用例执行方法及装置 Active CN108268366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611258133.4A CN108268366B (zh) 2016-12-30 2016-12-30 测试用例执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611258133.4A CN108268366B (zh) 2016-12-30 2016-12-30 测试用例执行方法及装置

Publications (2)

Publication Number Publication Date
CN108268366A CN108268366A (zh) 2018-07-10
CN108268366B true CN108268366B (zh) 2021-01-22

Family

ID=62754716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611258133.4A Active CN108268366B (zh) 2016-12-30 2016-12-30 测试用例执行方法及装置

Country Status (1)

Country Link
CN (1) CN108268366B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800144A (zh) * 2018-12-12 2019-05-24 北京京东尚科信息技术有限公司 应用程序的测试方法、系统及装置
CN109726124B (zh) * 2018-12-20 2023-06-02 北京爱奇艺科技有限公司 测试系统、测试方法、管理装置、测试装置及计算设备
CN109902019A (zh) * 2019-03-11 2019-06-18 北京城市网邻信息技术有限公司 一种基于多维权重的自动化测试分级方法及系统
CN110737587B (zh) * 2019-09-06 2022-05-27 平安科技(深圳)有限公司 一种基于测试案例的测试方法、装置、存储介质和服务器
CN110727552B (zh) * 2019-10-12 2023-10-31 深圳市元征科技股份有限公司 一种设备测试方法、系统、电子设备及存储介质
CN110955593B (zh) * 2019-10-28 2023-07-14 北京三快在线科技有限公司 客户端测试方法、装置、电子设备及可读存储介质
CN110633222B (zh) * 2019-11-01 2023-01-20 中国银行股份有限公司 一种回归测试用例的确定方法及装置
CN113590390A (zh) * 2020-04-30 2021-11-02 鸿富锦精密电子(郑州)有限公司 动态智能测试方法、系统、计算机装置及存储介质
CN111930613B (zh) * 2020-07-14 2023-11-28 深圳市紫光同创电子有限公司 待测芯片的测试用例生成方法、装置、电子设备以及介质
CN114218069B (zh) 2021-11-16 2022-09-23 北京百度网讯科技有限公司 回归测试方法、装置、电子设备及存储介质
CN116737597B (zh) * 2023-08-10 2023-10-20 杭银消费金融股份有限公司 测试用例处理方法、系统与存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661425B (zh) * 2008-08-26 2012-03-21 国际商业机器公司 测试覆盖分析方法和装置
CN102214139B (zh) * 2011-06-01 2013-11-27 北京航空航天大学 一种面向分布式系统的自动化测试的执行控制与调度方法
CN103365765B (zh) * 2012-03-28 2016-10-12 腾讯科技(深圳)有限公司 测试用例筛选方法和系统
CN105701004B (zh) * 2014-11-28 2020-12-08 深圳市腾讯计算机系统有限公司 一种应用测试方法和装置
CN105930257B (zh) * 2015-10-12 2018-12-28 中国银联股份有限公司 一种确定目标测试用例的方法及装置
CN105528288B (zh) * 2015-12-01 2018-12-14 深圳市迪菲特科技股份有限公司 一种软件测试方法以及装置

Also Published As

Publication number Publication date
CN108268366A (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN108268366B (zh) 测试用例执行方法及装置
CN106502906B (zh) 一种测试应用程序的方法和装置
CN106708676B (zh) 接口测试方法及装置
CN110163367B (zh) 一种终端部署方法和装置
CN106649126B (zh) 一种对应用程序进行测试的方法和装置
CN105630685A (zh) 程序接口测试方法及装置
CN104516812A (zh) 一种软件测试方法和装置
US10663521B2 (en) Method and device for ascertaining required charging time
CN106294168B (zh) 一种进行应用程序测试的方法和系统
CN110895509B (zh) 一种测试处理方法、装置、电子设备及存储介质
CN107783906A (zh) 测试方法、装置及存储介质
CN105610878B (zh) 目录上传方法、数据发布方法、终端及服务器
CN104809055B (zh) 一种基于云平台的应用程序测试方法和装置
CN112199246A (zh) 终端测试方法、装置、存储介质及移动终端
CN109688611B (zh) 一种频段参数的配置方法、装置、终端和存储介质
CN112749074A (zh) 一种测试用例推荐方法以及装置
CN107122036B (zh) 中央处理器频率调节方法及装置
CN107122204B (zh) 应用的卸载状态检测方法及装置
CN108269223B (zh) 一种网页图形绘制方法及终端
CN110175104A (zh) 电量使用时长的计算方法、终端及计算机可读存储介质
CN114677070A (zh) 工单消息处理方法、装置、电子设备以及存储介质
CN106341436B (zh) 加速效果的检测方法及装置
CN113918757A (zh) 应用推荐方法、装置、电子设备及存储介质
CN108900361B (zh) 云资源配置确定方法、装置及电子设备
CN107302446B (zh) 一种基于纸币的算法仿真验证方法、客户端及终端设备

Legal Events

Date Code Title Description
PB01 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