CN111666208A - 一种bug自动回归方法及系统 - Google Patents

一种bug自动回归方法及系统 Download PDF

Info

Publication number
CN111666208A
CN111666208A CN202010423079.4A CN202010423079A CN111666208A CN 111666208 A CN111666208 A CN 111666208A CN 202010423079 A CN202010423079 A CN 202010423079A CN 111666208 A CN111666208 A CN 111666208A
Authority
CN
China
Prior art keywords
bug
template
regression
result
description
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
CN202010423079.4A
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.)
Beijing Haizhi Xingtu Technology Co ltd
Original Assignee
Beijing Haizhi Xingtu 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 Beijing Haizhi Xingtu Technology Co ltd filed Critical Beijing Haizhi Xingtu Technology Co ltd
Priority to CN202010423079.4A priority Critical patent/CN111666208A/zh
Publication of CN111666208A publication Critical patent/CN111666208A/zh
Pending legal-status Critical Current

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/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • 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)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种bug自动回归方法及系统,其中的方法包括:获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;执行所述操作步骤,获得实际结果;对比所述预期结果和实际结果,得到对比结果;根据所述对比结果判断bug是否验证通过。本发明实现了自动回归bug,大大提高了bug回归效率,节约了测试时间。

Description

一种bug自动回归方法及系统
技术领域
本发明涉及软件测试领域,具体涉及一种bug自动回归方法及系统。
背景技术
在软件测试过程中,为了节约时间,提高效率,有很多的自动化测试工具和方法可以引入使用,用于代替测试人员发现bug。然而,却鲜有自动化方法来回归手工测试时提交的bug,针对这部分bug,手动回归时需要耗费测试人员大量的时间。
发明内容
针对上述技术问题,本发明提供一种bug自动回归方法及系统。
本发明解决上述技术问题的技术方案如下:一种bug自动回归方法,包括以下步骤:
获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;
当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;
执行所述操作步骤,获得实际结果;
对比所述预期结果和实际结果,得到对比结果;
根据所述对比结果判断bug是否验证通过。
本发明的有益效果是:实现了自动回归bug,大大提高了bug回归效率,节约了测试时间。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,触发bug回归验证流程的条件是,按照所述第一模板和第二模板在jira上填充并在jira上提交的bug的状态变为“已解决”。
进一步,所述对所述第一模板和第二模板进行解析,得到操作步骤和预期结果,具体包括:
根据所述第一模板和第二模板中的映射表,将所述第一模板中定义的操作步骤的描述和所述第二模板中定义的预期结果的描述翻译成对应的selenium操作和元素定位。
进一步,所述根据所述对比结果判断bug是否验证通过,具体包括:
若所述对比结果为一致,则判断bug验证通过,否则不通过。
进一步,在根据所述对比结果判断bug是否验证通过之后,还包括:生成bug回归测试报告,报告内容包含此次回归的bug总数,回归通过的bug数量,未通过的bug数量,未通过的bug描述和包含所述实际结果的备注。
为实现上述发明目的,本发明还提供一种bug自动回归系统,包括:
获取模块,用于获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;
解析模块,用于当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;
执行模块,用于执行所述操作步骤,获得实际结果;
对比模块,用于对比所述预期结果和实际结果,得到对比结果;
判断模块,用于根据所述对比结果判断bug是否验证通过。
进一步,触发bug回归验证流程的条件是,按照所述第一模板和第二模板在jira上填充并在jira上提交的bug的状态变为“已解决”。
进一步,所述解析模块,具体用于:
根据所述第一模板和第二模板中的映射表,将所述第一模板中定义的操作步骤的描述和所述第二模板中定义的预期结果的描述翻译成对应的selenium操作和元素定位。
进一步,所述判断模块,具体用于:
若所述对比结果为一致,则判断bug验证通过,否则不通过。
进一步,还包括:生成模块,用于在所述判断模块根据所述对比结果判断bug是否验证通过之后,生成bug回归测试报告,报告内容包含此次回归的bug总数,回归通过的bug数量,未通过的bug数量,未通过的bug描述和包含所述实际结果的备注。
附图说明
图1为本发明实施例提供的一种bug自动回归方法的流程图;
图2为本发明实施例提供的一种bug自动回归系统的结构框图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的一种bug自动回归方法的流程图,如图1所示,该方法包括以下步骤:
步骤11、获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板。
用户首先基于selenium框架,定义操作步骤描述(即bug复现步骤)的模板,并将对应的操作行为、页面元素或接口做映射。具体的,定义操作步骤描述的模板,模板为“功能模块名称-页面名称:操作行为+请求接口/页面元素”,例如:例如,图分析模块-图查询页面:点击+开始查询。操作行为是用户在页面的操作行为,比如点击某一个按钮的点击行为(click)等。
定义的预期结果描述的模板包含请求响应和页面元素的更新,对应于前面定义的操作步骤描述的模板中的请求接口和页面元素,如果操作行为只是触发一个请求接口,那预期结果肯定是这个请求接口的返回结果,即请求响应;如果操作是触发页面的一个元素,比如点击登录按钮,那登录成功后则需要跳转到登录成功后的页面,此时的界面展示与登录界面肯定会有所不同,即页面元素的更新。
步骤12、当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果。
开发人员按照步骤11定义的模板在jira上填充对应的bug复现步骤和预期结果,然后直接在jira上提交bug,此时bug的状态为“打开”,开发人员将bug修复后在jira上手动点击已修复,点击后bug的状态就会变为“已解决”,当jira中的bug状态变为“已解决”后,即可触发bug回归验证流程。
对获取的第一模板和第二模板进行解析,得到操作步骤和预期结果的具体过程包括:
根据第一模板和第二模板中的映射表,将第一模板中定义的操作步骤的描述和第二模板中定义的预期结果的描述翻译成对应的selenium操作和元素定位。
具体的,映射表就是将用户描述翻译成selenium能识别的信息。比如映射表中定义{开始查询:graphLeftSearch_search},用户在提交bug时写的“开始查询”,在代码执行时selenium框架无法识别,所以要利用selenium元素定位方法找到这个按钮,graphLeftSearch_search这就是通过selenium元素定位到的“开始查询”按钮。这就是利用映射表进行翻译。
步骤13、执行所述操作步骤,获得实际结果。
该步骤中,根据步骤12中解析的操作步骤,依次执行selenium操作,最终得到实际结果。
步骤14、对比所述预期结果和实际结果,得到对比结果。
步骤15、根据所述对比结果判断bug是否验证通过。
具体的,若所述对比结果为一致,则判断bug验证通过,否则不通过。
另外,bug验证通过时,直接将jira上对应的bug的状态改为“关闭”。bug验证没有通过时,将jira上bug的状态改为“重新打开”,并将此次操作的实际结果备注在bug描述中。
可选地,在该实施例中,为了方便测试人员统计和分析,该方法还包括:
步骤16、生成bug回归测试报告,报告内容包含此次回归的bug总数,回归通过的bug数量,未通过的bug数量,未通过的bug描述和包含所述实际结果的备注。
具体的,步骤16可通过allure生成报告。allure是一个专门的测试报告工具,使用时进行代码包引入就可以了。
本发明实施例提供的一种bug自动回归方法,实现了自动回归bug,大大提高了bug回归效率,节约了测试时间。
与前述应用功能实现方法实施例相对应,本发明实施例提供了一种bug自动回归系统,如图2所示,该系统包括:
获取模块,用于获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;解析模块,用于当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;执行模块,用于执行所述操作步骤,获得实际结果;对比模块,用于对比所述预期结果和实际结果,得到对比结果;判断模块,用于根据所述对比结果判断bug是否验证通过。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述系统实施例中的模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种bug自动回归方法,其特征在于,包括以下步骤:
获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;
当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;
执行所述操作步骤,获得实际结果;
对比所述预期结果和实际结果,得到对比结果;
根据所述对比结果判断bug是否验证通过。
2.根据权利要求1所述的一种bug自动回归方法,其特征在于,触发bug回归验证流程的条件是,按照所述第一模板和第二模板在jira上填充并在jira上提交的bug的状态变为“已解决”。
3.根据权利要求1所述的一种bug自动回归方法,其特征在于,所述对所述第一模板和第二模板进行解析,得到操作步骤和预期结果,具体包括:
根据所述第一模板和第二模板中的映射表,将所述第一模板中定义的操作步骤的描述和所述第二模板中定义的预期结果的描述翻译成对应的selenium操作和元素定位。
4.根据权利要求1所述的一种bug自动回归方法,其特征在于,所述根据所述对比结果判断bug是否验证通过,具体包括:
若所述对比结果为一致,则判断bug验证通过,否则不通过。
5.根据权利要求1至4任一项所述的一种bug自动回归方法,其特征在于,在根据所述对比结果判断bug是否验证通过之后,还包括:生成bug回归测试报告,报告内容包含此次回归的bug总数,回归通过的bug数量,未通过的bug数量,未通过的bug描述和包含所述实际结果的备注。
6.一种bug自动回归系统,其特征在于,包括:
获取模块,用于获取用于定义操作步骤描述的第一模板和用于定义预期结果描述的第二模板;
解析模块,用于当触发bug回归验证流程时,对所述第一模板和第二模板进行解析,得到操作步骤和预期结果;
执行模块,用于执行所述操作步骤,获得实际结果;
对比模块,用于对比所述预期结果和实际结果,得到对比结果;
判断模块,用于根据所述对比结果判断bug是否验证通过。
7.根据权利要求6所述的一种bug自动回归系统,其特征在于,触发bug回归验证流程的条件是,按照所述第一模板和第二模板在jira上填充并在jira上提交的bug的状态变为“已解决”。
8.根据权利要求6所述的一种bug自动回归系统,其特征在于,所述解析模块,具体用于:
根据所述第一模板和第二模板中的映射表,将所述第一模板中定义的操作步骤的描述和所述第二模板中定义的预期结果的描述翻译成对应的selenium操作和元素定位。
9.根据权利要求1所述的一种bug自动回归系统,其特征在于,所述判断模块,具体用于:
若所述对比结果为一致,则判断bug验证通过,否则不通过。
10.根据权利要求6至9任一项所述的一种bug自动回归系统,其特征在于,还包括:生成模块,用于在所述判断模块根据所述对比结果判断bug是否验证通过之后,生成bug回归测试报告,报告内容包含此次回归的bug总数,回归通过的bug数量,未通过的bug数量,未通过的bug描述和包含所述实际结果的备注。
CN202010423079.4A 2020-05-19 2020-05-19 一种bug自动回归方法及系统 Pending CN111666208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010423079.4A CN111666208A (zh) 2020-05-19 2020-05-19 一种bug自动回归方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010423079.4A CN111666208A (zh) 2020-05-19 2020-05-19 一种bug自动回归方法及系统

