CN108763091A - 用于回归测试的方法、装置及系统 - Google Patents

用于回归测试的方法、装置及系统 Download PDF

Info

Publication number
CN108763091A
CN108763091A CN201810552843.0A CN201810552843A CN108763091A CN 108763091 A CN108763091 A CN 108763091A CN 201810552843 A CN201810552843 A CN 201810552843A CN 108763091 A CN108763091 A CN 108763091A
Authority
CN
China
Prior art keywords
case
data
code
tested
configuration management
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.)
Granted
Application number
CN201810552843.0A
Other languages
English (en)
Other versions
CN108763091B (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN201810552843.0A priority Critical patent/CN108763091B/zh
Publication of CN108763091A publication Critical patent/CN108763091A/zh
Application granted granted Critical
Publication of CN108763091B publication Critical patent/CN108763091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Abstract

本申请公开一种用于回归测试的方法、装置及系统。涉及计算机信息处理领域,该方法包括:获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表生成用例执行表;以及根据所述用例执行表,对所述待测试的代码进行自动化回归测试。本申请公开的用于回归测试的方法、装置及系统,能够自动化的进行高效可靠的测试用例选择,提高回归测试的效率。

Description

用于回归测试的方法、装置及系统
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种用于回归测试的方法、装置及系统。
背景技术
软件以需求为核心,用户需求频繁变化,开发周期不断缩短,产品频繁上线,客户对低质量的产品容忍度越来越低,所以集成、发布、测试频率大幅增加。每次发布前回归自动化用例成为必须,全回归耗时太多,达不到频繁发布的时间要求。自动化回归用例范围的有效选择变成亟待解决的问题。目前测试范围人工选择效率低、准确性低。目前已有的筛选方案复杂度高,实施难度大。某些产品紧急发布时回归自动化用例数量大,如果需要分布式执行,分布式测试环境需要多个测试环境、且用例分配策略需要二次开发;如果多人执行势必需要增加人力成本、硬件成本;所以自动化用例自动筛选重要性不言而喻,可节约硬件资源、时间、人力资源。
目前对于自动化回归测试的优化技术研究,大部分集中在对每一个测试需求对应的多个测试用例精简技术上,对测试范围选择优化技术鲜有涉及。现在实际的自动化回归测试中,主要是依赖软件测试工程师经验,通过自身经验分析去除一些认为没有必要的测试用例,减少冗余,从而实现对该被测程序的测试用例库的精简;对测试者能力要求高,要求对被测软件设计非常了解,清楚每个测试用例在代码中的执行路径,对测试环境和资源要求较高。这种人工经验判断的方式,难免造成回归测试的重复、冗余和遗漏,影响回归测试的质量和效率,一旦人员变动,该方法对用例筛选有效性而言效果就更差。
在现有技术中,存在以下几种方案:
第一种测试方法是利用模块内部调试日志方法,用于策略功能的验证、bug追查分析、自动化用例的输出结果预期;这种测试方法筛选算法复杂,而且需要历史数据或者数据准备。
第二种测试方法是利用路径分支覆盖方法,针对所有的代码分支,统计代码的覆盖率情况,根据代码覆盖率变化以判断相关性策略的耦合影响;这种测试方法环境准备复杂,筛选算法复杂,如果源代码复杂的话,筛选耗时较多。
第三种测试方法是利用新旧结果对比测试方法,取同一份万级数据量的随机请求,对比新旧模块版本的运行结果,通过对比新旧结果的不同以验证升级策略的相关性效果是否符合预期。这种测试方法,环境准备复杂,筛选算法复杂,需要历史数据或者数据准备,而且需要数据存储。
第四种根据测试用例的权重进行筛选。
第五种根据借助两种模块间的相依性、模块内函数级别相依性选择基础模块与核心模块的用例组合、筛选获得软件的回归测试用例。这种测试方法筛选算法复杂,如果源代码复杂的话,筛选耗时较多。
第六种根据界面元素树模型、调用关系模型,代码语法树之间的关系,筛选出回归测试用例。这种测试方法筛选算法复杂,如果源代码复杂的话,筛选耗时较多。
以上的现有方法,在代码频繁提交时,团队成员均需再以口头告知或其他文档形式记录告知其他成员代码的修改情况,导致测试过程效率低下,准确性降低。
因此,需要一种新的用于回归测试的方法、装置及系统。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种用于回归测试的方法、装置及系统,能够自动化的进行高效可靠的测试用例选择,提高回归测试的效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种用于回归测试的方法,该方法包括:获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表;以及根据所述用例执行表,对所述待测试的代码进行自动化回归测试。
在本公开的一种示例性实施例中,还包括:通过源文件名称和与所述源文件名称对应的注解名称构建所述注解关系表。
在本公开的一种示例性实施例中,所述获取待测试的代码的配置管理数据,包括:通过配置管理工具获取待测试的代码的配置管理数据。
在本公开的一种示例性实施例中,所述通过所述配置管理数据提取备注信息,生成用例基础信息表,包括:逐行读取所述配置管理数据;通过备注信息判断每行数据中是否存在变更的源文件;以及当存在变更的源文件时,通过所述变更的源文件的名称生成用例基础信息表。
在本公开的一种示例性实施例中,所述通过备注信息判断每行数据中是否存在变更的源文件,包括:通过备注信息判断每行数据中是否存在修改后的源文件;通过备注信息判断每行数据中是否存在新增加的源文件;以及通过备注信息判断每行数据中是否存在删除后的源文件。
在本公开的一种示例性实施例中,还包括:通过测试用例名称和与所述测试用例名称对应的注解名称生成用例注解表。
在本公开的一种示例性实施例中,所述提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表,包括:将所述用例基础信息表中包含的源文件名称与所述注解关系表中的源文件名称比对,生成比对表;将比对表中的注解与所述用例注解表中的注解进行比对生成执行注解;根据所述执行注解生成所述用例执行表。
在本公开的一种示例性实施例中,所述根据所述用例执行表,对所述待测试的代码进行自动化回归测试,包括:根据所述用例执行表,对所述待测试的代码进行接口自动化测试;以及根据所述用例执行表,对所述待测试的代码进行页面自动化测试。
根据本申请的一方面,提出一种用于回归测试的装置,该装置包括:数据模块,用于获取待测试的代码的配置管理数据;基础信息模块,用于通过所述配置管理数据提取备注信息,生成用例基础信息表;用例信息模块,用于提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表;以及执行模块,用于根据所述用例执行表,对所述待测试的代码进行自动化回归测试。
在本公开的一种示例性实施例中,还包括:注解关系表模块,用于通过源文件名称和与所述源文件名称对应的注解名称构成所述注解关系表。
在本公开的一种示例性实施例中,所述数据模块被设置为:通过配置管理工具获取待测试的代码的配置管理数据。
在本公开的一种示例性实施例中,所述基础信息模块,包括:读取子模块,用于逐行读取所述配置管理数据;判断子模块,用于通过备注信息判断每行数据中是否存在变更的源文件;以及信息表子模块,用于当存在变更的源文件时,通过所述变更的源文件的名称生成用例基础信息表。
在本公开的一种示例性实施例中,所述判断子模块,包括:第一判断单元,用于通过备注信息判断每行数据中是否存在修改后的源文件;第二判断单元,用于通过备注信息判断每行数据中是否存在新增加的源文件;以及第三判断单元,用于通过备注信息判断每行数据中是否存在删除后的源文件。
在本公开的一种示例性实施例中,还包括:用例注解表模块,用于通过测试用例名称和与所述测试用例名称对应的注解名称生成用例注解表。
在本公开的一种示例性实施例中,所述用例信息模块,包括:比对子模块,用于将所述用例基础信息表中包含的源文件名称与所述注解关系表中的源文件名称比对,生成比对表;执行子模块,用于将比对表中的注解与所述用例注解表中的注解进行比对,生成执行注解;用例子模块,用于根据所述执行注解生成所述用例执行表。
在本公开的一种示例性实施例中,所述执行模块,包括:接口子模块,用于根据所述用例执行表,对所述待测试的代码进行接口自动化测试;以及页面子模块,用于根据所述用例执行表,对所述待测试的代码进行页面自动化测试。
根据本申请的一方面,提出一种用于回归测试的系统,该系统包括:筛选引擎服务器,用于获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表;应用部署服务器,用于根据所述筛选引擎服务器的所述用例执行表进行部署;用例执行服务器,用于对所述待测试的代码进行自动化回归测试,所述用例执行服务器包括接口自动化用例执行服务器与界面自动化用例执行服务器。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的用于回归测试的方法、装置及系统,能够自动化的进行高效可靠的测试用例选择,提高回归测试的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于回归测试的方法的流程图。
图2是根据另一示例性实施例示出的一种用于回归测试的方法中配置管理数据示意图。
图3是根据另一示例性实施例示出的一种用于回归测试的方法中注解关系表示意图。
图4是根据另一示例性实施例示出的一种用于回归测试的方法中用例注解表示意图。
图5是根据一示例性实施例示出的一种用于回归测试的方法的流程图。
图6是根据一示例性实施例示出的一种用于回归测试的方法的流程图。
图7是根据一示例性实施例示出的一种用于回归测试的装置的框图。
图8是根据另一示例性实施例示出的一种用于回归测试的系统的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
图1是根据一示例性实施例示出的一种用于回归测试的方法的流程图。
如图1所示,在S102中,获取待测试的代码的配置管理数据。可例如通过引擎筛选机获取待测试的代码的配置管理数据。引擎筛选机为独立的服务器,也可与其他的服务器部署在一起。软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。在本申请中,通过配置管理工具获取的配置管理数据,其中,配置管理工具可例如包含如下工具:
VSS(Visual Source Safe)是Microsoft提供的,可以与VS.net进行无缝集成,适合独立项目代码规模较小。
CVS(Concurrent Versions System)是一个开源工具,使用成熟的“Copy-Modify-Merge"开发模型,可以大大的提高开发效率。
SVN(CollabNet Subversion)是在CVS的基础上,由CollabNet提供开发的,也是开源工具,可以与Apache集成在一起进行用户认证。
ClearCase是由IBM Rational Software提供,是配置管理方面的高端软件,功能强大。
PVCS由Serena公司提供,包括PVCS Version Manager,PVCS Professional系列商用软件,不仅包括了版本管理,而且包含了变更管理和过程管理。
MK Source Integrity是由MKS公司提供的。在操作上与PVCS Version Manager非常相似。它可以用来保存单项变更任务或一组变更,在主干与分支的开发路径之间来回移动。
BitKeeper是由BitMover公司提供的,BitKeeper自称是“分布式”可扩缩SCM系统。采用P2P结构来实现的,同样支持变更任务。
AccuRev由AccuRev公司提供,它不太著名,其最大特征之一是,它是“时间安全”,它里面有强有力的“流”的概念。
CM Synergy由Telelogic提供,是非常强有力的、以过程为中心的SCM工具,具有配置能力很强的工作流。
在本实施例中,以SVN工具输出的配置管理数据为例,做示例性说明。SVN的日志格式如图2所示。
在S104中,通过所述配置管理数据提取备注信息,生成用例基础信息表。包括:逐行读取所述配置管理数据;通过备注信息判断每行数据中是否存在变更的源文件;以及当存在变更的源文件时,通过所述变更的源文件的名称生成用例基础信息表。可例如包括:通过备注信息判断每行数据中是否存在修改后的源文件;通过备注信息判断每行数据中是否存在新增加的源文件;以及通过备注信息判断每行数据中是否存在删除后的源文件。备注信息可例如通过预定的标志位进行标识,通过对备注信息的判断确定备注信息的位置,进而读取备注信息中的数据。
在一些实施例中,团队成员准备源码文件与注解的关系表。团队成员在每次代码提交如果所有用例要执行,提交@all,如不是全部测试,可不填。
在S106中,提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表。例如,通过源文件名称和与所述源文件名称对应的注解名称构成所述注解关系表。通过测试用例名称和与所述测试用例名称对应的注解名称生成用例注解表。注解,也叫元数据,是一种代码级(java语言)的说明。如果源文件非java语言,则可以该文件的分类名。在本申请中,源文件的格式可例如包括C,C++等编程语言,本申请不以此为限。
图3是根据另一示例性实施例示出的一种用于回归测试的方法中注解关系表示意图。图4是根据另一示例性实施例示出的一种用于回归测试的方法中用例注解表示意图。如图3与图4的示例,可例如将所述用例基础信息表中包含的源文件名称与所述注解关系表中的源文件名称比对,生成比对表;然后,将比对表中的注解与用例中的注解进行对比,生成所述用例执行表。其中,e、c、d、f表示注解名,Test1、Test2……表示测试用例名。
在S108中,根据所述用例执行表,对所述待测试的代码进行自动化回归测试。包括:根据所述用例执行表,对所述待测试的代码进行接口自动化测试;以及根据所述用例执行表,对所述待测试的代码进行页面自动化测试。自动化用例分为两大类:接口自动化测试、页面自动化测试。接口自动化测试直接调用现有接口进行白盒测试,批量执行速度快;页面自动化测试模拟人工鼠标操作,进行黑盒测试,执行时间伴随业务复杂度增加而增加。一次跑完上千用例需要10几个小时,用例规模上升用例执行耗时同步上升。
根据本申请的用于回归测试的方法,通过提取所述代码中存在变更的源文件名称,进而根据源文件名称与注解名称对应,进而确定测试用例的方式,达到自动化筛选测试用例的目的,自动化的进行高效可靠的测试用例选择,提高回归测试的效率。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图5是根据一示例性实施例示出的一种用于回归测试的方法的流程图。图5是对上文中S104中步骤的示例性说明。
如图5所示,在S501中,一般情况下初始时设置标志位state=0。
在S502中,解析SVN文件,判断是否是文件结束符,是则文件解析结束,否则进入S503。
在S503中,判断行开头是否是M(Modify修改)或者A(Add增加)或者D(Delete删除),是则进入S504,否则进入S505。
在S504中,读取该行,直至行末尾。
在S505中,判断该行中是否存在@all,如果存在则进入S507,如果不存在则继续S502。
在S506中,判断该行末尾是否为*.java结尾。如果判断为是则进入S508,否则进入S502。
在S507中,设置state=1。
在S508中,获取该java文件的名称。
在S509中,文件解析结束。
根据本申请的用于回归测试的方法,通过逐行读取代码变更记录数据,以达到到对源文件进行解析的目的,可以方便快捷的提取所述代码中存在变更的源文件名称。
筛选引擎机在检测到集成部署完成后,通过获取svn日志中被修改class名称及备注信息,生成用例基础信息表;获取从起始版本到结束版本的日志,由svn的命令行指定。
图6是根据一示例性实施例示出的一种用于回归测试的方法的流程图。图6是对上文中S106中步骤的示例性说明。
如图6所示,在S602中,判断标识位是否为1,如果为1的话,则进入S608,否则进入S604。
在S604中,判断用例基础信息表是否为空。如果为空则进入S608,否则进入S606。
在S606中,生成用例执行表。生成一个注解时,检索比对表中是否存在同名注解,如果存在同名则不插入注解,否则插入注解;如果从svn日志中解析到的源文件名在图2中并不存在,注解无法检索到,则发送邮件给相关人员告警。筛选引擎根据比对表,根据图4算法生成用例执行表,将比对表中的每个注解与测试用例库中所有用例的注解进行比对,存在同名注解则将该用例插入到用例执行表中(每个用例可能有几个注解,只需一个注解同名,即选择该用例),如果用例执行表中已存在该用例则不插入,否则插入;接着进入步骤608。
在S608中,根据标志位或者用例执行表发送信息至执行机。筛选引擎机判断标志位是否为1,是则认为自动化测试用例需全部执行;不是则读取用例执行表,如果用例执行表为空,则认为不需要执行用例,如果用例执行表不为空,则需要执行用例,发送执行用例表给用例执行机;如果需要,发送相关邮件给团队成员。
根据本申请的用于回归测试的方法,回归范围无需口头交流,引擎筛选机自动识别回归范围。引擎筛选机通过扫描SVN日志来检索被修改源文件名,根据源文件名筛选注解,根据注解筛选要执行的用例。通过解析SVN日志智能判断用例是否全部执行还是部分执行,如果解析到全部执行则不需要继续扫描解析SVN日志。
根据本申请的用于回归测试的方法,筛选原理简单;筛选效率高;筛选结果有效;已经被实际系统使用证明是切实可行的。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7是根据一示例性实施例示出的一种用于回归测试的装置的框图。用于回归测试的装置包括:数据模块702,基础信息模块704,用例信息模块706,执行模块708。
数据模块702用于获取待测试的代码的配置管理数据。在本实施例中,以SVN工具输出的配置管理数据为例,做示例性说明。SVN的日志格式如图2所示。
基础信息模块704用于通过所述配置管理数据提取备注信息,生成用例基础信息表。包括:逐行读取所述配置管理数据;通过备注信息判断每行数据中是否存在变更的源文件;以及当存在变更的源文件时,通过所述变更的源文件的名称生成用例基础信息表。可例如包括:通过备注信息判断每行数据中是否存在修改后的源文件;通过备注信息判断每行数据中是否存在新增加的源文件;以及通过备注信息判断每行数据中是否存在删除后的源文件。
用例信息模块706用于提取所述用例基础信息表中的数据,根据所述数据与注解关系表生成用例执行表。例如,通过源文件名称和与所述源文件名称对应的注解名称生成所述注解关系表。通过测试用例名称和与所述测试用例名称对应的注解名称生成用例注解表。注解,也叫元数据,是一种代码级(java语言)的说明。如果源文件非java语言,则可以该文件的分类名。在本申请中,源文件的格式可例如包括C,C++等编程语言,本申请不以此为限。
执行模块708用于根据所述用例执行表,对所述待测试的代码进行自动化回归测试。包括:根据所述用例执行表,对所述待测试的代码进行接口自动化测试;以及根据所述用例执行表,对所述待测试的代码进行页面自动化测试。
根据本申请的用于回归测试的装置,通过提取所述代码中存在变更的源文件名称,进而根据文件名称与注解名称对应,然后再与测试用例对应的方式,达到自动化筛选测试用例的目的,自动化的进行高效可靠的测试用例选择,提高回归测试的效率。
图8是根据另一示例性实施例示出的一种用于回归测试的系统的框图。用于回归测试的系统80包括:筛选引擎服务器802,应用部署服务器804,用例执行服务器806。
筛选引擎服务器802用于获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表。
应用部署服务器804用于根据所述筛选引擎服务器的所述用例执行表进行部署。
用例执行服务器806用于对所述待测试的代码进行自动化回归测试,所述用例执行服务器包括接口自动化用例执行服务器8062与界面自动化用例执行服务器8064。
图9是根据一示例性实施例示出的一种电子设备的框图。
下面参照图9来描述根据本申请的这种实施方式的电子设备200。图9显示的电子设备200仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图1,图5,图6中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图10示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图10所示,描述了根据本申请的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表生成用例执行表;以及根据所述用例执行表,对所述待测试的代码进行自动化回归测试。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本申请可实施的范畴。

Claims (12)

1.一种用于回归测试的方法,其特征在于,包括:
获取待测试的代码的配置管理数据;
通过所述配置管理数据提取备注信息,生成用例基础信息表;
提取所述用例基础信息表中的数据,根据所述数据与注解关系表生成用例执行表;以及
根据所述用例执行表,对所述待测试的代码进行自动化回归测试。
2.如权利要求1所述的方法,其特征在于,还包括:
通过源文件名称和与所述源文件名称对应的注解名称构成所述注解关系表。
3.如权利要求1所述的方法,其特征在于,所述获取待测试的代码的配置管理数据,包括:
通过配置管理工具获取待测试的代码的配置管理数据。
4.如权利要求1所述的方法,其特征在于,所述通过所述配置管理数据提取备注信息,生成用例基础信息表,包括:
逐行读取所述配置管理数据;
通过备注信息判断每行数据中是否存在变更的源文件;以及
当存在变更的源文件时,通过所述变更的源文件的名称生成用例基础信息表。
5.如权利要求4所述的方法,其特征在于,所述通过备注信息判断每行数据中是否存在变更的源文件,包括:
通过备注信息判断每行数据中是否存在修改后的源文件;
通过备注信息判断每行数据中是否存在新增加的源文件;以及
通过备注信息判断每行数据中是否存在删除后的源文件。
6.如权利要求2所述的方法,其特征在于,还包括:
通过测试用例名称和与所述测试用例名称对应的注解名称生成用例注解表。
7.如权利要求6所述的方法,其特征在于,提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表,包括:
将所述用例基础信息表中包含的源文件名称与所述注解关系表中的源文件名称比对,生成比对表;
将比对表中的注解与所述用例注解表中的注解进行比对,生成执行注解;
根据所述执行注解生成所述用例执行表。
8.如权利要求1所述的方法,其特征在于,所述根据所述用例执行表,对所述待测试的代码进行自动化回归测试,包括:
根据所述用例执行表,对所述待测试的代码进行接口自动化测试;以及
根据所述用例执行表,对所述待测试的代码进行页面自动化测试。
9.一种用于回归测试的装置,其特征在于,包括:
数据模块,用于获取待测试的代码的配置管理数据;
基础信息模块,用于通过所述配置管理数据提取备注信息,生成用例基础信息表;
用例信息模块,用于提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表;以及
执行模块,用于根据所述用例执行表,对所述待测试的代码进行自动化回归测试。
10.一种用于回归测试的系统,其特征在于,包括:
筛选引擎服务器,用于获取待测试的代码的配置管理数据;通过所述配置管理数据提取备注信息,生成用例基础信息表;提取所述用例基础信息表中的数据,根据所述数据与注解关系表,生成用例执行表;
应用部署服务器,用于根据所述筛选引擎服务器的所述用例执行表进行部署;
用例执行服务器,用于对所述待测试的代码进行自动化回归测试,所述用例执行服务器包括接口自动化用例执行服务器与界面自动化用例执行服务器。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201810552843.0A 2018-05-31 2018-05-31 用于回归测试的方法、装置及系统 Active CN108763091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810552843.0A CN108763091B (zh) 2018-05-31 2018-05-31 用于回归测试的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810552843.0A CN108763091B (zh) 2018-05-31 2018-05-31 用于回归测试的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108763091A true CN108763091A (zh) 2018-11-06
CN108763091B CN108763091B (zh) 2022-05-27

Family

ID=64001563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810552843.0A Active CN108763091B (zh) 2018-05-31 2018-05-31 用于回归测试的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108763091B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828906A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 Ui自动化测试方法、装置、电子设备及存储介质
CN109857637A (zh) * 2018-12-25 2019-06-07 杭州茂财网络技术有限公司 一种基于注解的Java语言方法覆盖率和方法输入输出统计方法及装置
CN110119351A (zh) * 2019-04-09 2019-08-13 微梦创科网络科技(中国)有限公司 一种测试用例执行方法及装置
CN111240970A (zh) * 2020-01-06 2020-06-05 网联清算有限公司 一种测试用例生成方法及装置
CN112596738A (zh) * 2020-12-28 2021-04-02 北京字跳网络技术有限公司 待测试前端页面的确定方法、装置、存储介质及电子设备
CN112613255A (zh) * 2020-12-10 2021-04-06 海光信息技术股份有限公司 多环境协同回归方法、装置、设备、存储介质
CN112965910A (zh) * 2021-03-19 2021-06-15 携程旅游信息技术(上海)有限公司 自动化回归测试方法、装置、电子设备、存储介质
CN113176997A (zh) * 2021-04-30 2021-07-27 深圳市共进电子股份有限公司 测试用例加载方法、装置、计算机设备和可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678097A (zh) * 2012-09-05 2014-03-26 百度在线网络技术(北京)有限公司 一种选择回归测试用例的方法和装置
US20140245264A1 (en) * 2013-02-28 2014-08-28 International Business Machines Corporation Identifying Test Cases Based on Changed Test Code
CN105302710A (zh) * 2014-07-03 2016-02-03 腾讯科技(深圳)有限公司 一种确定需要回归测试的测试用例的方法和装置
US20160140032A1 (en) * 2014-11-19 2016-05-19 International Business Machines Corporation Correlating test results variations with business requirements
US20160162385A1 (en) * 2014-12-09 2016-06-09 International Business Machines Corporation Correlation of violating change sets in regression testing of computer software
CN106547678A (zh) * 2015-09-16 2017-03-29 伊姆西公司 用于白盒测试的方法和装置
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
US20170161180A1 (en) * 2015-12-03 2017-06-08 Wipro Limited System and Method for Optimizing Test Suite Comprising Plurality of Test Cases
CN107315689A (zh) * 2017-07-04 2017-11-03 上海爱数信息技术股份有限公司 基于Git代码文件检索粒度的自动化回归测试方法
CN107329891A (zh) * 2017-06-06 2017-11-07 千寻位置网络有限公司 基于结构化数据及rest接口的自动化回归测试方法
CN107423214A (zh) * 2017-04-18 2017-12-01 恒生电子股份有限公司 软件回归测试用例获取方法、装置及存储介质和电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678097A (zh) * 2012-09-05 2014-03-26 百度在线网络技术(北京)有限公司 一种选择回归测试用例的方法和装置
US20140245264A1 (en) * 2013-02-28 2014-08-28 International Business Machines Corporation Identifying Test Cases Based on Changed Test Code
CN105302710A (zh) * 2014-07-03 2016-02-03 腾讯科技(深圳)有限公司 一种确定需要回归测试的测试用例的方法和装置
US20160140032A1 (en) * 2014-11-19 2016-05-19 International Business Machines Corporation Correlating test results variations with business requirements
US20160162385A1 (en) * 2014-12-09 2016-06-09 International Business Machines Corporation Correlation of violating change sets in regression testing of computer software
CN106547678A (zh) * 2015-09-16 2017-03-29 伊姆西公司 用于白盒测试的方法和装置
US20170161180A1 (en) * 2015-12-03 2017-06-08 Wipro Limited System and Method for Optimizing Test Suite Comprising Plurality of Test Cases
CN106776334A (zh) * 2016-12-28 2017-05-31 北京奇虎科技有限公司 基于注释生成测试用例方法及装置
CN107423214A (zh) * 2017-04-18 2017-12-01 恒生电子股份有限公司 软件回归测试用例获取方法、装置及存储介质和电子设备
CN107329891A (zh) * 2017-06-06 2017-11-07 千寻位置网络有限公司 基于结构化数据及rest接口的自动化回归测试方法
CN107315689A (zh) * 2017-07-04 2017-11-03 上海爱数信息技术股份有限公司 基于Git代码文件检索粒度的自动化回归测试方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
宋礼鹏 等著: "《软件工程 理论与实践》", 31 July 2011, 北京理工大学出版社 *
林木 等: "回归测试中测试用例集优化方法的研究", 《计算机工程与应用》 *
蔡敏 等: "单元回归测试中测试用例集优化策略的研究与实现", 《第七届中国测试学术会议论文集》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828906A (zh) * 2018-12-15 2019-05-31 中国平安人寿保险股份有限公司 Ui自动化测试方法、装置、电子设备及存储介质
CN109857637B (zh) * 2018-12-25 2022-04-15 杭州茂财网络技术有限公司 基于注解的Java语言方法覆盖率和方法输入输出统计方法
CN109857637A (zh) * 2018-12-25 2019-06-07 杭州茂财网络技术有限公司 一种基于注解的Java语言方法覆盖率和方法输入输出统计方法及装置
CN110119351A (zh) * 2019-04-09 2019-08-13 微梦创科网络科技(中国)有限公司 一种测试用例执行方法及装置
CN110119351B (zh) * 2019-04-09 2023-11-10 微梦创科网络科技(中国)有限公司 一种测试用例执行方法及装置
CN111240970A (zh) * 2020-01-06 2020-06-05 网联清算有限公司 一种测试用例生成方法及装置
CN112613255B (zh) * 2020-12-10 2023-01-24 海光信息技术股份有限公司 多环境协同回归方法、装置、设备、存储介质
CN112613255A (zh) * 2020-12-10 2021-04-06 海光信息技术股份有限公司 多环境协同回归方法、装置、设备、存储介质
CN112596738B (zh) * 2020-12-28 2023-07-11 北京字跳网络技术有限公司 待测试前端页面的确定方法、装置、存储介质及电子设备
CN112596738A (zh) * 2020-12-28 2021-04-02 北京字跳网络技术有限公司 待测试前端页面的确定方法、装置、存储介质及电子设备
CN112965910A (zh) * 2021-03-19 2021-06-15 携程旅游信息技术(上海)有限公司 自动化回归测试方法、装置、电子设备、存储介质
CN113176997A (zh) * 2021-04-30 2021-07-27 深圳市共进电子股份有限公司 测试用例加载方法、装置、计算机设备和可读存储介质
CN113176997B (zh) * 2021-04-30 2024-05-03 深圳市共进电子股份有限公司 测试用例加载方法、装置、计算机设备和可读存储介质

Also Published As

Publication number Publication date
CN108763091B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN108763091A (zh) 用于回归测试的方法、装置及系统
CN113377850B (zh) 认知物联网大数据技术平台
CN109062780B (zh) 自动化测试用例的开发方法及终端设备
US10621074B2 (en) Intelligent device selection for mobile application testing
US11030322B2 (en) Recommending the most relevant and urgent vulnerabilities within a security management system
Shihab An exploration of challenges limiting pragmatic software defect prediction
Buinevich et al. The life cycle of vulnerabilities in the representations of software for telecommunication devices
KR100672894B1 (ko) 제품 계열 아키텍처의 표현 및 검증 장치와 그 방법
Sadiq et al. An insight into requirements engineering processes
US9733906B2 (en) User interface area coverage
CN107430590B (zh) 用于数据比较的系统和方法
CN109840210A (zh) 一种测试方法、装置及电子设备
US10637722B2 (en) Automated remote message management
US11860727B2 (en) Data quality-based computations for KPIs derived from time-series data
JP2013077124A (ja) ソフトウェアテストケース生成装置
Akpınar et al. Heuristic role detection of visual elements of web pages
CN104765602B (zh) 非功能需求实现策略的量化选择方法
Van der Aalst Challenges in business process mining
US20080195453A1 (en) Organisational Representational System
CN109522226A (zh) 大数据平台测试方法、装置、电子设备及计算机可读介质
Kakarontzas et al. Extracting components from open source: The component adaptation environment (COPE) approach
Kumar Software Engineering for Big Data Systems
US8949819B2 (en) Rationalizing functions to identify re-usable services
Rodestock Visualizing and explaining the scaling behavior of self-adaptive microservice systems in kubernetes
Alghabbana et al. Improved framework for appropriate components selection

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