买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】对包含多个测试用例的测试套件进行优化的方法和系统_维布络有限公司_201610133122.7 

申请/专利权人:维布络有限公司

申请日:2016-03-09

公开(公告)日:2021-02-23

公开(公告)号:CN106959920B

主分类号:G06F11/36(20060101)

分类号:G06F11/36(20060101)

优先权:["20160112 IN 201641001079"]

专利状态码:有效-授权

法律状态:2021.02.23#授权;2017.08.11#实质审查的生效;2017.07.18#公开

摘要:本发明涉及一种对包含多个测试用例的测试套件进行优化的方法和系统。所述方法包括:从一个或多个数据源接收所述测试套件的多个测试用例;识别出所述多个测试用例中的一个或多个冗余及非冗余测试用例;通过将每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出各非冗余测试用例之间的相似度百分比;根据所述相似度百分比,将所述非冗余测试用例分组至一个或多个集群内;识别出每个所述集群内的测试功能,以确定出可重复使用测试功能;以及通过用该可重复使用测试功能的标识替代每个所述测试用例的一个或多个可重复使用测试功能,重建每个所述集群内的测试用例,从而优化所述测试套件。

主权项:1.一种对包含多个测试用例的测试套件进行优化的方法,其特征在于,该方法包括:由一测试套件转化系统从一个或多个数据源接收所述测试套件的多个测试用例;由所述测试套件转化系统识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个;由所述测试套件转化系统通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比;由所述测试套件转化系统根据所述相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内;由所述测试套件转化系统通过识别出具有最大测试字符串长度的源测试功能,将每个其他测试功能与该源测试功能比较,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能;以及由所述测试套件转化系统通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,重建所述一个或多个集群中每个集群内的一个或多个测试用例,从而优化所述测试套件,其中,所述一个或多个可重复使用测试功能的标识为指向所述一个或多个可重复使用测试功能在所述一个或多个集群内的位置的路径。

