CN110633215B - 一种对自动化测试脚本进行管理的方法和系统 - Google Patents

一种对自动化测试脚本进行管理的方法和系统 Download PDF

Info

Publication number
CN110633215B
CN110633215B CN201910892121.4A CN201910892121A CN110633215B CN 110633215 B CN110633215 B CN 110633215B CN 201910892121 A CN201910892121 A CN 201910892121A CN 110633215 B CN110633215 B CN 110633215B
Authority
CN
China
Prior art keywords
script
automatic test
scripts
automatic
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.)
Active
Application number
CN201910892121.4A
Other languages
English (en)
Other versions
CN110633215A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910892121.4A priority Critical patent/CN110633215B/zh
Publication of CN110633215A publication Critical patent/CN110633215A/zh
Application granted granted Critical
Publication of CN110633215B publication Critical patent/CN110633215B/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/3688Test management for test execution, e.g. scheduling of test suites

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种对自动化测试脚本进行管理的方法和系统,该方法包括:确定当前项目中的全部自动化测试脚本,对每个脚本添加等级系数;执行全量脚本自动化测试;执行部分脚本自动化测试;根据全量脚本自动化测试的次数和自动化测试结果,以及,部分脚本自动化测试的次数和自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出任一脚本等级系数的计算值;按照等级系数从大到小的顺序对全部脚本排序,并挑选出前r*m个等级系数所匹配的脚本;对其进行自动化测试。该系统包括:自动化测试脚本确定模块、等级系数添加模块、全量脚本测试模块、部分脚本测试模块、等级系数计算模块、排序模块和测试模块。通过本申请,能够节省测试时间,提高测试效率和准确性。

Description

