CN108153661A - 执行测试用例的方法和装置 - Google Patents

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

Info

Publication number
CN108153661A
CN108153661A CN201611106494.7A CN201611106494A CN108153661A CN 108153661 A CN108153661 A CN 108153661A CN 201611106494 A CN201611106494 A CN 201611106494A CN 108153661 A CN108153661 A CN 108153661A
Authority
CN
China
Prior art keywords
function point
test case
priority
index
test
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.)
Pending
Application number
CN201611106494.7A
Other languages
English (en)
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 CN201611106494.7A priority Critical patent/CN108153661A/zh
Publication of CN108153661A publication Critical patent/CN108153661A/zh
Pending legal-status Critical Current

Links

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

Abstract

本发明公开了一种执行测试用例的方法和装置。其中,该方法包括:获取目标产品的全部测试用例,其中,目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi);根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数;根据分数确定N个功能点中每个功能点的重要程度;按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;按照全部测试用例中的多个测试用例的优先级的顺序执行多个测试用例。本发明解决了现有技术中执行测试用例效率低的技术问题。

Description

执行测试用例的方法和装置
技术领域
本发明涉及测试领域,具体而言,涉及一种执行测试用例的方法和装置。
背景技术
随着互联网时代节奏的日益加快,许多产品都会在版本迭代中对功能做加法。测试人员最开始设计测试用例的时候追求做到“全面”,导致测试用例也不知不觉中在做加法。因此很容易出现以下几种情况:
由于测试人员分工的不断调整,同个模块的测试用例的维护经过几轮不同编写风格的迭代,测试用例格式不统一,导致测试用例可读性差。
当产品的版本进行更新之后,有些旧版本对应的测试用例并不对应着测试的核心内容,然而却占据着高的优先级,导致测试用例的执行效率低下。
一个产品有多个版本,每个版本都有一份该版本的测试用例以及一份总用例,总用例文件分散,测试用例数量庞大,无整体清晰视图,测试执行时间冗长,执行效率低下。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种执行测试用例的方法和装置,以至少解决现有技术中执行测试用例效率低的技术问题。
根据本发明实施例的一个方面,提供了一种执行测试用例的方法,包括:获取目标产品的全部测试用例,其中,所述目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;根据第一指标和/或第二指标对所述N个功能点分别进行评分,得到所述N个功能点中每个功能点的分数,其中,所述第一指标用于指示所述功能点的用户使用频率的情况,所述第二指标用于指示所述功能点的缺陷情况;根据分数确定所述N个功能点中每个功能点的重要程度;按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;按照所述全部测试用例中的多个测试用例的优先级的顺序执行所述多个测试用例。
根据本发明实施例的另一方面,还提供了一种执行测试用例的装置,包括:获取单元,用于获取目标产品的全部测试用例,其中,所述目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;评分单元,用于根据第一指标和/或第二指标对所述N个功能点分别进行评分,得到所述N个功能点中每个功能点的分数,其中,所述第一指标用于指示所述功能点的用户使用频率的情况,所述第二指标用于指示所述功能点的缺陷情况;确定单元,用于根据分数确定所述N个功能点中每个功能点的重要程度;标注单元,用于按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;执行单元,用于按照所述全部测试用例中的多个测试用例的优先级的顺序执行所述多个测试用例。
在本发明实施例中,根据第一指标和/或第二指标确定功能点的重要程度,如果某一个功能点很重要,那么就将该功能点对应的测试用例的优先级标注为高优先级,如果某一个功能点不重要,那么就将该功能点对应的测试用例的优先级标注为低优先级,在执行测试用例的时候,按照优先级从高到低的顺序执行测试用例,在时间紧张的情况下,只执行高优先级的测试用例,达到了提高执行测试用例的效率的技术效果,进而解决了现有技术中执行测试用例效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的网络构架的示意图;
图2是根据本发明实施例的一种可选的执行测试用例的方法的示意图;
图3是根据本发明实施例的缺陷情况的示意图;
图4是根据本发明实施例的另一种可选的执行测试用例的方法的示意图;
图5是根据本发明实施例的产品能力矩阵图;
图6是根据本发明实施例的产品的矩阵热力图;
图7-1是根据本发明实施例的一种可选的合并测试用例的方法的示意图;
图7-2是根据本发明实施例的另一种可选的合并测试用例的方法的示意图;
图8是根据本发明实施例的一种可选的执行测试用例的装置的示意图;
图9是根据本发明实施例的服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
技术术语解释:
统计点:统计点是为了统计用户的一些行为操作,在产品预埋下的点。
ACC:全称Attributes Components Compatibilities,是一种建模方法,是对测试内容进行划分属性(Attributes),部件(Components),组成能力表(Compatibilities),用来快速地建立产品的模型,以指导下一步的测试计划和设计。
根据本发明实施例,提供了一种执行测试用例的方法的实施例。
可选地,在本实施例中,上述执行测试用例的方法可以应用于如图1所示的由服务器102和终端104、终端106所构成的硬件环境中。如图1所示,服务器102通过网络与终端104、终端106进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104、终端106并不限定于PC、手机、平板电脑等。本发明实施例的执行测试用例的方法由服务器102和终端104、终端106共同执行。本发明实施例提供的网络构架图如图1所示。如图1所示,终端104向服务器102上报每个功能点的用户使用频率的情况、缺陷情况。服务器102根据每个功能点的用户使用频率的情况、缺陷情况对每个功能点进行评分,得到每个功能点的分数,根据分数确定每个功能点的重要程度,按照每个功能点的重要程度对该功能点对应的测试用例的优先级进行标注。终端106按照优先级由高至低的顺序执行测试用例。
根据本发明实施例,提供了一种执行测试用例的方法,如图2所示,该方法包括以下步骤:
步骤S202,获取目标产品的全部测试用例,其中,目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数。
步骤S204,根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数,其中,第一指标用于指示功能点的用户使用频率的情况,第二指标用于指示功能点的缺陷情况。
步骤S206,根据分数确定N个功能点中每个功能点的重要程度。
步骤S208,按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注。
步骤S210,按照全部测试用例中的多个测试用例的优先级的顺序执行多个测试用例。
一个产品往往包括多个功能点。每个功能点对应多个测试用例,通过执行某个功能点的测试用例,根据执行结果能够知道该功能点是否稳定、可靠、易用。
每个功能点的用户使用频率和缺陷情况可能与其他功能点都是不完全相同的。
如果需要知道一个产品的性能情况,就需要测试它的全部或部分重要功能点是否使用情况良好。在本发明实施例中,需要知道目标产品的性能情况。目标产品有N个功能点。这N个功能点的重要程度并不是完全相同的。如果某个功能点的用户使用频率高并且在使用过程中经常出现缺陷,则该功能点就需要重点关注。如果某个功能点的用户使用频率低并且在使用过程中几乎不出现缺陷,则该功能点就不需要重点关注。
w1、w2不能同时为0。
当w1=0,并且w2>0时,根据第二指标对功能点进行评分。
当w1>0,并且w2=0时,根据第一指标对功能点进行评分。
当w1>0,并且w2>0时,根据第一指标和第二指标对N个功能点进行评分,如果需要突出某个指标在对功能点评分时的重要作用,则只需将该指标的权重提高。
举例来说,表1中有10个功能点,功能点的重要程度由高至低的顺序为“A”、“B”、“C”、“D”。功能点F1、功能点F6的重要程度是“A”,功能点F1对应的100个测试用例和功能点F6对应的120个测试用例优先执行。功能点F9的重要程度是“D”,功能点F9对应的200个测试用例最后执行。
通过将重要功能点对应的测试用例优先执行,能够在时间紧张的情况下,得到重要功能点的测试结果,提高了测试效率,能够在时间、人力、物力紧张的情况下,得到较好的测试结果。
表1
在本发明实施例中,根据第一指标和/或第二指标确定功能点的重要程度,如果某一个功能点很重要,那么就将该功能点对应的测试用例的优先级标注为高优先级,如果某一个功能点不重要,那么就将该功能点对应的测试用例的优先级标注为低优先级,在执行测试用例的时候,按照优先级从高到低的顺序执行测试用例,在时间紧张的情况下,只执行高优先级的测试用例,解决了现有技术中执行测试用例效率低的技术问题,达到了提高执行测试用例的效率的技术效果。
可选地,根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数包括:按照以下公式计算第i个功能点的分数:Si=w1×第一指标+w2×第二指标,其中,Si是第i个功能点的分数,w1是第一指标的权重,w2是第二指标的权重,w1≥0,w2≥0。
第一指标用于指示功能点的用户使用频率的情况,第二指标用于指示功能点的缺陷情况。
第一指标可以有多种表示方式,例如可以使用渗透率作为第一指标。
渗透率=功能点的点击人数/用户数。
其中,用户数是指安装了目标产品的人数。功能点的点击人数是指点击(或者以其他方式使用)了该功能点的人数。
例如,假设一共有1亿人安装了目标产品,其中,这1亿人中有6千万人点击了功能点F1,有8千万人点击了功能点F2,有3百万人点击了功能点F3。则功能点F1的渗透率=6千万/1亿=0.6;功能点F2的渗透率=8千万/1亿=0.8;功能点F3的渗透率=3百万/1亿=0.03。
第二指标可以有多种表示方式,例如可以使用缺陷密度作为第二指标。
缺陷密度=功能点的缺陷数量/目标产品的总缺陷数。
其中,当用户通过终端使用目标产品的某个功能点时,如果出现缺陷,用户可以通过目标产品的用户反馈入口填写缺陷信息,终端会将缺陷信息上报给服务器。
例如,目标产品的总缺陷数是100,功能点F1的缺陷数量是3,功能点F2的缺陷数量是15,功能点F3的缺陷数量是9。则功能点F1的缺陷密度=3/100=3%;功能点F2的缺陷密度=15/100=15%;功能点F3的缺陷密度=9/100=9%。
例如,图3示出了某个产品发布后运营整理的用户反馈缺陷情况,可以得出WiFi连接的缺陷密度=5/9=55.6%,安全扫描缺陷密度=45.4%。
可选地,目标产品具有多个类别的测试用例,按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注包括:判断测试用例T(i,k)的类别;将测试用例T(i,k)的类别作为目标类别;根据第i个功能点的重要程度和目标类别对测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
测试用例的类别可以划分为以下几类:统计点涉及的场景对应的测试用例、异常场景对应的测试用例、复杂长路径测试用例、入口与跳转逻辑等基础功能的正常路径测试用例。
一个测试用例的优先级可以由该测试用例的类别和其对应的功能点共同决定。
一般情况下,同一个功能点对应的多个测试用例中,优先级由高至低的顺序是:统计点涉及的场景对应的测试用例、异常场景对应的测试用例、复杂长路径测试用例。
如果有多个测试用例为同一类型的测试用例,并且对应不同的功能点,那么,对应的功能点重要程度高的测试用例的优先级较高。例如,测试用例T(1,1)、测试用例T(1,2)为功能点F1对应的测试用例;测试用例T(2,1)、测试用例T(2,2)、测试用例T(2,3)、测试用例T(2,4)、测试用例T(2,5)为功能点F2对应的测试用例;测试用例T(3,1)、测试用例T(3,2)、测试用例T(3,3)为功能点F3对应的测试用例。假设测试用例T(1,1)、测试用例T(1,2)、测试用例T(2,1)、测试用例T(2,2)、测试用例T(2,3)、测试用例T(2,4)、测试用例T(2,5)、测试用例T(3,1)、测试用例T(3,2)、测试用例T(3,3)均为异常场景对应的测试用例,功能点F3的重要程度>功能点F1的重要程度>功能点F2的重要程度。那么,测试用例T(3,1)、测试用例T(3,2)、测试用例T(3,3)的优先级最高,测试用例T(1,1)、测试用例T(1,2)的优先级次高,测试用例T(2,1)、测试用例T(2,2)、测试用例T(2,3)、测试用例T(2,4)、测试用例T(2,5)的优先级最低。
可选地,根据第i个功能点的重要程度和目标类别对测试用例T(i,k)的优先级进行标注包括:查找与第i个功能点的重要程度、目标类别相关联的优先级;将查找到的优先级作为目标优先级;将测试用例T(i,k)的优先级标注为目标优先级。
可以事先在数据库中存储功能点的重要程度、测试用例的类别与优先级的关联关系。当需要标注测试用例的优先级时,查找与该测试用例的类别、该测试用例对应的功能点的重要程度相关联的优先级,将查找到的优先级作为该测试用例的优先级(目标优先级)。
例如,数据库中存储了表2,重要程度由高到低的顺序是:A>B>C>D。假设测试用例T(2,1)、测试用例T(2,2)、测试用例T(2,3)、测试用例T(2,4)、测试用例T(2,5)为功能点F2对应的测试用例,功能点F2的重要程度是A,测试用例T(2,1)、测试用例T(2,2)是异常场景对应的测试用例,测试用例T(2,3)、测试用例T(2,4)是统计点涉及的场景对应的测试用例,测试用例T(2,5)是复杂长路径测试用例。经过查询表2可知,测试用例T(2,1)、测试用例T(2,2)为2级优先级;测试用例T(2,3)、测试用例T(2,4)是1级优先级;测试用例T(2,5)是3级优先级。在执行测试用例的时候,按照优先级由高至低的顺序执行测试用例,即,先执行测试用例T(2,3)、测试用例T(2,4),再执行测试用例T(2,1)、测试用例T(2,2),最后执行测试用例T(2,5)。同一优先级的测试用例执行不分先后,即,执行测试用例T(2,3)、测试用例T(2,4)的顺序不需要限定。
表2
可选地,在获取目标产品的全部测试用例之后,并且,在对测试用例的优先级进行标注之前,方法还包括:将全部测试用例的格式进行统一,如统一为思维导图或excel的形式。将测试用例的格式进行统一的好处是:增强测试用例的可读性。
可选地,在获取目标产品的全部测试用例之后,并且,在对测试用例的优先级进行标注之前,方法还包括:删除与功能点无关的测试用例;将操作与结果分开的测试用例合并为一个测试用例;将可进行组合的场景对应的多个测试用例合并为一个测试用例。
通过把操作与结果分开写的测试用例合并为完整的测试路径,或者把可组合的场景的用例组合起来,能够减少测试用例的分支扩散,有效精简测试用例。
根据本发明实施例,还提供了另一种执行测试用例的方法,如图4所示,该方法包括以下步骤:
步骤S402,梳理产品能力矩阵图。
先确认当前的功能点的属性值(即与竞争对手相区别的关键特征),再根据从HTSM的角度确立对应的能力(即产品实现其核心价值的手段),得出产品能力矩阵图。
图5示出了一种产品能力矩阵图。如图5所示,“WIFI识别”对应着4个功能点,分别为“快速识别出免费WIFI”、“正确识别出符合条件的免费WIFI”、“一键识别操作简单”、“识别后在列表有明确显示”。“新闻资讯”对应着3个功能点,分别为“联网后进入发现页即可看到资讯”、“上滑下拉操作方便”、“资讯图片、文字显示正常”。
步骤S404,梳理统计点数据。统计点数据即为上述第一指标,可以是渗透率。
渗透率=功能点的点击人数/用户数。
其中,用户数是指安装了目标产品的人数。功能点的点击人数是指点击(或者以其他方式使用)了该功能点的人数。
例如,假设一共有1亿人安装了目标产品,其中,这1亿人中有6千万人点击了功能点F1,有8千万人点击了功能点F2,有3百万人点击了功能点F3。则功能点F1的渗透率=6千万/1亿=0.6;功能点F2的渗透率=8千万/1亿=0.8;功能点F3的渗透率=3百万/1亿=0.03。
步骤S406,梳理缺陷密度。缺陷密度即为上述第二指标。
缺陷密度=功能点的缺陷数量/目标产品的总缺陷数。
其中,当用户的终端使用目标产品的某个功能时,如果出现了缺陷,用户可以通过目标产品的用户反馈入口填写缺陷信息,终端会将缺陷信息上报给服务器。
例如,目标产品的总缺陷数是100,功能点F1的缺陷数量是3,功能点F2的缺陷数量是15,功能点F3的缺陷数量是9。则功能点F1的缺陷密度=3/100=3%;功能点F2的缺陷密度=15/100=15%;功能点F3的缺陷密度=9/100=9%。
步骤S408,结合两个用户数据加权得出功能点的重要程度。
可以按照以下公式计算第i个功能点的分数:Si=w1×渗透率+w2×缺陷密度,其中,Si是第i个功能点的分数,w1是统计点数据的权重,w2是缺陷密度的权重,w1、w2均大于0。例如,w1=50%,w2=50%,假设某一个功能点的渗透率是90%,缺陷密度55.6%,该功能点的分数为72.8%。
当根据上述公式计算出所有功能点的分数之后,按照分数由高到低对所有功能点进行排序,根据排序结果确定出所有功能点的重要程度。
例如,可以将位于排序结果的最前面20%的功能点作为重要程度为A的功能点;将位于排序结果的20%至40%的功能点作为重要程度为B的功能点;将位于排序结果的40%至60%的功能点作为重要程度为C的功能点;将位于排序结果的最后面40%的功能点作为重要程度为D的功能点。其中,A>B>C>D。
再例如,假设目标产品一共有100个功能点,按照上述公式分别计算这100个功能点的分数,按照分数由高至低的顺序对这100个功能点进行排序,得到的顺序为:功能点F1、功能点F2、功能点F3、……、功能点F100。如表3所示,将位于排序结果前20%的20个功能点([功能点F1,功能点F20])作为重要程度为“最高”的功能点;将位于排序结果20%至40%的20个功能点([功能点F21,功能点F40])作为重要程度为“高”的功能点;将位于排序结果40%至60%的20个功能点([功能点F41,功能点F60])作为重要程度为“中”的功能点;将位于排序结果最后面40%的40个功能点([功能点F61,功能点F100])作为重要程度为“低”的功能点。
表3
功能点 重要程度
[功能点F1,功能点F20] 最高
[功能点F21,功能点F40]
[功能点F41,功能点F60]
[功能点F61,功能点F100]
步骤S410,确定产品的矩阵热力图。
如表4所示,重要程度为“最高”的功能点对应的颜色为红色,重要程度为“高”的功能点对应的颜色为橙色,重要程度为“中”的功能点对应的颜色为粉红色,重要程度为“低”的功能点对应的颜色为绿色。
表4
功能点 重要程度 对应的颜色
[功能点F1,功能点F20] 最高 红色
[功能点F21,功能点F40] 橙色
[功能点F41,功能点F60] 粉红色
[功能点F61,功能点F100] 绿色
根据表4中功能点的重要程度与对应的颜色的关系,将图5进行颜色的标注,得到图6。图6中,“R”表示该区域的颜色为红色,“O”表示该区域的颜色为橙色,“P”表示该区域的颜色为粉红色,“G”表示该区域的颜色为绿色。
步骤S412,根据热力图,精简测试用例。
精简测试用例可以分为两个步骤进行。步骤一、预处理;步骤二、标注优先级。
下面对步骤一、预处理进行详细说明。
将全部测试用例的格式进行统一,如统一为思维导图或excel的形式。
删除与功能点无关的测试用例;删除已过时的需求对应的测试用例,确保当下测试用例为最新。
把操作与结果分开写的用例合并为完整的测试路径(如图7-1所示),或者把可组合的场景的用例组合起来(运用场景组合如图7-2、正交法、最大路径组合等方式),减少用例的分支扩散。
下面结合表5对步骤二、标注优先级进行详细说明。
根据与功能点重要程度强关联的原则,在热力图(图6)为重要程度低的功能点,只保留功能可用性相关的测试用例且优先级置低。因为在整个产品功能里面,若一个功能点重要程度较低却写了很多测试用例,那么需要反思一下是不是测试策略定位有问题。
也就是说,功能点的重要程度低,那么对应的测试用例应该是较少的,同时测试执行优先级也不会很高。
在热力图为重要程度高的功能点,应保留较多的测试用例,只删除与功能无关、废弃过时、或过于复杂的测试用例,并且把统计点和缺陷密度涉及的场景对应的用例标注较高优先级,其余异常或复杂路径按情况定义不同优先级。
由于重要程度高的功能点的数量不会太多,将重要程度高的功能点对应的测试用例多保留一些,方便对整体功能的把握,并且,不会加重测试的负担。
表5
步骤S414,执行测试用例,收集成效。
如表6所示,功能点“WIFI管家”精简测试用例前,全量测试用例为766个,上线前测试用例为38个,经过步骤S412精简测试用例之后,全量测试用例减少为459个,减少的测试用例数量占精简前测试用例数量比例为40.10%;上线前测试用例减少为23个,减少的测试用例数量占精简前测试用例数量比例为39.50%。
表6
WIFI管家 原测试用例数 精简后测试用例数 精简比例
全量测试用例 766 459 40.10%
上线前测试用例 38 23 39.50%
如表7第2列所示,现有技术中执行测试用例的策略是全部执行,需要耗费大量的时间、物力、人力。而本发明实施例提供的执行策略如表7第3列所示,大大减少了需要执行的测试用例的数量,而且根据优先级由高至低的顺序执行测试用例,即使在时间非常紧张的情况下,也能得到良好的测试效果。
表7
表8示出了根据本发明实施例的执行测试用例的方法精简测试用例,并执行精简后的测试用例后的执行效率和执行质量。能够看出,相比于现有技术的方法,本发明实施例的执行测试用例的方法大大缩短了执行测试用例的时间、提升了效率,并保证了执行质量。
表8
本发明实施例中,运用了ACC建模法建立核心功能点的能力矩阵图,再根据产品数据(埋点上报+缺陷密度)来确定功能点的重要程度,再确定各个功能点对应的测试用例的优先级,删减过时的测试用例,优先执行高优先级的测试用例。并且,对测试用例的格式进行了统一管理,将测试用例的格式统一为mm图,增强了测试用例的可读性。
在本发明实施例中,对测试用例的优先级进行标注之后,一个测试用例只有唯一的一个优先级,在根据优先级的先后顺序执行测试用例的过程中,不会出现一个测试用例对应多个优先级导致执行出错的问题。
除了ACC+统计点结合,也可以通过代码覆盖率角度来验证用例精简的科学性。区别在于ACC+统计点是基于用户操作来评估测试优先级,而代码覆盖率是通过所覆盖的代码比例来评估测试优先级。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例,还提供了一种用于实施上述执行测试用例的方法的执行测试用例的装置,如图8所示,该执行测试用例的装置包括:获取单元10、评分单元20、确定单元30、标注单元40、执行单元50。
获取单元10,用于获取目标产品的全部测试用例,其中,目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数。
评分单元20,用于根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数,其中,第一指标用于指示功能点的用户使用频率的情况,第二指标用于指示功能点的缺陷情况。
确定单元30,用于根据分数确定N个功能点中每个功能点的重要程度。
标注单元40,用于按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注。
执行单元50,用于按照全部测试用例中的多个测试用例的优先级的顺序执行多个测试用例。
可选地,评分单元20包括:评分子单元。评分子单元,用于按照以下公式计算第i个功能点的分数:Si=w1×第一指标+w2×第二指标,其中,Si是第i个功能点的分数,w1是第一指标的权重,w2是第二指标的权重,w1≥0,w2≥0,并且w1、w2不同时为0。
可选地,目标产品具有多个类别的测试用例,标注单元40包括:判断子单元、确定子单元、标注子单元。判断子单元,用于判断测试用例T(i,k)的类别。确定子单元,用于将测试用例T(i,k)的类别作为目标类别。标注子单元,用于根据第i个功能点的重要程度和目标类别对测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
可选地,标注子单元包括:查找模块、确定模块、标注模块。查找模块,用于查找与第i个功能点的重要程度、目标类别相关联的优先级。确定模块,用于将查找到的优先级作为目标优先级。标注模块,用于将测试用例T(i,k)的优先级标注为目标优先级。
可选地,装置还包括:统一单元。统一单元,用于在获取单元10获取目标产品的全部测试用例之后,并且,在标注单元40对测试用例的优先级进行标注之前,将全部测试用例的格式进行统一。
可选地,装置还包括:删除单元。删除单元,用于在获取单元10获取目标产品的全部测试用例之后,并且,在标注单元40对测试用例的优先级进行标注之前,删除与功能点无关的测试用例。
可选地,装置还包括:第一合并单元、第二合并单元。第一合并单元,用于在获取单元10获取目标产品的全部测试用例之后,并且,在标注单元40对测试用例的优先级进行标注之前,将操作与结果分开的测试用例合并为一个测试用例。第二合并单元,用于在获取单元10获取目标产品的全部测试用例之后,并且,在标注单元40对测试用例的优先级进行标注之前,将可进行组合的场景对应的多个测试用例合并为一个测试用例。
根据本发明实施例,还提供了一种用于实施上述执行测试用例的方法的服务器,如图9所示,该服务器主要包括处理器901、显示器903、数据接口904、存储器905和网络接口906,其中:
数据接口904则主要通过数据传输的方式将第一指标、第二指标传输给处理器901。
存储器905主要用于存储第一指标、第二指标、渗透率、缺陷密度等。
网络接口906主要用于与终端和其他服务器进行网络通信。
显示器903主要用于显示第一指标、第二指标、渗透率、缺陷密度。
处理器901主要用于执行如下操作:
获取目标产品的全部测试用例,其中,目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数,其中,第一指标用于指示功能点的用户使用频率的情况,第二指标用于指示功能点的缺陷情况;根据分数确定N个功能点中每个功能点的重要程度;按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;按照全部测试用例中的多个测试用例的优先级的顺序执行多个测试用例。
处理器901还用于执行:按照以下公式计算第i个功能点的分数:Si=w1×第一指标+w2×第二指标,其中,Si是第i个功能点的分数,w1是第一指标的权重,w2是第二指标的权重,w1≥0,w2≥0,并且w1、w2不同时为0。
处理器901还用于执行:判断测试用例T(i,k)的类别;将测试用例T(i,k)的类别作为目标类别;根据第i个功能点的重要程度和目标类别对测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
处理器901还用于执行:查找与第i个功能点的重要程度、目标类别相关联的优先级;将查找到的优先级作为目标优先级;将测试用例T(i,k)的优先级标注为目标优先级。
处理器901还用于执行:将全部测试用例的格式进行统一。
处理器901还用于执行:删除与功能点无关的测试用例。
处理器901还用于执行:将操作与结果分开的测试用例合并为一个测试用例;将可进行组合的场景对应的多个测试用例合并为一个测试用例。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的执行测试用例的方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取目标产品的全部测试用例,其中,目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;
S2,根据第一指标和/或第二指标对N个功能点分别进行评分,得到N个功能点中每个功能点的分数,其中,第一指标用于指示功能点的用户使用频率的情况,第二指标用于指示功能点的缺陷情况;
S3,根据分数确定N个功能点中每个功能点的重要程度;
S4,按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;
S5,按照全部测试用例中的多个测试用例的优先级的顺序执行多个测试用例。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:按照以下公式计算第i个功能点的分数:Si=w1×第一指标+w2×第二指标,其中,Si是第i个功能点的分数,w1是第一指标的权重,w2是第二指标的权重,w1≥0,w2≥0,并且w1、w2不同时为0。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:判断测试用例T(i,k)的类别;将测试用例T(i,k)的类别作为目标类别;根据第i个功能点的重要程度和目标类别对测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:查找与第i个功能点的重要程度、目标类别相关联的优先级;将查找到的优先级作为目标优先级;将测试用例T(i,k)的优先级标注为目标优先级。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:将全部测试用例的格式进行统一。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:删除与功能点无关的测试用例。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:将操作与结果分开的测试用例合并为一个测试用例;将可进行组合的场景对应的多个测试用例合并为一个测试用例。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种执行测试用例的方法,其特征在于,包括:
获取目标产品的全部测试用例,其中,所述目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;
根据第一指标和/或第二指标对所述N个功能点分别进行评分,得到所述N个功能点中每个功能点的分数,其中,所述第一指标用于指示所述功能点的用户使用频率的情况,所述第二指标用于指示所述功能点的缺陷情况;
根据分数确定所述N个功能点中每个功能点的重要程度;
按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;
按照所述全部测试用例中的多个测试用例的优先级的顺序执行所述多个测试用例。
2.根据权利要求1所述的方法,其特征在于,根据第一指标和/或第二指标对所述N个功能点分别进行评分,得到所述N个功能点中每个功能点的分数包括:
按照以下公式计算第i个功能点的分数:
Si=w1×第一指标+w2×第二指标,
其中,Si是所述第i个功能点的分数,w1是所述第一指标的权重,w2是所述第二指标的权重,w1≥0,w2≥0,并且w1、w2不同时为0。
3.根据权利要求1所述的方法,其特征在于,所述目标产品具有多个类别的测试用例,按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注包括:
判断测试用例T(i,k)的类别;
将所述测试用例T(i,k)的类别作为目标类别;
根据所述第i个功能点的重要程度和所述目标类别对所述测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
4.根据权利要求3所述的方法,其特征在于,根据所述第i个功能点的重要程度和所述目标类别对所述测试用例T(i,k)的优先级进行标注包括:
查找与所述第i个功能点的重要程度、所述目标类别相关联的优先级;
将查找到的优先级作为目标优先级;
将所述测试用例T(i,k)的优先级标注为所述目标优先级。
5.根据权利要求1所述的方法,其特征在于,在获取目标产品的全部测试用例之后,并且,在对测试用例的优先级进行标注之前,所述方法还包括:
将所述全部测试用例的格式进行统一。
6.根据权利要求1所述的方法,其特征在于,在获取目标产品的全部测试用例之后,并且,在对测试用例的优先级进行标注之前,所述方法还包括:
删除与功能点无关的测试用例。
7.根据权利要求1所述的方法,其特征在于,在获取目标产品的全部测试用例之后,并且,在对测试用例的优先级进行标注之前,所述方法还包括:
将操作与结果分开的测试用例合并为一个测试用例;
将可进行组合的场景对应的多个测试用例合并为一个测试用例。
8.一种执行测试用例的装置,其特征在于,包括:
获取单元,用于获取目标产品的全部测试用例,其中,所述目标产品有N个功能点,第i个功能点对应mi个测试用例,分别为测试用例T(i,1)至测试用例T(i,mi),N为大于1的自然数,i依次取1至N,mi为大于等于1的自然数;
评分单元,用于根据第一指标和/或第二指标对所述N个功能点分别进行评分,得到所述N个功能点中每个功能点的分数,其中,所述第一指标用于指示所述功能点的用户使用频率的情况,所述第二指标用于指示所述功能点的缺陷情况;
确定单元,用于根据分数确定所述N个功能点中每个功能点的重要程度;
标注单元,用于按照第i个功能点的重要程度对测试用例T(i,1)至测试用例T(i,mi)的优先级进行标注;
执行单元,用于按照所述全部测试用例中的多个测试用例的优先级的顺序执行所述多个测试用例。
9.根据权利要求8所述的装置,其特征在于,所述评分单元包括:
评分子单元,用于按照以下公式计算第i个功能点的分数:
Si=w1×第一指标+w2×第二指标,
其中,Si是所述第i个功能点的分数,w1是所述第一指标的权重,w2是所述第二指标的权重,w1≥0,w2≥0,并且w1、w2不同时为0。
10.根据权利要求8所述的装置,其特征在于,所述目标产品具有多个类别的测试用例,所述标注单元包括:
判断子单元,用于判断测试用例T(i,k)的类别;
确定子单元,用于将所述测试用例T(i,k)的类别作为目标类别;
标注子单元,用于根据所述第i个功能点的重要程度和所述目标类别对所述测试用例T(i,k)的优先级进行标注,其中,k依次取1至mi
11.根据权利要求10所述的装置,其特征在于,所述标注子单元包括:
查找模块,用于查找与所述第i个功能点的重要程度、所述目标类别相关联的优先级;
确定模块,用于将查找到的优先级作为目标优先级;
标注模块,用于将所述测试用例T(i,k)的优先级标注为所述目标优先级。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
统一单元,用于在所述获取单元获取目标产品的全部测试用例之后,并且,在所述标注单元对测试用例的优先级进行标注之前,将所述全部测试用例的格式进行统一。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
删除单元,用于在所述获取单元获取目标产品的全部测试用例之后,并且,在所述标注单元对测试用例的优先级进行标注之前,删除与功能点无关的测试用例。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一合并单元,用于在所述获取单元获取目标产品的全部测试用例之后,并且,在所述标注单元对测试用例的优先级进行标注之前,将操作与结果分开的测试用例合并为一个测试用例;
第二合并单元,用于在所述获取单元获取目标产品的全部测试用例之后,并且,在所述标注单元对测试用例的优先级进行标注之前,将可进行组合的场景对应的多个测试用例合并为一个测试用例。
CN201611106494.7A 2016-12-05 2016-12-05 执行测试用例的方法和装置 Pending CN108153661A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611106494.7A CN108153661A (zh) 2016-12-05 2016-12-05 执行测试用例的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611106494.7A CN108153661A (zh) 2016-12-05 2016-12-05 执行测试用例的方法和装置