全文数据:对包含多个测试用例的测试套件进行优化的方法和系统技术领域[0001]本技术方案总体涉及软件测试,尤其但并不只涉及对包含多个测试用例的测试套件进行的优化方法和系统。背景技术[0002]在软件工程和软件开发领域,需要对软件应用程序和或软件系统实施软件测试,以纠正该软件应用程序和或软件系统中存在的错误。通常情况下,使用测试套件(testsuite对所述软件应用程序和或软件系统进行测试。所述测试套件包含多个测试用例testcase,该测试用例为一组测试条件,在该测试条件下测试员可判断所述一个或多个软件应用程序和或软件系统是否按照其初始设计的方式运行和工作。每个所述测试用例均具有一组针对特定测试方案开发的用于验证是否符合具体要求的测试数据、前提条件、预期结果和后置条件。在对软件应用程序和或软件系统或者其特征之一进行测试时,使用准确的测试套件十分重要。[0003]然而,在任何一个组织机构中,针对软件应用程序和或软件系统的测试套件均在生成之后获得一定时间的积累。这些测试用例或测试脚本被成千上万次运行,而且随着软件应用程序和或软件系统的每个版本的发布而持续增长。如此,在一段时间之后,测试套件的负责人员或团队将无法获知哪些测试用例是最新的,哪些测试用例是过时的,哪些测试用例需要更新,以及有多少测试用例是重复的等等。每当有软件应用程序和或软件系统的重要版本发布时,上述人员或团队将难以获得回归测试套件并对其进行执行。由于此原因,许多缺陷被遗漏并延续至生产阶段。[0004]举例而言,银行应用程序的回归测试套件可能包含用于开户、资金转移、余额查询、新卡申请等的系统。随着时间的推移,银行可能决定在创建帐户时增加通用帐号(或社保号码等额外参数。对此进行测试的通常做法可能涉及编写额外的ID创建测试方法并对其进行测试,以及将现有的账户创建测试套件作废。此外,由于业务流程因需涉及为数众多的步骤而难以维护,所述测试套件只对具体功能而非业务流程进行描绘。[0005]在现有技术中,对软件应用程序和或软件系统或者其特征之一的测试不涉及该软件应用程序和或软件系统或者其特征之一的内部结构。其中,使用具有最少路径或步骤的一个或多个测试用例实施测试。然而,这种测试方式并未解决从所述套件中识别一个或多个过时测试用例,识别一个或多个可重复使用测试方案,以及从所述一个或多个测试用例中剔除冗余测试方案的问题。[0006]在对包含多个测试用例的测试套件进行优化时所面临的主要问题在于识别和剔除冗余测试用例,识别所述测试用例的可重复使用测试功能,以及利用所述可重复使用测试功能生成整体业务模式,以获得对所述测试套件的整体观感。发明内容[0007]本发明公开了一种对包含多个测试用例的测试套件进行优化的方法和系统。所述方法包括,在一整体测试环境中,通过对已有测试套件进行冗余分析、将测试用例集群至各组中、创建可重复使用测试功能以及确定已优化测试用例功能,实现对所述测试套件的描绘、维护以及更新。[0008]因此,本发明涉及一种对包含多个测试用例的测试套件进行优化的方法。所述方法包括由一测试套件转化系统从一个或多个数据源接收所述测试套件的多个测试用例。该方法识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个。所述测试套件转化系统通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比。根据所述相似度百分比,所述一个或多个非冗余测试用例中的每个非冗余测试用例被进一步地分组至一个或多个集群内。所述方法进一步识别出所述一个或多个集群中每个集群内的一个或多个测试功能,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能。此外,通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,所述一个或多个集群中每个集群内的一个或多个测试用例被重建,从而实现了所述测试套件的优化。[0009]此外,本发明还涉及一种对包含多个测试用例的测试套件进行优化的测试套件转化系统,其中,所述测试套件转化系统包括处理器以及以可通信方式连接至所述处理器的存储器,所述存储器存有处理器可执行指令,该指令在执行时使得所述处理器从一个或多个数据源接收测试套件的多个测试用例。所述指令还使得所述处理器识别出所述已接收至所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个。其后,所述系统通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比。进一步地,根据算出的所述相似度百分比,所述一个或多个非冗余测试用例中的每个非冗余测试用例被分组至一个或多个集群内。所述指令还使得所述处理器识别出所述一个或多个集群中每个集群内的一个或多个测试功能,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能。在确定了所述一个或多个可重复使用测试功能之后,通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,所述一个或多个集群中每个集群内的一个或多个测试用例被重建,从而实现了所述测试套件的优化。[0010]此外,本发明还涉及一种非暂时性计算机可读介质,该介质包括存于其内的指令,该指令在由至少一个处理器处理时使得测试套件转化系统执行从一个或多个数据源接收所述测试套件的多个测试用例的动作。所述指令还使得所述测试套件转化系统识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个。在识别出所述一个或多个非冗余测试用例之后,通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比。所述指令还使得所述测试套件转化系统根据所述相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内。其后,所述一个或多个集群中每个集群内的一个或多个测试功能被识别,从而确定出所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能。此外,通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,所述一个或多个集群中每个集群内的一个或多个测试用例被重建,从而实现了所述测试套件的优化。[0011]上述《发明内容》部分仅在于说明,并不意在施加任何限制。通过参考附图和以下《具体实施方式》部分,除了以上所述说明性方面、实施方式及特征之外,其他方面、实施方式和特征也将变得容易理解。附图说明[0012]所附各图并入本发明之内并构成本发明的一部分,用于对例示实施方式进行描述,并与说明书一道阐明所公开的原理。各图中,附图标记最左边的位值表明该附图标记第一次出现时所在的图号,而且均采用相同附图标记指代相同或类似部件。以下,对根据本技术方案实施方式的系统和或方法的一些实施方式进行描述,该描述仅以例示为目的且参考上述附图,其中:[0013]图Ia所示为根据本发明一些实施方式对含多个测试用例的测试套件进行优化的例示环境;[0014]图Ib为根据本发明一些实施方式的测试套件转化系统的示意框图;[0015]图2a所示为根据本发明一些实施方式针对测试套件内已分组至集群中的一个或多个后测试用例当中的每个测试用例所生成的例示业务流程模型;[0016]图2b所示为根据本发明的一种例示实施方式的整体业务模型;[0017]图2c为根据本发明一些实施方式对测试套件实施一个或多个变更管理操作的方法的示意流程图;[0018]图3为根据本发明一些实施方式对含多个测试用例的测试套件进行优化的方法的示意流程图;[0019]图4为用于实施符合本发明实施方式的例示计算机系统框图。[0020]本领域技术人员应当理解的是,本文中的任何框图均表示秉承了本技术方案原理的说明性系统的概念图。同样地,还应当理解的是,任何的作业图、流程图、状态迀移图以及伪代码等均表示可实质表现于计算机可读介质中且由计算机或处理器无论该计算机或处理器明确示出与否执行的各种过程。[0021]附图标记:具体实施方式[0024]本文中,“例示”一词在此处用于表示“作为示例、实例或例证”。此处,描述为“例示”的本技术方案任何实施方式或实现方式并不一定应理解为比其他实施方式优选或有利的实施方式。[0025]虽然本发明的具体实施方式已在附图中以例示方式对进行了展示且将在以下进行详细描述,但本发明还可做出各种修饰和替代形式。应该理解的是,本发明并不旨在局限于所公开的具体形式,相反,本发明意在涵盖落入其精神和范围内的所有修改方案、等同方案及替代方案。[0026]“包括”一词或其任何其他变形词旨在涵盖非排除性的纳入关系。如此,对于包括一系列部件或步骤的体系、装置或方法而言,其并不只包括所述部件或步骤,而是可能包括其他未明确列出的部件或步骤,或者包括该体系、装置或方法固有的部件或步骤。换言之,在“包括……”这一表述之后描述的系统或装置中的一个或多个元件,在没有其他限制的情况下,并不排除其他或额外元件在该系统或装置中的存在。[0027]本发明涉及对包含多个测试用例的测试套件进行优化的方法和系统。在一种实施方式中,所述多个测试用例接收自一个或多个数据源。所述方法识别出所述测试套件的多个测试用例中的一个或多个冗余及非冗余测试用例。通过将每个非冗余测试用例的测试描述和步骤与其他非冗余测试用例的测试描述和步骤进行比较,计算出所述非冗余测试用例中每个非冗余测试用例之间的相似度百分比。根据所述相似度百分比,所述非冗余测试用例被分组至各集群内。此外,所述方法还从每个所述集群中识别出测试功能,从而确定出可重复使用测试功能。在识别出所述可重复使用测试功能之后,通过用所述可重复使用测试功能的标识替代每个所述测试用例,每个所述集群中的测试用例被重建,从而实现所述测试套件的优化。[0028]以下参考附图,对本发明的实施方式进行详细描述。其中,所述附图作为本文的一部分,以例示方式示出了可实现本发明的具体实施方式。这些实施方式的描述详细程度足以让本领域技术人员可对本发明进行实施,而且可以理解的是,在不脱离本发明范围的前提下,还可利用其他实施方式,以及做出各种改变。因此,以下描述不应视为具有限制意义。[0029]图Ia所示为根据本发明一些实施方式用于优化包含多个测试用例的测试套件的例示环境。[0030]环境100包括测试套件转化系统101、一个或多个用户设备(用户设备一IOS1〜用户设备nl08n,统称为用户设备108以及一个或多个数据源数据源一⑴以〜数据源η109n,统称为数据源109。所述一个或多个数据源109可包括,但不限于,测试管理系统TMS。所述TMS可进一步包括一个或多个测试管理工具,例如,惠普质量中心HPQualityCentre、Testlink、集成信息系统结构ARIS模型等。在一种实施方式中,测试套件转化系统101可在各种用户设备108中实施,例如膝上型计算机、台式计算机、个人计算机PC、笔记本电脑、智能电话、平板电脑、电子书阅读器(例如各种Kindle和Nook阅读器)、网络节点、服务器、网络服务器等。在一种实施方式中,测试套件转化系统101包括IO接口103、具有一个或多个处理单元的处理器105以及根据本发明一些实施方式的存储器107。[0031]在一种实施方式中,IO接口103为一种媒介,通过该媒介,可从所述一个或多个用户设备108和或一个或多个数据源109中接收包含有所述多个测试用例113见图Ib的测试套件。在一种实施方式中,IO接口103用作一种媒介,通过该媒介,将所述测试套件的优化结果提供至测试套件转化系统101的显示单元(图Ia中未示出)和或所述一个或多个用户设备108的相关显示装置。IO接口103连接至处理器105。处理器105用于对包含有所述多个测试用例113的测试套件进行优化。在一种实施方式中,存储器107存有指令,该指令可由所述至少一个处理器105执行,以实现对所述测试套件的优化。在一种实施方式中,存储器107存有数据111和模块112如图Ib中所示)。[0032]在一种实施方式中,测试套件转化系统101可经通信网络(图Ia中未示出)以可通信方式连接于所述一个或多个用户设备108以及所述一个或多个数据源109,以实现对包含有所述多个测试用例113的测试套件的优化。在一种实施方式中,所述一个或多个用户设备108与所述测试套件的一个或多个用户相关联。所述一个或多个用户可包括,但不限于,参与包含所述多个测试用例113的测试套件的测试的业务分析员BA以及测试员等。所述一个或多个用户设备108可包括,但不限于,膝上型计算机、台式计算机、PC、笔记本电脑、智能电话、平板电话等。[0033]图Ib为根据本发明一些实施方式的测试套件转化系统的示意框图。[0034]此处,对保存于存储器107内的所述一个或多个数据111以及一个或多个模块112进行详细描述。在一种实施方式中,测试套件转化系统101从一个或多个数据源109接收数据111。举例而言,数据111可保存于存储器107内。在一种实施方式中,数据111包括测试用例113、测试数据115、相似度指数信息117、测试功能119、业务流程模型121以及其他数据123。其他数据123可存储包括由模块112生成的用于执行测试套件转化系统101的各种功能的临时数据和临时文件在内的数据。[0035]在一种实施方式中,从一个或多个数据源109中的一个数据源接收多个测试用例113作为测试套件转化系统101的输入。所述测试用例为一系列测试步骤。每个测试步骤均规定了待由所述测试用例执行的动作的步骤描述以及被执行动作的预期结果。在一种实施方式中,所述多个测试用例113的一个或多个测试步骤可组合形成测试功能119。每个测试功能119均提供所述多个测试用例113的一个子功能。举例而言,为某组织机构的员工管理系统编写的测试用例可包括一系列测试步骤,用于执行该应用程序的一个或多个功能。所述功能可包括,但不限于,验证员工身份、验证员工专用密码、接收请假申请、更新员工记录等。在此情况下,与某具体功能相关的一个或多个测试步骤可相互组合形成单一的测试功能119,从而简化该测试用例。在一种实施方式中,测试数据115为执行测试用例113所需的数据。在一种实施方式中,相似度指数信息117可包括一个或多个参数,例如相似度百分比、用户定义相似度指数、相似度标准、以及用于识别所述测试套件中一个或多个相似和或冗余测试用例的其他相关参数。举例而言,可通过将一个或多个非冗余测试用例中每一个的测试描述和步骤与所述测试套件中每一个其他非冗余测试用例的测试描述和步骤进行比较,计算出所述一个或多个非冗余测试用例中每个非冗余测试用例之间的相似度百分比。[0036]在一种实施方式中,业务流程模型121为将所述一个或多个非冗余测试用例中的每一个分类至所述测试套件中的多个等级并对其进行描述的流程图模型。业务流程模型121有助于简化分析以及对所述一个或多个非冗余用例进行改进,从而提高优化处理速度。[0037]在一种实施方式中,保存于存储器107内的数据111由测试套件转化系统101的模块112处理。如图Ib所示,模块112可保存于存储器107内。在一个实施例中,以可通信方式连接至处理器105的模块112也可位于存储器107的外部。[0038]在一种实施方式中,模块112例如可包括接收模块125、分析模块127、冗余剔除模块129、分组模块131、重建模块133以及变更管理模块135。其它模块137可用于执行测试套件转化系统101的各种其他功能。可以理解的是,所述模块112既可表现为单个模块,也可表现为不同模块的组合。[0039]在一种实施方式中,接收模块125从所述一个或多个数据源109接收包含所述多个测试用例113的测试套件。此外,接收模块125还可接收所述多个测试用例113中的每一个执行时所必需的一个或多个测试数据115。在一种实施方式中,所述多个测试用例113和测试数据115可以电子表格、文本文件等常用格式或作为数据库保存于存储器107内。接收模块125还可通过用户设备108从所述测试套件的一个或多个用户接收相似度指数信息117。[0040]在一种实施方式中,分析模块127从接收模块125获取所述多个测试用例113和测试数据115,并对所接收的多个测试用例113和测试数据115实施初步分析。分析模块127所实施的所述初步分析可通过比较所述多个测试用例113中每个测试用例的语法和语义,从所接收的测试用例中识别出一个或多个冗余测试用例。[0041]在一种实施方式中,冗余剔除模块129通过对上述分析后的所述多个测试用例113进行扫描而将该多个测试用例113分组至各集群内。冗余剔除模块129首先将空格等一系列非文本字符从所述多个测试用例113和测试数据115中剔除。在一种实施方式中,待由冗余剔除模块129剔除的所述非文本字符列表可作为用户输入经IO接口103接收。以下所示表A和表B说明了将一个或多个非文本字符自所述多个测试用例113和测试数据115中剔除的过程。完成所述非文本字符的剔除后,所述多个测试用例113中的每一个的一个或多个测试步骤被集总为单个测试字符串。在一种实施方式中,所述测试步骤为所述多个测试用例113中的一个测试用例的测试描述与该测试用例的预期执行结果的组合。[0042]在一种实施方式中,由所述冗余剔除模块129对所述多个测试用例113中每一个测试用例经上述集总后所得的测试字符串进行比较。当多个测试用例113中的一个测试用例的测试字符串与其他测试用例中的一个测试用例的测试字符串相同时,前一个测试用例则被标记为冗余测试用例。此外,针对所述多个测试用例113中的每一个均重复上述测试字符串比较处理,并将冗余测试用例剔除。[0043]在一种实施方式中,可使用一个或多个机器学习和或自然语言处理技术剔除所述冗余测试用例。通过使用该技术,测试套件转化系统101在一段时间之内持续地学习所述剔除方法。举例而言,对于“Unableto”和“Notableto”等语句而言,由于所述机器学习和或自然语言技术将其理解为相同语句,因此测试套件转化系统101也将其匹配为相同语句。[0044]在一种实施方式中,在将所述冗余测试用例中的每一个剔除后,根据所述测试套件中剩余的一个或多个非冗余测试用例中的每一个的测试字符串相似度百分比,该非冗余测试用例被分组至各集群内。其中,所述相似度百分比是指各测试字符串的匹配程度。举例而言,对于如“VerifypositiveLogintoapplication”和“VerifynegativeLogintoapplication”之类的两个字符串,由于各字符串内只有“positive”和“negative”两个单词分别有4个字母的不同,因此这两个字符串的相似度百分比可以为89%。[0045]在一种实施方式中,根据上述所得各测试字符串之间的相似度百分比,可使用聚类算法clusteringalgorithm,例如,但不限于,k-平均算法K-means将所述一个或多个非冗余用例的一个或多个测试字符串分类至一个或多个集群中。在一种实施方式中,可根据用户定义相似度指数,将所述一个或多个测试字符串分类至一个或多个集群中。举例而言,用户可要求80%的相似度指数,这意味着所述一个或多个测试字符串中的每一个具有大于80%的相似度百分比的测试字符串可被分组至同一集群中。此外,还可经IO接口103将所述测试套件内的待创建集群个数接收为来自用户的可配置用户输入。[0046]在一种实施方式中,分组模块131将所述一个或多个测试用例集群作为输入接收,并将所述一个或多个集群中的每个集群内的一个或多个非冗余测试用例分解为一系列称为测试功能119的测试步骤块。每个测试功能119均为用于执行整个测试用例的一个小子集的一系列测试步骤。所述测试功能119也可通过使用所述自然语言处理技术对一个或多个测试步骤进行分析的方式获得,从而实现以最大的概率识别所述一个或多个非冗余测试用例的一个或多个测试步骤之间的匹配。此外,所述自然语言技术还确保在两个测试用例写法不同时,即使各测试用例的语法上存在一些差异,仍旧能以较高的概率识别可重复使用测试功能。[0047]在一种实施方式中,分组模块131从所述一个或多个集群中的每个集群内的一个或多个测试功能119中识别一个或多个可重复使用测试功能。其中,可通过先识别出具有最大测试字符串长度的源测试功能,然后将每个其他测试功能119与该源测试功能比较的方式,判断所述一个或多个可重复使用测试功能。当检测到完全匹配时,先将所述源测试功能标记为可重复使用测试功能,然后将与之匹配的所述测试功能从所述测试套件中剔除和或移除。[0048]在一种实施方式中,重建模块133对由分组模块131识别的每个可重复使用测试功能进行重建。在该重建过程中,如上所述,对于测试用例中的重复测试步骤,使用相应可重复使用测试功能的标识将其替代。[0049]举例而言,对于表A所示的四个具有一个或多个测试步骤以及每个测试步骤的相应步骤描述的测试用例TCl〜TC4,先由冗余剔除模块129对这些测试用例TCl〜TC4中的每一个进行扫描,以识别并剔除其一个或多个测试步骤和步骤描述中的一个或多个非文本字符。下表B中所示为所述测试用例TC1〜TC4及其相应的不含所述非文本字符的测试步骤、步骤描述以及执行所述测试步骤时的预期结果。其中,每个测试用例TCl〜TC4的测试步骤个数可随该测试用例的设计目的不同而不同。此外,从表B中可以看出,每个测试用例TCl〜TC4的测试步骤1〜3因执行相同任务而可被标记为重复测试步骤。类似地,测试用例TCl的测试步骤4和测试步骤5与测试用例TC2、TC3和TC4的测试步骤7和测试步骤8也相同。[0050]表A[0056]在实施方式中,为了移除一个或多个测试用例中的相同重复测试步骤,重建模块133可将每个重复测试步骤分组至同一测试块Block内,该测试块称为可重复使用测试块。检测出可重复使用测试块后,重建模块133将所述一个或多个重复测试块中的每个测试块由所述可重复使用测试块的标识替代,以剔除所述测试用例中的重复步骤。以下表C所示为用所述可重复使用测试步骤TC1的步骤1〜步骤3,以及TCl的步骤4〜步骤5将每个重复测试步骤TC2〜TC4的步骤1〜步骤3,以及TC2〜TC4的步骤7和步骤8替代后重建的测试用例TCl〜TC4。[0057]表C[0059]在一种实施方式中,在重建所述一个或多个集群内的一个或多个非冗余测试用例后,还以图示方式将此表显示于业务流程模型121中。业务流程模型121通过对所述一个或多个集群内的每个集群的一个或多个测试用例进行扫描的方式生成。业务流程模型121以图形表示法例如图2a所示的表现方式对所述一个或多个集群内的一个或多个非冗余测试用例中每个测试用例之间的交互关系进行描述。图2a为所述一个或多个可重复使用测试功能之间交互关系的例示表现图。其中,测试功能1与测试功能2、测试功能6以及测试功能9相关,而测试功能2、测试功能6以及测试功能9进一步与测试功能7相关。[0060]在一种实施方式中,在生成一个或多个测试集群中每个测试集群的一个或多个测试用例中的每个测试用例的一个或多个业务流程模型121之后,将所述测试集群分组,从而获得整体业务模型。所述整体业务模型只包括构成所述测试套件的集群,因此可实现该测试套件的优化。如图2b所示,集群1和集群2形成整体的集群1-2,集群2和集群3形成整体的集群2-3,而集群1、2和3形成首位相接的测试集群1-2-3。此整体业务模型实现了对所述系统的整体观感。[0061]在一种实施方式中,测试套件转化系统101利用变更管理模块135对所述测试套件实施一个或多个变更管理操作,以识别该测试套件中重建和或变更后的测试用例。图2c所示为识别变更后测试用例的方法。在框体201中,通过对所述测试套件中一个或多个重建后测试用例中的每一个进行解析的方式,生成一个或多个测试用例。在框体203中,将所述一个或多个新测试用例中的每一个与所述测试套件中已有的一个或多个测试用例进行比较,以求出所述已有和新测试用例之间的匹配比例。在框体205中,根据求出的匹配比例,为所述一个或多个新测试用例中的每个新测试用例均分配一预定颜色。举例而言,所有的100%匹配均设为“绿色”,以表示无需对此类测试用例做出任何变更。类似地,每个与所述已有测试用例部分匹配的新测试用例均设为“琥珀色”,以表示还需对此类测试用例执行一个或多个其他动作。部分匹配可见于包括,但不限于,下述情形在内的各种情形中:测试用例的测试功能119的原始序列中丢失了关键测试功能;测试用例的测试功能119的序列中加入了新测试功能;以及测试用例的测试功能119的序列中加入和或移除了多个测试功能。在另一实施方式中,所述一个或多个测试用例的测试功能119的全新序列设为“空白”,以表示这些测试用例将进一步转译为新测试用例。类似地,所述一个或多个被剔除测试功能119设为“红色”,以表示这些测试用例将从所述测试套件内的测试用例中删除。在框体207中,使用比较后的上述一个或多个新测试用例对所述测试套件进行更新,从而实现以所述一个或多个优化测试用例加强所述测试套件的目的。[0062]图3为根据本发明一些实施方式对含多个测试用例的测试套件进行优化的方法的示意流程图。[0063]如图3所示,方法300包括利用测试套件转化系统101对测试套件进行优化的一个或多个框体。方法300可在计算机可执行指令的一般语境中描述。一般而言,计算机可执行指令可包括用于执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块和功能。[0064]方法300的描述顺序并不旨在于理解为限制,而且为了实施该方法,所述方法框体可具有任意数量且可以任何顺序组合。另外,在不脱离本文所述技术方案的精神和范围的前提下,可将各个框体从所述方法中删除。此外,所述方法可在任何合适的硬件、软件、固件或其组合中实施。[0065]在框体301中,测试套件转化系统101通过接收模块125从一个或多个数据源109接收所述多个测试用例113。每个所接收测试用例均包括测试描述和一个或多个测试步骤,而且保存于测试套件转化系统101的存储器107中。举例而言,所述一个或多个数据源109可包括,但不限于,测试管理系统、存有多个测试用例113的存储单元以及测试管理工具中的至少一个。[0066]在框体303中,测试套件转化系统101从所述测试套件内的多个测试用例113中识别出一个或多个冗余测试用例及一个或多个非冗余测试用例中的至少一个。如果检测出所述多个测试用例113的测试描述和测试步骤与所述测试套件中的一个或多个其他测试用例的测试描述和测试步骤的相似度为95%时,则认为所述测试套件中的所述多个测试用例113为冗余测试用例。在一种实施方式中,所述一个或多个冗余测试用例被剔除出所述测试套件。[0067]在框体305中,测试套件转化系统101通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤相比较,计算所述一个或多个非冗余测试用例中每个非冗余测试用例之间的相似度百分比。[0068]在框体307中,测试套件转化系统101根据所述将相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内。在一种实施方式中,每个所述测试用例中的测试步骤的测试描述、测试步骤以及预期结构的组合被集总为单个字符串。可对不同测试用例的此类数据字符串进行检查,而且当发现描述和步骤均相同时,将相应冗余测试用例在分组前从所述测试套件中剔除。[0069]在框体309中,测试套件转化系统101从所述一个或多个集群中的每个集群内识别出一个或多个测试功能119,从而确定所述一个或多个集群中的每个集群内的一个或多个可重复使用测试功能。测试功能119为用于执行整个测试用例的一个小子集的一系列测试步骤。测试功能119通过自然语言处理和机器学习技术中的至少一个被识别。[0070]在框体311中,测试套件转化系统101通过用所述识别出的一个或多个可重复使用测试功能的标识替代所述多个测试用例113中每个测试用例的方式,对所述一个或多个集群中每个集群内的多个测试用例113进行重建。所述一个或多个可重复使用测试功能的标识为指向所述一个或多个可重复使用测试功能在所述一个或多个集群内的位置的路径。在一种实施方式中,测试套件转化系统101可进一步包括,针对所述一个或多个可重复使用测试功能当中的每个测试功能,均生成一个或多个业务流程模型121,其中,所述一个或多个业务流程模型121中的每个业务流程模型均进一步用于生成整体业务模型,已获得所述测试套件的整体观感。[0071]计算机系统[0072]图4为用于实施符合本发明实施方式的例示计算机系统400的框图。在一种实施方式中,计算机系统400用于通过测试套件转化系统101对含多个测试用例113的测试套件进行优化。计算机系统400可包括中央处理单元(“CPU”或“处理器”)105。处理器105可包括至少一个用于执行程序组件的数据处理器,所述程序组件用于执行用户或系统生成的请求。用户可包括个人,使用设备(例如,本发明范围内的设备)的个人或此类设备本身。处理器105可包括专用处理单元,例如集成系统(总线控制器、存储器管理控制单元、浮点单元、图形处理单元、数字信号处理单元等。[0073]处理器105可配置为通过输入输出(IO接口103与一个或多个IO设备(411和412进行通信。IO接口103可采用通信协议方法,例如但不限于,音频、模拟、数字、立体声、IEEE-1394、串行总线、通用串行总线USB、红外、PS2、BNC、同轴、组件、复合、数字视觉接口(DVI、高清晰度多媒体接口(HDMI、射频RF天线、S-视频,VGA、IEEE802·nbgnX、蓝牙、蜂窝(例如码分多址CDMA、高速分组接入HSPA+、移动通信全球系统GSM、长期演进LTE、WiMax等等。通过IO接口103,计算机系统400可与一个或多个IO设备411和412进行通信。[0074]在一些实施方式中,处理器105可配置为通过网络接口403与通信网络409进行通信。网络接口403可与通信网络409通信。网络接口403可采用连接协议,包括但不限于,直接连接、以太网(例如双绞线lOlOOlOOOBaseT、传输控制协议网际协议TCPIP、令牌环、IEEE802.1labgnx等。通过网络接口403以及通信网络409,计算机系统400可与一个或多个用户设备IOS1WlOSn通信。通信网络409可实施为内部网路或局域网(LAN以及所述组织结构内的此类网络等不同类型网络中的其中一种网络。通信网络409既可以为专用网络,也可以为共享网络,所述共享网络表示使用超文本传输协议HTTP、传输控制协议网际协议TCPIP、无线应用协议WAP等各种协议相互通信的上述不同类型网络的联合。此外,通信网络409可包括路由器、桥接器、服务器、计算设备、存储设备等各种网络设备。所述一个或多个用户设备108可包括,但不限于,个人计算机以及蜂窝电话、智能电话、平板电脑、电子书阅读器、膝上型计算机、笔记本电脑、游戏机等移动设备。[0075]在一些实施方式中,处理器105可配置为通过存储接口404与存储器107例如图4中未示出的RAM、R〇M等通信。存储接口404可采用串行高级技术连接SATA、集成驱动电子设备(IDE、IEEE1394、通用串行总线USB、光纤通道、小型计算机系统接口(SCSI等连接协议连接至存储器107,该存储设备包括,但不限于,存储驱动器、可移除磁盘驱动器等。所述存储驱动器还可包括磁鼓、磁盘驱动器、磁光驱动器、光盘驱动器、独立磁盘冗余阵列RAID、固态存储设备、固态驱动器等。[0076]存储器107可存储一系列程序或数据库组件,包括但不限于,用户界面应用程序406、操作系统407、网页浏览器408等。在一些实施方式中,计算机系统400可存储用户应用程序数据406例如本发明中所述数据、变量、记录等)。此类数据库可以为容错、关系、可扩展、安全数据库,例如甲骨文Oracle或赛贝斯Sybase。[0077]操作系统407可促进计算机系统400的资源管理和运行。操作系统例如包括,但不限于,苹果MacintoshOSX、Unix、类Unix系统套件(例如伯克利软件套件BSD、FreeBSD、NetBSD、0penBSD等)、Linux套件(如红帽(RedHat、Ubuntu、Kubuntu等)、国际商业机器股份有限公司(IBM0S2、微软Wind〇WSXP,Vista78等)、苹果iOS、谷歌Google安卓、黑莓操作系统等。用户界面406可利用文本或图形工具促进程序组件的显示、执行、互动、操控或操作。例如,用户界面可在以可操作方式连接至计算机系统400的显示系统上提供光标、图标、复选框、菜单、滚动条、窗口、窗口部件等计算机交互界面元件。还可采用图形用户界面⑶I,包括但不限于,苹果Macintosh操作系统的Aqua、IBMOS2、微软Windows例如Aero、Metro等)、UniXX-Windows、网页界面库(例如ActiveX、Java、Javascript、AJAX、HTML、AdobeFlash等)等。[0078]在一些实施方式中,计算机系统400可执行网页浏览器408存储的程序组件。所述网页浏览器可以为超文本浏览应用程序,如微软网络探路者(InternetExplorer、谷歌浏览器Chrome、谋智火狐MoziIlaFirefox、苹果浏览器Safari等。安全网页浏览可通过HTTPS安全超文本传输协议)、安全套接字层(SSL、安全传输层TLS等实现。网页浏览器可使用AJAX、DHTML、AdobeFlashJavaScript、Java、应用程序编程接口(API等工具。在一些实施方式中,计算机系统400可执行邮件服务器存储的程序组件。所述邮件服务器可以为微软Exchange等因特网邮件服务器。所述邮件服务器可使用动态服务器网页(ASP、ActiveX、美国国家标准学会ANSIC++C#、微软·NET、CGI脚本、Java、JavaScript、PERL、PHP、Python、WebObjects等工具。所述邮件服务器还可使用因特网信息访问协议IMAP、邮件应用程序编程接口(MAPI、微软Exchange、邮局协议POP、简单邮件传输协议SMTP等通信协议。在一些实施方式中,计算机系统400可执行邮件客户端存储的程序组件。所述邮件客户端可为苹果Mail、微软Entourage、微软Outlook、谋智Thunderbird等邮件查看程序。[0079]此外,一个或多个计算机可读存储介质可用于实施符合本发明的实施方式。计算机可读存储介质是指可对处理器可读取的信息或数据进行存储的任何类型的物理存储器。因此,计算机可读存储介质可对由一个或多个处理器执行的指令进行存储,包括用于使处理器执行根据本申请实施方式的步骤或阶段的指令。“计算机可读介质”一词应理解为包括有形物件且不包括载波及瞬态信号,即为非临时性介质,例如随机存取存储器RAM、只读存储器ROM、易失性存储器、非易失性存储器、硬盘驱动器、只读光盘存储器CD-ROM、数字视频光盘DVD、闪存驱动器、磁盘以及其他任何已知物理存储介质。[0080]以下,对本发明实施方式的优点进行描述。[0081]在一种实施方式中,本发明提供一种对含多个测试用例的测试套件进行优化的方法。[0082]在一种实施方式中,本发明提供一种不损失测试数据的更佳的现有测试套件表现方法。[0083]在一种实施方式中,本发明使产品软件应用程序软件系统在更短的回归测试周期内以更快的速度测试和推出,从而保证所述产品软件应用程序软件系统以更快速度上市。[0084]在一种实施方式中,本发明提供一种方法,该方法使回归套件的更新和维护所需时间最小化,从而使得每一测试周期所需维护工作得到优化。[0085]除非另有明确说明,“一实施方式”、“实施方式”、“多种实施方式”、“所述实施方式”、“所述多种实施方式”、“一种或多种实施方式”、“一些实施方式”以及“一种实施方式”各词均表示“本发明的一种或多种而非全部实施方式”的意思。[0086]除非另有明确说明,“包括”、“包含”以及“具有”各词及其变形词均表示“包括,但不限于”的意思。[0087]除非另有明确说明,项目的枚举列单并不意味着任何或所有项目具有相互排他关系。[0088]除非另有明确说明,“一”,“一个”和“所述”各词均表示“一个或多个”的意思。[0089]描述为具有多个相互间有联系的部件的实施方式并不意味着所有此类部件均为必需部件。相反地,其描述的是,还具有多种可选组件用于实现本发明的各种各样的可能实施方式。[0090]本文中,一旦有对单个设备或物件的描述,则可随即明白的是,所述单个设备物件可由多于一个的所述设备物件无论其之间是否均有协作关系代替。类似地,本文中一旦有对多于一个的设备或物件无论其之间是否均有协作关系)的描述,则可随即明白的是,所述多于一个的设备或物件可由单个设备物件代替,或者所示数量的设备或程序可由不同数量的设备物件代替。此外,某个设备的功能和或特征可由一个或多个未明确描述为具有此类功能特征的其他设备代为实现。因此,本发明的其它实施方式无需包括该设备本身。[0091]最后,本说明书所选的行文方式主要在于可读性和教示目的,且可能并不在于细述或限制本发明技术方案。因此,本发明范围并不意在由此《具体实施方式》限制,而是由基于此部分提出申请的任何权利要求所界定。相应地,本发明实施方式的发明意在于说明而非限制本发明范围,而且本发明范围如下附权利要求所述。[0092]虽然此处公开了各个方面及各种实施方式,但是对于本领域技术人员而言,其他方面及实施方式为容易理解的。本文所公开的各个方面及各种实施方式出于说明而非限制目的,而本发明的真正范围及精神如下附权利要求所述。

权利要求:1.一种对包含多个测试用例的测试套件进行优化的方法,其特征在于,该方法包括:由一测试套件转化系统从一个或多个数据源接收所述测试套件的多个测试用例;由所述测试套件转化系统识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个;由所述测试套件转化系统通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比;由所述测试套件转化系统根据所述相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内;由所述测试套件转化系统识别出所述一个或多个集群中每个集群内的一个或多个测试功能,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能;以及由所述测试套件转化系统通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,重建所述一个或多个集群中每个集群内的一个或多个测试用例,从而优化所述测试套件。2.如权利要求1所述的方法,其特征在于,还包括,针对所述一个或多个可重复使用测试功能中的每个可重复使用测试功能,生成一个或多个业务流程模型。3.如权利要求2所述的方法,其特征在于,通过所述一个或多个业务流程模型中的每个业务流程模型生成一整体业务模型,以获得对所述测试套件的整体观感。4.如权利要求3所述的方法,其特征在于,还包括,对所述整体业务模型实施一个或多个变更管理操作,其中,所述一个或多个变更管理操作包括:通过解析所述测试套件内已重建的多个测试用例中的每一个,在所述测试套件内生成一个或多个新测试用例;将所述一个或多个新测试用例中的每个新测试用例与所述测试套件内的多个已有测试用例比较,以获得所述一个或多个新测试用例和所述多个已有测试用例的测试描述和测试步骤之间的匹配比例;根据所述匹配比例,为所述一个或多个新测试用例中的每个新测试用例分配预定颜色,以及根据分配至所述测试套件内的所述一个或多个新测试用例中每个新测试用例的颜色,对所述一个或多个新测试用例执行一个或多个动作。5.如权利要求4所述的方法,其特征在于,对所述一个或多个新测试用例执行的一个或多个动作包括,删除所述一个或多个新测试用例、转译所述一个或多个新测试用例以及修改所述一个或多个新测试用例中的至少一个。6.如权利要求1所述的方法,其特征在于,所述一个或多个可重复使用测试功能的标识为指向所述一个或多个可重复使用测试功能在所述一个或多个集群内的位置的路径。7.如权利要求1所述的方法,其特征在于,所述测试套件内的所述一个或多个冗余测试用例被剔除出所述测试套件。8.—种对包含多个测试用例的测试套件进行优化的测试套件转化系统,其特征在于,该测试套件转化系统包括:处理器;以及存储器,以可通信方式连接至所述处理器,其中,所述存储器存有处理器可执行指令,该指令在执行时使得所述处理器:从一个或多个数据源接收所述测试套件的多个测试用例;识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个;通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比;根据所述相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内;识别出所述一个或多个集群中每个集群内的一个或多个测试功能,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能;以及通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,重建所述一个或多个集群中每个集群内的一个或多个测试用例,从而优化所述测试套件。9.如权利要求8所述的系统,其特征在于,所述指令还使得所述处理器针对所述一个或多个可重复使用测试功能中的每个可重复使用测试功能,生成一个或多个业务流程模型。10.如权利要求9所述的系统,其特征在于,所述指令还使得所述处理器通过所述一个或多个业务流程模型中的每个业务流程模型生成一整体业务模型,以获得对所述测试套件的整体观感。11.如权利要求10所述的系统,其特征在于,所述指令使得所述处理器对所述整体业务模型实施一个或多个变更管理操作,所述一个或多个变更管理操作包括:通过解析所述测试套件内已重建的多个测试用例中的每一个,在所述测试套件内生成一个或多个新测试用例;将所述一个或多个新测试用例中的每个新测试用例与所述测试套件内的多个已有测试用例比较,以获得所述一个或多个新测试用例和所述多个已有测试用例的测试描述和测试步骤之间的匹配比例;根据所述匹配比例,为所述一个或多个新测试用例中的每个新测试用例分配预定颜色,以及根据分配至所述测试套件内的所述一个或多个新测试用例中每个新测试用例的颜色,对所述一个或多个新测试用例执行一个或多个动作。12.如权利要求11所述的系统,其特征在于,对所述一个或多个新测试用例执行的一个或多个动作包括,删除所述一个或多个新测试用例、转译所述一个或多个新测试用例以及修改所述一个或多个新测试用例中的至少一个。13.如权利要求8所述的系统,其特征在于,所述一个或多个数据源包括测试管理系统、存有多个测试用例的存储单元以及测试管理工具中的至少一个。14.如权利要求8所述的系统,其特征在于,所述一个或多个可重复使用测试功能的标识为指向所述一个或多个可重复使用测试功能在所述一个或多个集群内的位置的路径。15.如权利要求8所述的系统,其特征在于,所述指令使得所述处理器将所述测试套件内的所述一个或多个冗余测试用例剔除。16.—种非暂时性计算机可读介质,该介质包括存于其内的指令,该指令在由至少一个处理器处理时使得测试套件转化系统执行操作,其特征在于,该操作包括:从一个或多个数据源接收所述测试套件的多个测试用例;识别出所述多个测试用例中的一个或多个冗余测试用例和一个或多个非冗余测试用例中的至少一个;通过将所述一个或多个非冗余测试用例中每个非冗余测试用例的测试描述和测试步骤与每个其他非冗余测试用例的测试描述和测试步骤比较,计算出所述一个或多个非冗余测试用例中各非冗余测试用例之间的相似度百分比;根据所述相似度百分比,将所述一个或多个非冗余测试用例中的每个非冗余测试用例分组至一个或多个集群内;识别出所述一个或多个集群中每个集群内的一个或多个测试功能,以确定所述一个或多个集群中每个集群内的一个或多个可重复使用测试功能;以及通过用所识别出的一个或多个可重复使用测试功能的标识替代所述一个或多个测试用例中的每个测试用例的一个或多个可重复使用测试功能,重建所述一个或多个集群中每个集群内的一个或多个测试用例,从而优化所述测试套件。

百度查询: 维布络有限公司 对包含多个测试用例的测试套件进行优化的方法和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。