Publications (1)

Publication Number Publication Date
CN111666208A true CN111666208A (zh) 2020-09-15

Family

ID=72383920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010423079.4A Pending CN111666208A (zh) 2020-05-19 2020-05-19 一种bug自动回归方法及系统

Country Status (1)

Country Link
CN (1) CN111666208A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155779A2 (en) * 2007-06-20 2008-12-24 Sanjeev Krishnan A method and apparatus for software simulation
CN101951636A (zh) * 2010-09-29 2011-01-19 上海天臣威讯信息技术有限公司 无线通讯模块使用at命令进行bug回归测试方法
CN106326120A (zh) * 2016-08-22 2017-01-11 北京金山安全软件有限公司 一种应用软件的回归测试方法及装置、电子设备
CN109062817A (zh) * 2018-10-15 2018-12-21 网宿科技股份有限公司 自动化测试方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155779A2 (en) * 2007-06-20 2008-12-24 Sanjeev Krishnan A method and apparatus for software simulation
CN101951636A (zh) * 2010-09-29 2011-01-19 上海天臣威讯信息技术有限公司 无线通讯模块使用at命令进行bug回归测试方法
CN106326120A (zh) * 2016-08-22 2017-01-11 北京金山安全软件有限公司 一种应用软件的回归测试方法及装置、电子设备
CN109062817A (zh) * 2018-10-15 2018-12-21 网宿科技股份有限公司 自动化测试方法及系统