Publications (1)

Publication Number Publication Date
CN108153661A true CN108153661A (zh) 2018-06-12

Family

ID=62469816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611106494.7A Pending CN108153661A (zh) 2016-12-05 2016-12-05 执行测试用例的方法和装置

Country Status (1)

Country Link
CN (1) CN108153661A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902019A (zh) * 2019-03-11 2019-06-18 北京城市网邻信息技术有限公司 一种基于多维权重的自动化测试分级方法及系统
CN110928760A (zh) * 2018-09-20 2020-03-27 杭州海康汽车技术有限公司 一种嵌入式系统中的单元测试方法与装置
CN111309608A (zh) * 2020-02-13 2020-06-19 咪咕音乐有限公司 测试用例的选择方法、装置、电子设备和可读存储介质
CN112019544A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 网络接口的安全扫描方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206760A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Method and apparatus for supporting verification of hardware and software, and computer product
CN102214139A (zh) * 2011-06-01 2011-10-12 北京航空航天大学 一种面向分布式系统的自动化测试的执行控制与调度方法
CN104346278A (zh) * 2014-09-28 2015-02-11 上海新炬网络技术有限公司 一种基于矩阵模型的软件测试方法
CN104407970A (zh) * 2014-11-06 2015-03-11 国云科技股份有限公司 一种新型软件测试用例设计编写方法
CN105824746A (zh) * 2015-01-05 2016-08-03 中国移动(深圳)有限公司 一种基于用例依赖关系自动生成测试调度的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206760A1 (en) * 2005-03-14 2006-09-14 Fujitsu Limited Method and apparatus for supporting verification of hardware and software, and computer product
CN102214139A (zh) * 2011-06-01 2011-10-12 北京航空航天大学 一种面向分布式系统的自动化测试的执行控制与调度方法
CN104346278A (zh) * 2014-09-28 2015-02-11 上海新炬网络技术有限公司 一种基于矩阵模型的软件测试方法
CN104407970A (zh) * 2014-11-06 2015-03-11 国云科技股份有限公司 一种新型软件测试用例设计编写方法
CN105824746A (zh) * 2015-01-05 2016-08-03 中国移动(深圳)有限公司 一种基于用例依赖关系自动生成测试调度的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
董超 等: "《信息化理论与综合信息系统-中国电子学会电子系统工程分会第十三届信息化理论学术研讨会论文集》", 31 October 2006 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928760A (zh) * 2018-09-20 2020-03-27 杭州海康汽车技术有限公司 一种嵌入式系统中的单元测试方法与装置
CN110928760B (zh) * 2018-09-20 2023-10-20 杭州海康汽车技术有限公司 一种嵌入式系统中的单元测试方法与装置
CN109902019A (zh) * 2019-03-11 2019-06-18 北京城市网邻信息技术有限公司 一种基于多维权重的自动化测试分级方法及系统
CN111309608A (zh) * 2020-02-13 2020-06-19 咪咕音乐有限公司 测试用例的选择方法、装置、电子设备和可读存储介质
CN111309608B (zh) * 2020-02-13 2023-09-05 咪咕音乐有限公司 测试用例的选择方法、装置、电子设备和可读存储介质
CN112019544A (zh) * 2020-08-28 2020-12-01 支付宝(杭州)信息技术有限公司 网络接口的安全扫描方法、装置及系统