一种对自动化测试脚本进行管理的方法和系统
技术领域
本申请涉及自动化测试技术领域,特别是涉及一种对自动化测试脚本进行管理的方法和系统。
背景技术
随着自动化测试技术的发展,越来越多的软件项目采用自动化测试以节省人力成本和时间成本。随着软件项目的迭代和开发,自动化测试脚本的数量越来越多,当软件项目规模足够大时,脚本库也随之越来越大,同时脚本的执行时间也变得越来越长,因此,如何对自动化测试脚本进行管理,是个重要问题。
目前,对自动化测试脚本进行管理的方法通常是两种,第一种是:每次需要进行自动化测试时,工作人员根据实际项目需要结合自身经验,手动从当前的自动化测试脚本中选取一部分作为快速执行的脚本集,然后优先执行这些快速脚本集,根据这些脚本集的执行结果,来判断整个项目的自动化测试结果。第二种是,每次需要进行自动化测试时,工作人员直接根据实际项目,选择执行全部自动化测试脚本,全部脚本的测试结果即为整个项目的自动化测试结果。
然而,目前对自动化测试脚本进行管理的方法中,第一种方法选择快速脚本集时,是人工确定哪些是快速脚本的,且人工手动选择出这些脚本,人工选择的快速脚本集的测试结果用于衡量整个项目的自动化测试结果时,存在较大的误差,因此,第一种管理方法使得自动化测试结果的准确性不够高。第二种方法直接对全部脚本执行自动化测试,其结果本身就是整个项目的自动化测试结果,准确性高,但是由于需要运行当前项目相关的所有自动化测试脚本,测试时间太长,从而导致自动化测试效率较低。
发明内容
本申请提供了一种对自动化测试脚本进行管理的方法和系统,以解决现有技术中的自动化测试效率较低和测试结果的准确性不够高的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种对自动化测试脚本进行管理的方法,所述方法包括:
确定当前项目中的全部自动化测试脚本,其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例;
对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0;
对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果;
对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果;
根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出所述任一自动化测试脚本等级系数的计算值,其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中所述任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中所述任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值;
按照所述等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数的计算值所匹配的自动化测试脚本;
对所述前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
可选地,所述对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果,包括:
对当前项目执行全量脚本自动化测试;
判断任一自动化测试脚本是否测试合格;
如果是,保持所述任一自动化测试脚本的等级系数不变;
如果否,对所述任一自动化测试脚本的等级系数加1;
统计测试合格的脚本数量和测试不合格的脚本数量。
可选地,所述对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果,包括:
获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值;
根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序;
根据排序结果,提取部分脚本组成待执行自动化测试脚本集;
对所述待执行自动化测试脚本集进行自动化测试;
判断所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格;
如果是,保持所述待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值不变;
如果否,对所述待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值加r。
可选地,所述根据排序结果,提取部分脚本组成待执行自动化测试脚本集的方法为:
按照等级系数的取值从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。
可选地,所述根据排序结果,提取部分脚本组成待执行自动化测试脚本集的方法为:
确定第r*m个自动化测试脚本的等级系数的取值a;
判断当前项目是否允许延长自动化测试脚本运行的时间;
如果是,从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集;
如果否,从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
一种对自动化测试脚本进行管理的系统,所述系统包括:
自动化测试脚本确定模块,用于确定当前项目中的全部自动化测试脚本,其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例;
等级系数添加模块,用于对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0;
全量脚本测试模块,用于对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果;
部分脚本测试模块,用于对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果;
等级系数计算模块,用于根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出所述任一自动化测试脚本等级系数的计算值,其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中所述任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中所述任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值;
排序模块,用于按照所述等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数计算值所匹配的自动化测试脚本;
测试模块,用于对所述前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
可选地,所述全量脚本测试模块包括:
全量脚本测试单元,用于对当前项目执行全量脚本自动化测试;
第一判断单元,用于判断任一自动化测试脚本是否测试合格;
第一保持单元,用于当所述任一自动化测试脚本测试合格时,保持所述任一自动化测试脚本的等级系数不变;
第一增加单元,用于当所述任一自动化测试脚本测试不合格时,对所述任一自动化测试脚本的等级系数加1;
统计单元,用于统计测试合格的脚本数量和测试不合格的脚本数量。
可选地,所述部分脚本测试模块包括:
参数获取单元,用于获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值;
排序单元,用于根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序;
提取单元,用于根据排序结果,提取部分脚本组成待执行自动化测试脚本集;
部分脚本测试单元,用于对所述待执行自动化测试脚本集进行自动化测试;
第二判断单元,用于判断所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格;
第二保持单元,用于当所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果合格时,保持所述任一自动化测试脚本的等级系数的取值不变;
第二增加单元,用于当所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果不合格时,对所述任一自动化测试脚本的等级系数的取值加r。
可选地,所述提取单元用于按照等级系数从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。
可选地,所述提取单元包括:
等级系数确定子单元,用于确定第r*m个自动化测试脚本的等级系数的取值a;
判断子单元,用于判断当前项目是否允许延长自动化测试脚本运行的时间;
第一待执行自动化测试脚本集提取子单元,用于当前项目允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集;
第二待执行自动化测试脚本集提取子单元,用于当前项目不允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种对自动化测试脚本进行管理的方法,该方法首先确定当前项目中的全部自动化测试脚本,然后对每个自动化测试脚本添加等级系数,分别执行全量脚本的自动化测试和部分脚本的自动化测试后,根据测试结果和测试次数,利用公式计算得出任一自动化测试脚本等级系数的计算值,对该等级系数计算值从大到小排序后,挑选出前r*m个等级系数的计算值所匹配的自动化测试脚本,对其进行自动化测试,以前r*m个等级系数的计算值所匹配的自动化测试脚本的测试结果作为当前项目自动化测试脚本的测试结果,从而通过分级的方法完成对自动化测试脚本的管理。这种方法针对当前项目,根据等级系数的取值进行排序,只挑选前r*m个等级系数的计算值所匹配的自动化测试脚本进行测试,不需要每次都执行全量脚本的自动化测试,有利于节省测试时间,提高自动化测试的效率。而且,这种方法能够利用当前项目前期自动化测试脚本的测试结果,对后期的自动化测试采用特定的公式获取算自动化测试脚本等级系数的计算值,根据等级系数的计算值选择特定的自动化测试脚本组成待执行自动化测试脚本集,以待执行自动化测试脚本集的测试结果作为当前的测试结果,这种方法对待执行自动化脚本的选择依据更加客观,有利于提高测试结果的准确性,而且随着对当前项目测试次数的增加,有利于进一步提高测试结果的准确性。
本申请还提供一种对自动化测试脚本进行管理的系统,该系统主要包括自动化测试脚本确定模块、等级系数添加模块、全量脚本测试模块、部分脚本测试模块、等级系数计算模块、排序模块和测试模块七部分。通过自动化测试脚本确定模块确定当前项目中的全部自动化测试脚本,然后通过等级系数添加模块对每个自动化测试脚本添加相应的等级系数,第一次启用时,先通过全量脚本测试模块对当前项目执行全量脚本自动化测试,再根据当前项目需求执行部分脚本自动化测试,然后通过等级系数计算模块计算得出任一自动化测试脚本等级系数的计算值,利用排序模块根据等级系数计算值从大到小进行排序,并挑选出前r*m个等级系数计算值所匹配的自动化测试脚本,最后通过测试模块对前r*m个等级系数计算值所匹配的自动化测试脚本进行测试。本实施例中等级系数计算模块的设置,能够根据当前项目前期自动化测试脚本的测试结果,指导后期自动化测试,根据脚本在每次执行过程中的测试结果生成相应的等级系数计算值,然后根据等级系数的计算值选择特定的自动化测试脚本组成待执行自动化测试脚本集,以待执行自动化测试脚本集的测试结果作为当前的测试结果,这种对自动化测试脚本的选择更加客观,有利于提高测试结果的准确性。而且由于本实施例只挑选部分脚本组成待执行自动化测试脚本集,有利于节省测试时间,提高测试效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种对自动化测试脚本进行管理的方法的流程示意图;
图2为本申请实施例所提供的一种对自动化测试脚本进行管理的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种对自动化测试脚本进行管理的方法的流程示意图。由图1可知,本实施例中对自动化测试脚本进行管理的方法,主要包括如下步骤:
S1:确定当前项目中的全部自动化测试脚本。
其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例。
S2:对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0。
本实施例中等级系数用于后续评定自动化测试脚本的缺陷,根据等级系数的大小挑选出易出错脚本,在运行自动化测试脚本时,根据等级系数有效地指导脚本的选取,集中运行易出错脚本,从而更加高效准确地获取自动化测试脚本的运行结果,该方法有利于为工作人员的后续工作提供可靠的依据,从而提高测试结果的准确性。本实施例中的等级系数为非负数,可以整数或者小数,且等级系数的初始值为0,即:项目中的自动化测试脚本在未执行未使用时,所有自动化测试脚本的等级系数均设置为0。
对每个自动化测试脚本添加等级系数之后,执行步骤S3:对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果。
采用本实施例中的方法,第一次执行项目脚本时通过执行全量脚本自动化测试,能够获取到所有脚本等级系数的取值,为后续执行部分脚本自动化测试提供依据。本实施例中获取到的全量脚本的自动化测试结果,包括如下信息:每一个自动化测试脚本是否执行成功,执行成功的自动化测试脚本数量、执行出错的自动化测试脚本数量。
具体地,步骤S3包括如下过程:
S31:对当前项目执行全量脚本自动化测试。
S32:判断任一自动化测试脚本是否测试合格。
如果任一自动化测试脚本测试合格,执行步骤S33:保持该任一自动化测试脚本的等级系数不变。
如果任一自动化测试脚本测试不合格,执行步骤S34:对任一自动化测试脚本的等级系数加1。
本实施例中自动化测试脚本测试不合格的情况包括:自动化测试脚本执行失败,和/或,自动化测试脚本执行时发现缺陷。当测试不合格时,对当前测试的任一自动化测试脚本的等级系数加1,采用自然数便于比较,有利于简化等级系数的计算过程,便于判断测试结果,从而提高测试结果准确性。
由以上步骤S33和S34可知,本实施例中设置的等级系数与脚本缺陷之间的关系为:等级系数越大,说明该自动化测试脚本的缺陷越多,等级系数越小,说明该自动化测试脚本的缺陷越少。当然,实际应用中也可以采取相反的设置,相应地,后续步骤中对等级系数的取值进行排序时,可以采用从小到大的顺序,以便于按照缺陷从多到少的顺序,筛选出缺陷最多的自动化测试脚本,对其进行测试。
全量脚本自动化测试完毕后,执行步骤S35:统计测试合格的脚本数量和测试不合格的脚本数量。针对当前项目,后续每次执行全量脚本自动化测试时,都可以按照步骤S31-S35的方法更新等级系数的取值。
第一次执行项目脚本时执行全量脚本自动化测试之后,根据项目中实际使用的自动化测试脚本的不同,不一定每一次都需要执行全部自动测试脚本,根据图1可知,当根据项目需求只需要执行部分脚本时,执行步骤S4:对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果。
具体地,步骤S4包括如下过程:
S41:获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值。
S42:根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序。
本实施例中还是设置等级系数越大,该自动化测试脚本的缺陷越多,等级系数越小,该自动化测试脚本的缺陷越少。通过步骤S42的方法,对全部自动化测试脚本排序的顺序,相当于对自动化测试脚本从缺陷最多到缺陷最少进行排序。
S43:根据排序结果,提取部分脚本组成待执行自动化测试脚本集。
具体地,步骤S43可以采用如下两种方法实现。第一种方法为:按照等级系数的取值从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。
假设全量脚本自动化测试的时间为20小时,而实际只有3小时来执行脚本,也就是部分脚本自动化测试时间为3小时,则r的取值为15%。挑选等级系数的取值最高的前15%*20个脚本,即前30个脚本组成待执行自动化测试脚本集。
进一步地,当无法找到准确的等级系数取值最高的前r*m个脚本时,可以根据项目实际情况进行向上或者向下的调整,也就是当无法找到准确的等级系数取值最高的前r*m个脚本时,根据项目是否允许延长脚本执行时间,选取比前r*m个脚本数量更多的脚本,或者选取比前r*m个脚本数量更少的脚本,组成待执行自动化测试脚本集。
步骤S43的第二种实现方法具体包括如下过程:
S431:确定第r*m个自动化测试脚本的等级系数的取值a。
S432:判断当前项目是否允许延长自动化测试脚本运行的时间。
如果当前项目允许延长自动化测试脚本运行的时间,执行步骤S433:从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集。其中a为第r*m个自动化测试脚本的等级系数的取值。
如果当前项目不允许延长自动化测试脚本运行的时间,执行步骤S434:从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
针对步骤S433和S434,举例如下:假设当前项目中全部自动化测试脚本的数量为1000个,其中100个脚本的等级系数为2,500个脚本的等级系数为1,其他脚本的等级系数为0,如果此时r*m的取值为300,则无法找到准确的等级系数最高的前300个脚本,即可根据当前项目实际情况进行向上或者向下调整,此时a取值为1。如果当前项目允许脚本允许时间延长,则向上调整待执行自动化测试脚本的数量,提取所有等级系数≥1的脚本组成待执行自动化测试脚本集,即提取600个脚本。如果当前项目不运行脚本运行时间延长,则向下调整待执行自动化测试脚本的数量,只提取所有等级系数>1的脚本组成待执行自动化测试脚本集,即提取100个脚本。
通过步骤S43的以上两种实现方法,能够根据项目的不同情况,更加准确地确定待执行自动化测试脚本集,从而提高脚本自动化测试结果的准确性。当然,针对同一个项目,其自动化测试脚本执行次数足够多时,等级系数的取值会更加准确,而且通过第一种方法即可实现待执行自动化测试脚本集的确定。
确定待执行自动化测试脚本集之后,执行步骤S44:对待执行自动化测试脚本集进行自动化测试。
S45:判断待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格。
如果待执行自动化测试脚本集中任一自动化测试脚本的测试结果合格,执行步骤S46:保持待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值不变。
如果待执行自动化测试脚本集中任一自动化测试脚本的测试结果不合格,执行步骤S47:对待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值加r。
通过以上步骤S41-S45即可实现部分脚本自动化测试,后续每次执行部分脚本自动化测试时,都可以按照步骤S41-S45的方法更新等级系数的取值。
继续参见图1可知,全量脚本自动化测试和部分脚本自动化测试完毕后,执行步骤S5:根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出任一自动化测试脚本等级系数的计算值。
其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值。
S6:按照等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数的计算值所匹配的自动化测试脚本。
本实施例中挑选前r*m个等级系数的计算值所匹配的自动化测试脚本,作为部分自动化测试脚本进行测试,所挑选的脚本更加有针对性,对脚本的选择更加客观,而不是根据工作人员的主观经验进行判断,因此,能够大大提高测试结果的准确性。
S7:对前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
通过以上步骤S1-S7,根据每一次全量脚本自动化测试和部分脚本自动化测试的执行结果,对当前项目的自动化测试脚本获取其等级系数的计算值,根据等级系数对自动化测试脚本实现分级管理,从而在需要执行部分自动化测试脚本时,根据计算结果有效地选取待执行自动化测试脚本集,计重对易出错脚本执行自动化测试,有利于提高脚本自动化测试的效率,提高测试结果的准确性。由于本实施例中的方法并没有执行全量脚本自动化测试,能够大大减少测试时间,进而提高测试效率。
实施例二
在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种对自动化测试脚本进行管理的系统的结构示意图。由图2可知,本实施例中对自动化测试脚本进行管理的系统主要包括:自动化测试脚本确定模块、等级系数添加模块、全量脚本测试模块、部分脚本测试模块、等级系数计算模块、排序模块和测试模块七部分。
其中,自动化测试脚本确定模块,用于确定当前项目中的全部自动化测试脚本,其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例。等级系数添加模块,用于对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0。全量脚本测试模块,用于对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果。部分脚本测试模块,用于对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果。等级系数计算模块,用于根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出任一自动化测试脚本等级系数的计算值。其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值。排序模块用于按照等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数计算值所匹配的自动化测试脚本。测试模块用于对前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
进一步地,全量脚本测试模块又包括:全量脚本测试单元、第一判断单元、第一保持单元、第一增加单元和统计单元。其中,全量脚本测试单元用于对当前项目执行全量脚本自动化测试。第一判断单元,用于判断任一自动化测试脚本是否测试合格。第一保持单元,用于当任一自动化测试脚本测试合格时,保持任一自动化测试脚本的等级系数不变。第一增加单元用于当任一自动化测试脚本测试不合格时,对任一自动化测试脚本的等级系数加1。统计单元用于统计测试合格的脚本数量和测试不合格的脚本数量。
部分脚本测试模块包括:参数获取单元、排序单元、提取单元、部分脚本测试单元、第二判断单元、第二保持单元和第二增加单元。其中,参数获取单元,用于获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值。排序单元用于根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序。提取单元用于根据排序结果,提取部分脚本组成待执行自动化测试脚本集。部分脚本测试单元,用于对待执行自动化测试脚本集进行自动化测试。第二判断单元用于判断待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格。第二保持单元用于当待执行自动化测试脚本集中任一自动化测试脚本的测试结果合格时,保持任一自动化测试脚本的等级系数的取值不变。第二增加单元,用于当待执行自动化测试脚本集中任一自动化测试脚本的测试结果不合格时,对任一自动化测试脚本的等级系数的取值加r。
进一步地,根据本实施例中提取单元的不同工作方法,提取单元又包括两种结构形式。第一种提取单元,用于按照等级系数从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。第二种提取单元包括:等级系数确定子单元、判断子单元、第一待执行自动化测试脚本集提取子单元和第二待执行自动化测试脚本集提取子单元。其中,等级系数确定子单元,用于确定第r*m个自动化测试脚本的等级系数的取值a。判断子单元,用于判断当前项目是否允许延长自动化测试脚本运行的时间。第一待执行自动化测试脚本集提取子单元,用于当前项目允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集。第二待执行自动化测试脚本集提取子单元,用于当前项目不允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
本实施例中对自动化测试脚本进行管理的系统的工作原理和工作方法,在图1所示的实施例一中已经详细阐述,两个实施例之间可以互相参照,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种对自动化测试脚本进行管理的方法,其特征在于,所述方法包括:
确定当前项目中的全部自动化测试脚本,其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例;
对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0;
对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果;
对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果;
根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出所述任一自动化测试脚本等级系数的计算值,其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中所述任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中所述任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值;
按照所述等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数的计算值所匹配的自动化测试脚本;
对所述前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
2.根据权利要求1所述的一种对自动化测试脚本进行管理的方法,其特征在于,所述对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果,包括:
对当前项目执行全量脚本自动化测试;
判断任一自动化测试脚本是否测试合格;
如果是,保持所述任一自动化测试脚本的等级系数不变;
如果否,对所述任一自动化测试脚本的等级系数加1;
统计测试合格的脚本数量和测试不合格的脚本数量。
3.根据权利要求1所述的一种对自动化测试脚本进行管理的方法,其特征在于,所述对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果,包括:
获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值;
根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序;
根据排序结果,提取部分脚本组成待执行自动化测试脚本集;
对所述待执行自动化测试脚本集进行自动化测试;
判断所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格;
如果是,保持所述待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值不变;
如果否,对所述待执行自动化测试脚本集中任一自动化测试脚本的等级系数的取值加r。
4.根据权利要求3所述的一种对自动化测试脚本进行管理的方法,其特征在于,所述根据排序结果,提取部分脚本组成待执行自动化测试脚本集的方法为:
按照等级系数的取值从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。
5.根据权利要求3所述的一种对自动化测试脚本进行管理的方法,其特征在于,所述根据排序结果,提取部分脚本组成待执行自动化测试脚本集的方法为:
确定第r*m个自动化测试脚本的等级系数的取值a;
判断当前项目是否允许延长自动化测试脚本运行的时间;
如果是,从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集;
如果否,从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
6.一种对自动化测试脚本进行管理的系统,其特征在于,所述系统包括:
自动化测试脚本确定模块,用于确定当前项目中的全部自动化测试脚本,其中,任一自动化测试脚本对应一个测试功能点或者一个测试用例;
等级系数添加模块,用于对每个自动化测试脚本添加相应的等级系数,且等级系数的初始值为0;
全量脚本测试模块,用于对当前项目执行全量脚本自动化测试,获取全量脚本的自动化测试结果;
部分脚本测试模块,用于对当前项目执行部分脚本自动化测试,获取部分脚本的自动化测试结果;
等级系数计算模块,用于根据全量脚本自动化测试的次数和全量脚本的自动化测试结果,以及,部分脚本自动化测试的次数和部分脚本的自动化测试结果,利用公式A=B1+B2+B3+……+Bm+r1*C1+r2*C2+r3*C3+……+rn*Cn,计算得出所述任一自动化测试脚本等级系数的计算值,其中,m为全量脚本自动化测试的次数,B1,B2,B3……Bm分别为每一次全量脚本自动化测试中所述任一自动化测试脚本的测试结果,n为部分脚本自动化测试的次数,r为部分脚本自动化测试时部分脚本自动化测试时间与全部脚本自动化测试时间的比值,C1,C2,C3……Cn分别为每一次部分脚本自动化测试中所述任一自动化测试脚本的测试结果,r1,r2,r3……rn分别为每一次部分脚本自动化测试中测试的脚本数与脚本总数的比值;
排序模块,用于按照所述等级系数的计算值从大到小的顺序对全部自动化测试脚本排序,并挑选出前r*m个等级系数计算值所匹配的自动化测试脚本;
测试模块,用于对所述前r*m个等级系数的计算值所匹配的自动化测试脚本进行自动化测试。
7.根据权利要求6所述的一种对自动化测试脚本进行管理的系统,其特征在于,所述全量脚本测试模块包括:
全量脚本测试单元,用于对当前项目执行全量脚本自动化测试;
第一判断单元,用于判断任一自动化测试脚本是否测试合格;
第一保持单元,用于当所述任一自动化测试脚本测试合格时,保持所述任一自动化测试脚本的等级系数不变;
第一增加单元,用于当所述任一自动化测试脚本测试不合格时,对所述任一自动化测试脚本的等级系数加1;
统计单元,用于统计测试合格的脚本数量和测试不合格的脚本数量。
8.根据权利要求6所述的一种对自动化测试脚本进行管理的系统,其特征在于,所述部分脚本测试模块包括:
参数获取单元,用于获取当前项目中的全部自动化测试脚本的数量,以及,部分脚本自动化测试时间与全部脚本自动化测试时间的比值;
排序单元,用于根据全量脚本的自动化测试结果,按照等级系数的取值从大到小的顺序,对全部自动化测试脚本排序;
提取单元,用于根据排序结果,提取部分脚本组成待执行自动化测试脚本集;
部分脚本测试单元,用于对所述待执行自动化测试脚本集进行自动化测试;
第二判断单元,用于判断所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果是否合格;
第二保持单元,用于当所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果合格时,保持所述任一自动化测试脚本的等级系数的取值不变;
第二增加单元,用于当所述待执行自动化测试脚本集中任一自动化测试脚本的测试结果不合格时,对所述任一自动化测试脚本的等级系数的取值加r。
9.根据权利要求8所述的一种对自动化测试脚本进行管理的系统,其特征在于,所述提取单元用于按照等级系数从大到小的顺序提取前r*m个脚本,组成待执行自动化测试脚本集。
10.根据权利要求8所述的一种对自动化测试脚本进行管理的系统,其特征在于,所述提取单元包括:
等级系数确定子单元,用于确定第r*m个自动化测试脚本的等级系数的取值a;
判断子单元,用于判断当前项目是否允许延长自动化测试脚本运行的时间;
第一待执行自动化测试脚本集提取子单元,用于当前项目允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值≥a的自动化测试脚本,组成待执行自动化测试脚本集;
第二待执行自动化测试脚本集提取子单元,用于当前项目不允许延长自动化测试脚本运行的时间时,从全部自动化测试脚本中提取等级系数的取值>a的自动化测试脚本,组成待执行自动化测试脚本集。
CN201910892121.4A 2019-09-20 2019-09-20 一种对自动化测试脚本进行管理的方法和系统 Active CN110633215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910892121.4A CN110633215B (zh) 2019-09-20 2019-09-20 一种对自动化测试脚本进行管理的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910892121.4A CN110633215B (zh) 2019-09-20 2019-09-20 一种对自动化测试脚本进行管理的方法和系统