Similar Documents

Publication Publication Date Title
CN110413506B (zh) 测试用例推荐方法、装置、设备及存储介质
US9098635B2 (en) Method and system for testing and analyzing user interfaces
CN109902016B (zh) 一种Web的测试方法及测试平台
US20110107307A1 (en) Collecting Program Runtime Information
US20180052725A1 (en) A method for identifying a cause for a failure of a test
KR20170052668A (ko) 데이터 구동 테스트 프레임워크
US9940215B2 (en) Automatic correlation accelerator
CN113791979B (zh) 软件产品的动态调试方法、装置、计算机设备及存储介质
CN110908895A (zh) 页面自动化测试方法、装置、计算机设备及存储介质
JP7404839B2 (ja) ソフトウェアプログラム不良位置の識別
CN110704297A (zh) 代码评审方法、装置、计算机设备及存储介质
CN113742200A (zh) 数据库版本升级的测试方法、设备及计算机可读介质
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN111124894B (zh) 代码覆盖率的处理方法、装置和计算机设备
CN112069073A (zh) 测试用例的管理方法、终端和存储介质
CN111666208A (zh) 一种bug自动回归方法及系统
CN115168217A (zh) 源代码文件的缺陷发现方法及装置
CN113360397A (zh) 系统功能的回归测试方法、装置、设备及存储介质
CN111813665A (zh) 一种基于python的大数据平台接口数据测试方法和系统
CN111767222A (zh) 数据模型的验证方法、装置、电子设备、存储介质
CN112685309A (zh) 单元测试方法、装置、存储介质和计算机设备
CN116594918B (zh) 一种测试用例变更影响分析方法、装置、设备及存储介质
CN111008138B (zh) 代码覆盖率的处理方法、装置和计算机设备
CN111367816B (zh) 移动测试方法、装置、计算机设备及存储介质
CN116932413B (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200915

WD01 Invention patent application deemed withdrawn after publication