Similar Documents

Publication Publication Date Title
CN110292775B (zh) 获取差异数据的方法及装置
CN105824813B (zh) 一种挖掘核心用户的方法及装置
CN107679189A (zh) 一种兴趣点更新方法、装置、服务器和介质
CN108153661A (zh) 执行测试用例的方法和装置
CN108416003A (zh) 一种图片分类方法和装置、终端、存储介质
CN105721629B (zh) 用户标识匹配方法和装置
CN106709024A (zh) 基于血缘分析进行数据表溯源的方法及装置
CN108960912A (zh) 用于确定目标位置的方法和装置
KR20140050217A (ko) 키워드 연관 관계 시각화 제공 시스템 및 방법과, 이를 지원하는 장치
CN108566666A (zh) Wi-Fi热点推荐方法、装置及存储介质
CN109871770A (zh) 房产证识别方法、装置、设备及存储介质
CN110502670A (zh) 基于人工智能的网络社交关系知识图谱生成方法和系统
CN111143689A (zh) 根据用户需求和用户画像构建推荐引擎的方法
CN110727740B (zh) 关联分析方法及装置、计算机设备与可读介质
CN110968712A (zh) Bim族模型获取的方法、装置及系统
CN111602157B (zh) 供应商供应链风险分析方法
CN112948274A (zh) 测试用例评分模型训练方法和测试用例选择方法
CN108197203A (zh) 一种门脸头图挑选方法、装置、服务器和存储介质
CN103617221B (zh) 软件推荐方法及系统
CN106934679A (zh) 信息匹配方法及装置
CN105139749B (zh) 一种在网络地图上显示空气质量信息的优化方法
CN108108407B (zh) 基于出租车时空轨迹的群体运动移动簇模式排序方法
CN109816004A (zh) 房源图片分类方法、装置、设备及存储介质
CN108734393A (zh) 房源信息的匹配方法、用户设备、存储介质及装置
CN110941638B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180612