Publications (2)

Publication Number Publication Date
CN110633215A CN110633215A (zh) 2019-12-31
CN110633215B true CN110633215B (zh) 2022-07-19

Family

ID=68971911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910892121.4A Active CN110633215B (zh) 2019-09-20 2019-09-20 一种对自动化测试脚本进行管理的方法和系统

Country Status (1)

Country Link
CN (1) CN110633215B (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107741909A (zh) * 2017-10-13 2018-02-27 郑州云海信息技术有限公司 一种用于分布式块存储的自动化测试方法及系统
CN109062817B (zh) * 2018-10-15 2022-06-03 网宿科技股份有限公司 自动化测试方法及系统

Also Published As

Publication number Publication date
CN110633215A (zh) 2019-12-31

Similar Documents

Publication Publication Date Title
CN106294120B (zh) 测试代码的方法、设备和计算机程序产品
US8087001B2 (en) Computer-implemented systems and methods for software application testing
CN101866316B (zh) 一种基于相对冗余测试集约简的软件缺陷定位方法
CN110515843B (zh) 基于缺陷集合与倒排索引的测试用例优先排序方法
CN110502447A (zh) 一种基于图的回归测试用例优先排序方法
Kadry A new proposed technique to improve software regression testing cost
CN111782532B (zh) 一种基于网络异常节点分析的软件故障定位方法及系统
CN116954624B (zh) 基于软件开发包的编译方法、软件开发系统及服务器
CN110633215B (zh) 一种对自动化测试脚本进行管理的方法和系统
CN114691521A (zh) 一种基于人工智能的软件测试平台
CN112685320B (zh) 一种基于多候选程序的软件缺陷修复方法及装置
CN116980278B (zh) 一种域控制器的自动化测试方法和系统
CN117608903A (zh) 自动生成测试报告的方法、装置、设备和存储介质
CN113626326A (zh) 一种基于图像识别的拖拽式的零代码前端自动化测试系统
JP3883449B2 (ja) ソフトウェアシステムのテスト計画作成支援方法およびテスト計画作成支援プログラム
CN115391231B (zh) 一种接口自动化测试方法
CN115328798A (zh) 一种芯片验证自动化回归测试方法及计算机可读存储介质
JP2019003333A (ja) バグ混入確率計算プログラム及びバグ混入確率計算方法
JP2006059276A (ja) ソースコード評価システム
CN111367789A (zh) 静态报告合并分析技术
CN113434408B (zh) 一种基于测试预言的单元测试用例排序方法
CN109144866B (zh) 基于家用电器的软件测试方法及软件测试装置
CN111061599B (zh) 接口测试环境的检查点的生成方法
CN111782178B (zh) 一种月度能耗计算方法、装置及存储介质
CN117407307A (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