CN110990289B - 一种自动提交bug的方法、装置、电子设备及存储介质 - Google Patents

一种自动提交bug的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110990289B
CN110990289B CN201911276484.1A CN201911276484A CN110990289B CN 110990289 B CN110990289 B CN 110990289B CN 201911276484 A CN201911276484 A CN 201911276484A CN 110990289 B CN110990289 B CN 110990289B
Authority
CN
China
Prior art keywords
bug
submission information
current
information
submitting
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
CN201911276484.1A
Other languages
English (en)
Other versions
CN110990289A (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.)
Ruijie Networks Co Ltd
Original Assignee
Ruijie Networks 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 Ruijie Networks Co Ltd filed Critical Ruijie Networks Co Ltd
Priority to CN201911276484.1A priority Critical patent/CN110990289B/zh
Publication of CN110990289A publication Critical patent/CN110990289A/zh
Application granted granted Critical
Publication of CN110990289B publication Critical patent/CN110990289B/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/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种自动提交bug的方法、装置、电子设备及存储介质,涉及软件技术领域,用于提高bug提交的效率和实时性,以及避免重复提交bug,保证了提交的bug信息的正确性和唯一性,所述方法包括:获得设备床执行自动化测试用例失败时的执行结果后,分析所述执行结果确定所述自动化测试用例对应的bug提交场景,其中,设备床是由通信链路连接的多个设备组成的设备组合;根据bug提交场景,获取设备床执行自动化测试用例的选定数据,比对所述选定数据与经验bug数据,根据比对结果生成当前bug提交信息;在根据当前bug提交信息与历史bug提交信息的比对结果确定当前bug提交信息未重复时,提交当前bug提交信息。

Description

一种自动提交bug的方法、装置、电子设备及存储介质
技术领域
本申请涉及软件技术领域,尤其涉及一种自动提交bug的方法、装置、电子设备及存储介质。
背景技术
随着软件行业的蓬勃发展以及客户对软件的质量要求的严苛,当测试到软件存在漏洞(bug)时,需要将bug提交到对应的位置,以便及时对bug进行处理。
目前在提交bug时,通常依赖测试人员人工提交,或依赖自动提交bug的系统进行自动提交。但现有的自动提交bug系统中,需要测试人员对软件的每个步骤进行测试,依靠测试人员人工分析每个步骤是否存在异常,并记录每个步骤的测试结果,进而根据测试结果来提交bug。由此可见,现有的bug提交方法过多依赖于测试人员,不能做到实时提交bug;并且,若测试人员未测试或重复对同一步骤进行测试,可能造成遗漏bug或者重复提交bug的问题。
发明内容
本申请实施例提供了一种自动提交bug的方法、装置、电子设备及存储介质,用于解决相关技术中过多依赖测试人员进行bug提交,提高bug提交的效率和实时性,以及避免重复提交bug,保证了提交的bug信息的正确性和唯一性。
一方面,提供了一种自动提交bug的方法,包括:
获得设备床执行自动化测试用例失败时的执行结果后,分析所述执行结果确定所述自动化测试用例对应的bug提交场景,其中,所述设备床是由通信链路连接的多个设备组成的设备组合;
根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据;
比对所述选定数据与经验bug数据,根据比对结果生成当前bug提交信息;
在根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复时,提交所述当前bug提交信息。
在一种可能的设计中,若所述bug提交场景为进程异常场景,所述进程异常场景包括进程中止、退出或重启;则根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据包括:
确定所述进程异常场景发生时所述设备床中的异常进程,其中,所述异常进程包括中止的进程、退出的进程和重启的进程中的任一种或多种的组合;
获取所述异常进程的配置文件以及所述进程异常场景发生时所述设备床执行所述自动化测试用例的执行日志。
在一种可能的设计中,若所述bug提交场景为所述自动化测试用例执行失败场景,则根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据包括:
获取所述设备床执行所述自动化测试用例时的执行日志;和/或,
获取利用命令行接口cli命令查询所述设备床中各设备的配置、资源使用以及对应软件协议运行情况得到的反馈结果。
在一种可能的设计中,将所述选定数据与经验bug数据进行比对,根据比对结果生成当前bug提交信息,包括:
确定所述选定数据与所述经验bug数据是否相同;
若相同,则根据所述经验bug数据确定所述自动化测试用例执行失败的原因,并基于所述原因和所述选定数据生成所述当前bug提交信息;
若不相同,则在根据所述选定数据生成所述当前bug提交信息后,将所述选定数据存储在所述经验bug数据存储的数据库中。
在一种可能的设计中,根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复,包括:
确定所述历史bug提交信息中是否存在与所述当前bug提交信息相同的bug提交信息;
若确定不存在相同的bug提交信息,则确定所述当前bug提交信息未重复;
若确定存在相同的bug提交信息时,则确定所述当前bug提交信息对应的bug是否已经解决,若未解决,则确定所述当前bug提交信息重复;若已经解决,则在执行所述自动化测试用例的产品版本的时间早于解决所述当前bug提交信息对应的bug的时间时,确定所述当前bug提交信息未重复。
在一种可能的设计中,在对所述当前bug提交信息进行提交处理之后,所述方法还包括:
生成用于提示所述设备床执行所述自动化测试用例所对应的产品版本存在bug的提示信息。
第二方面,提供了一种自动提交bug的装置,包括:
第一获得模块,用于获得设备床执行自动化测试用例失败时的执行结果后,分析所述执行结果确定所述自动化测试用例对应的bug提交场景,其中,所述设备床是由通信链路连接的多个设备组成的设备组合;
第二获得模块,用于根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据;
对比模块,用于比对所述选定数据与经验bug数据,根据比对结果生成当前bug提交信息;
提交模块,用于在根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复时,提交所述当前bug提交信息。
在一种可能的设计中,当所述bug提交场景为所述进程异常场景,所述进程异常场景包括进程中止、退出或重启时,第二获得模块具体用于:
确定所述进程异常场景发生时所述设备床中的异常进程,其中,所述异常进程包括中止的进程、退出的进程和重启的进程中的任一种或多种的组合;
获取所述异常进程的配置文件以及所述进程异常场景发生时所述设备床执行所述自动化测试用例的执行日志。
在一种可能的设计中,当所述bug提交场景为所述自动化测试用例执行失败场景时,所述第二获得模块用于:
获取所述设备床执行所述自动化测试用例时的执行日志;和/或,
获取利用命令行接口cli命令查询所述设备床中各设备的配置、资源使用以及对应软件协议运行情况得到的反馈结果。
在一种可能的设计中,所述对比模块用于:
确定所述选定数据与所述经验bug数据是否相同;
若相同,则根据所述经验bug数据确定所述自动化测试用例执行失败的原因,并基于所述原因和所述选定数据生成所述当前bug提交信息;
若不相同,则在根据所述选定数据生成所述当前bug提交信息后,将所述选定数据存储在所述经验bug数据存储的数据库中。
在一种可能的设计中,所述装置还包括确定模块,所述确定模块用于:
确定所述历史bug提交信息中是否存在与所述当前bug提交信息相同的bug提交信息;
若确定不存在相同的bug提交信息,则确定所述当前bug提交信息未重复;
若确定存在相同的bug提交信息,则确定所述当前bug提交信息对应的bug是否已经解决,若未解决,则确定所述当前bug提交信息重复;若已经解决,则在执行所述自动化测试用例的产品版本的时间早于解决所述当前bug提交信息对应的bug的时间时,确定所述当前bug提交信息未重复。
在一种可能的设计中,所述装置还包括提示模块,所述提示模块用于:生成用于提示所述设备床执行所述自动化测试用例所对应的产品版本存在bug的提示信息。
第三方面,提供了一种电子设备,所述电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述各方面中的自动提交bug的方法包括的步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述各方面中的自动提交bug的方法包括的步骤。
本申请实施例中,可以获得设备床执行自动化测试用例失败时的执行结果,并对获得的执行结果进行分析,以确定该自动化测试用例对应的bug提交场景,其中,设备床是由通信链路连接的多个设备组成的设备组合;进而可以根据确定的bug提交场景,获取设备床执行自动化测试用例涉及的选定数据;继而可以将选定数据与经验bug数据进行比对,根据比对结果生成当前bug提交信息;进一步地,还可以在根据bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复时,提交生成当前bug提交信息。因此,可以实现不依赖于测试人员的测试记录,从而可以实时的将产品的设备床执行自动化测试用例所产生的bug信息自动提交到bug管理平台,进而提高了bug提交的效率和实时性。并且,在提交bug信息时,可以将该bug信息与同版本产品对应的bug信息和该产品旧版本遗留的bug信息进行比对,从而避免了bug的重复提交,保证了提交的bug提交信息的正确性和唯一性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的自动提交bug的方法的流程图;
图2a为本申请实施例提供的自动提交bug的装置的示意图;
图2b为本申请实施例提供的另一自动提交bug的装置的示意图;
图3为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
以下对本文中涉及的部分用语进行说明,以便于本领域技术人员理解。
(1)bug:bug是计算机领域专业术语,意思是漏洞,是指测试人员在测试过程中发现系统出现的问题。
(2)设备床:是由通信链路连接起来的各种设备的总称,即多个设备组成的模拟实际网络场景的设备组合,这样的设备包括交换机、网关、路由器、无线AC和AP设备等。
(3)RF用例:基于Robot framework框架设计的自动化测试用例,包括功能测试用例、性能测试用例、稳定性\压力测试用例和兼容性测试用例。Robot Framework是一款自动化测试框架,具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
(4)Coredump是指程序由于各种异常或者bug导致在运行过程中异常退出或者中止或者重启,并且在满足一定条件下会产生一个叫做core的文件,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等。
以下介绍本申请的设计思想。
如前所述,相关技术中的bug提交过多依赖测试人员,不能做到实时提交bug。并且可能由于测试人员未测试或重复对同一步骤进行测试,造成遗漏bug或者重复提交bug的问题。
鉴于此,本申请的申请人提供了一种自动提交bug的方案,在该方案中,可以基于对设备床执行自动化测试用例失败时的执行结果的分析,来确定是否存在需要提交bug的场景,若存在,则根据确定的需要提交bug的场景,获取设备床执行自动化测试用例时的选定数据,进而可以对该选定数据进行分析,自动生成需要提交的bug提交信息,并在确定该信息没有提交过时,向bug管理平台提交该bug提交信息。也就是说,本申请实施例中可以根据对自动化测试用例失败时的执行结果的分析,自动确定是否需要提交bug,不依赖于测试人员的测试记录,从而可以实时的将产品的设备床执行自动化测试用例所产生的bug信息自动提交到bug管理平台,进而提高了bug提交的效率和实时性。并且,在提交bug信息时,可以将该bug信息与同版本产品对应的bug信息和该产品旧版本遗留的bug信息进行比对,从而避免了bug的重复性,保证了提交的bug信息的正确性和唯一性。
在介绍完本申请实施例的设计思想之后,为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
请参见图1,为本申请实施例提供的一种自动提交bug的方法的流程图,以下结合图1中步骤对本实施例中技术方案进行说明。
步骤101:获得设备床执行自动化测试用例失败时的执行结果后,分析该执行结果确定自动化测试用例对应的bug提交场景,其中,设备床是由通信链路连接的多个设备组成的设备组合。
在本申请实施例中,运行设备床执行自动化测试用例即模拟实际网络的运行过程,在运行过程中可能因软件缺陷、硬件异常和网络攻击等因素发生故障,导致网络通信受到影响,对于设备床执行自动化测试用例时相应的故障会导致自动化测试用例执行失败,这样的自动化测试用例失败可以称为产品版本的bug。其中,自动化测试用例可以是在Robot framework框架创建的测试用例,可以称为RF用例,也可以是基于其他框架下创建的用例,本申请实施例中为便于说明技术方案,以设备床执行的自动化测试用例为RF用例进行具体说明。
在具体的实践过程中,设备床执行RF用例的过程中会生成各用例的执行结果,当设备床执行RF用例失败时,表明设备床中测试的产品版本可能存在bug,进而可以获得设备床执行RF用例失败的执行结果,并对该执行失败结果进行分析,以确定该RF用例执行失败对应的bug提交场景,即该RF用例执行失败对应的需要提交bug的场景是哪一种。其中,即该bug提交场景用于表征需要向bug管理平台提交bug的情况。因此,由于不需要测试人员人工对RF用例执行结果进行分析,对执行结果分析的时间也不会受到测试人员的上班时间的限制,即使在半夜也可以对获得执行结果进行分析,因此可以减少测试人员的工作量,特别针对测试量较大的软件产品,不但可以减少测试人员的工作量,节约成本,还可以提高对执行结果进行分析的效率和实时性。
具体的,bug提交场景可以包括设备床对应的进程异常场景(也可以称为coredump场景)和RF用例失败场景。其中,进程异常场景包括进程中止、退出或重启等场景;RF用例失败场景用于表征设备床中至少一个组件的RF用例失败的场景,可以细分为设备床中单个组件用例失败和大面积用例失败这两种场景。
步骤102:根据bug提交场景,获取设备床执行自动化测试用例的选定数据。
在本申请实施例中,选定数据包括设备床执行RF用例的执行日志、设备床在执行RF用例时对接收的命令行接口cli命令的反馈结果、设备床的进程的配置文件中任意一种或多种的组合。
在本申请实施例中,由于不同的bug提交场景需要获取的数据可能不相同,在确定出RF用例执行失败对应的bug提交场景后,可以根据该bug提交场景来获取设备床执行该RF用例的选定数据。这种有目的地获取相应数据的方式,不但可以提高获取bug提交场景选定数据的效率,还可以避免不必要的资源浪费,以及更快的得到对数据的分析结果。
当bug提交场景为设备床对应进程异常场景时,可以先确定进程异常场景发生时设备床中的异常进程,其中,异常进程包括中止的进程、退出的进程和重启的进程中的任一种或多种的组合;进而可以获取该异常进程的配置文件以及进程异常场景发生时设备床执行RF用例的执行日志。例如,当进程异常场景为进程重启时,可以通过“#aaaa”命令来获取设备床对应产品版本升级后重启的进程、该进程的配置文件以及重启时的执行日志等信息。
当bug提交场景为单个组件用例失败场景时,可以获取设备床执行该单个组件的RF用例时对应的执行日志和执行信息,并且可以通过cli命令(即命令行接口命令)查询设备床中各设备的配置情况,资源使用情况以及对应软件协议的运行情况,进而得到查询这些情况的反馈结果。
当bug提交场景为大面积用例失败的场景时,同单个组件用例失败场景一样,可以获取设备创备床执行完大面积失败的RF用例后的执行日志和执行信息,通过cli命令(即命令行接口命令)查询设备床中各设备的配置情况,资源使用情况以及对应软件协议的运行情况,获得查询的反馈结果。此外,还可以检查RF用例执行的脚本,确定RF用例执行的环境是否存在问题。或者,还可以通过cli命令确定是否是产品版本问题造成大面积用例失败的场景发生。
步骤103:比对选定数据与经验bug数据,根据比对结果生成当前bug提交信息。
本申请实施例中,可以将执行RF用例过程中可以表征产品版本存在问题的数据存储在数据库中,或者也可以将测试人员总结出的可能导致产品出问题的数据并存储在数据库中,该数据库中的数据可以统称为经验bug数据。因此,可以将步骤102中获取的选定数据与存在数据库中的经验bug数据进行比对,若数据库中存储的数据与选定数据包括的数据存在相同的数据,则可以根据经验bug数据确定出设备床执行RF用例失败的原因,并基于该原因和前述选定数据生成当前bug提交信息。也就是说,可以根据与选定数据相同的经验bug数据,确定该经验bug数据对应产品版本问题和导致RF用例执行失败的大致原因,进而可以根据确定的原因从选定数据中筛选出相应的数据生成当前bug提交信息。其中,该bug提交信息包括所述当前bug提交信息包括所述自动化测试用例对应的产品项目、产品版本、bug类型、测试失败原因、bug负责人等等。以便在将bug提交信息进行提交之后,测试人员或开发人员可以根据bug提交信息快速定位和复现bug,从而及时解决产品版本的bug。
进一步地,若选定数据与经验bug数据不相同,即表明导致RF用例执行失败的原因没有出现过,产品版本出现新类型的bug,进而可以直接根据选定数据生成当前bug提交信息。同时,还可以将选定数据存储在用于存储经验bug数据的数据库中,进而可以将该选定数据作为后续对RF用例执行失败进行分析的经验数据,因此,在后续RF用例执行失败之时,可以快速的定位导致RF用例失败的原因,以便更快的解决的产品版本存在的bug。
步骤104:根据当前bug提交信息与历史bug提交信息的比对结果,判断当前bug提交信息是否重复,若重复则执行步骤105,若未重复则执行步骤106。
在本申请实施例中,由于同一软件产品的每个版本在发行前都需要进行测试,不同软件产品版本可能存在的bug也不相同,进而针对同一软件产品的历史bug提交信息中可能包括该软件产品不同版本的bug提交信息。
在具体实施的过程中,在对同一个产品版本进行测试时,重复出现的bug信息可以不用重复的向bug管理平台提交相同bug提交信息。因此,在生成当前bug提交信息后,可以将该当前bug提交信息与历史bug提交信息进行对比,如果历史bug提交信息中不存在与当前bug提价信息相同的信息,则可以确定该当前bug提交信息未重复,需要将当前bug提交信息提交到bug管理平台,以便于测试人员和开发人员根据当前bug提交信息准确定位和复现产品版本的bug,从而及时解决该bug。如果历史bug提交信息中存在与当前bug提交信息相同的bug信息,则表明该当前bug提交信息可能重复,需根据该当前bug提交信息相同的历史bug提交信息对应的bug是否已解决,来判断是否需要向bug管理平台提交该bug提交信息。
具体的,在当前bug提交信息可能重复时,可以判断该bug提交信息对应的bug是否已被解决。
若未解决,则表明该当前bug提交信息对应的bug是本次测试的产品版本中已经提交过的bug,即遗留bug,不需要提交当前bug提交信息。此时可以向负责处理该遗留bug的测试人员或者开发人员发送存在旧版本遗留bug的提示信息,并将从bug管理平台中复制的遗留bug对应的bug提交信息发送给负责的测试人员或开发人员,以提醒测试人员和开发人员及时解决该遗留bug。
若已经解决,则可以进一步地判断本次测试的产品版本时间和当前bug提交信息对应的bug被解决的时间的先后,如果该当前bug提交信息对应的bug被解决的时间早于该版本的时间,也就是说,在产品版本更新之前已经解决了历史bug提交信息对应的bug,此时生成当前bug提交信息,可能是因为在旧产品版本中bug解决不彻底、有遗漏,致使在更新后的新产品版本中出现相同的bug,此时可以将当前bug提交信息提交到bug管理平台,以便测试人员或开发人员及时处理bug。进一步地,如果该bug提交信息对应的bug被解决的时间晚于产品版本的时间,则说明更新后的产品版本存在旧产品版本未解决的bug,即存在遗留bug,但此时由于当前bug提交信息对应的bug已经被解决,则可以不将该当前bug提交信息提交到bug管理平台。从而可以避免对相同的bug提交信息进行重复提交,占用bug提交资源,还提高了bug提交的效率和bug提交的准确性和唯一性。
作为一种可选的实施方式,在本申请实施例中,软件产品的设备床对应多个组件模块和进程,每个组件模块和进程都可以分别对应有相应的负责人,进而在将当前bug提交信息提交到bug管理平台时,可以根据当前bug提交信息对应的组件模块或进程,将当前bug提交信息自动分配给相应的负责人,以便于该负责人依据bug提交信息跟踪处理bug。
步骤105:丢弃当前bug提交信息。
在本申请实施例中,当确定出生成的当前bug提交信息与历史bug提交信息,即已经向bug管理平台提交过相同的bug提交信息时,则可以不用进行重复提交,此时可以将生成的当前bug提交信息丢弃,以避免进行重复提交,从而可以避免测试人员和开发人员对重复的bug进行处理,造成不必要的资源浪费。
步骤106:提交当前bug提交信息。
在本申请实施例中,当确定出生成的当前bug提交信息未重复,即未向bug管理平台提交过,则可以将当前bug提交信息提交到该bug管理平台中,以记录和管理bug提交信息,进而便于测试人员和开发人员查看和及时处理提交的当前bug提交信息。
作为一种可选的实施方式,在本申请实施例中,在将当前bug提价信息提交到bug管理平台后,还可以生成用于提示设备床执行RF用例所对应的产品版本存在bug的提示信息,并向负责处理该bug提交信息的测试人员或开发人员发送该提示信息,以便于测试人员或开发人员能够及时的处理的当前bug提交信息对应的bug。其中,提示信息可以通过文本信息的方式发送给处理bug提交信息的测试人员或开发人员,也可以通过语音播报方式进行语音提示,或者其他方式进行提示,在此并不具体限制。
所以,通过上述方法,当设备床执行自动化测试用例失败时,可以通过分析执行结果,确定出自动化测试用例执行失败对应的bug提交场景,进而获取到与bug提交场景对应的设备床执行自动化测试用例的选定数据,并对该选定数据进行处理分析,自动生成需要提交的bug提交信息,进而可以在确定没有向bug管理平台提交过该bug提交信息时,向bug管理平台提交该bug提交信息。所以可以实现不依赖于测试人员的测试记录,从而可以实时的对执行自动化测试用例所产生的bug信息进行的自动提交,进而提高了bug提交的效率和实时性。并且,在提交生成的bug提交信息之前,还可以将该bug信息与同版本产品对应的bug信息和该产品旧版本遗留的bug信息进行比对,从而避免了bug的重复提交,保证了提交的bug提交信息的正确性和唯一性。
基于同一发明构思,本申请实施例提供一种自动提交bug的装置。该自动提交bug的装置可以是硬件结构、软件模块、或硬件结构加软件模块。该自动提交bug的装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图2a所示,本申请实施例中的自动提交bug的装置包括第一获得模块201、第二获得模块202、对比模块203和提交模块204。
其中:
第一获得模块201,用于获得设备床执行自动化测试用例失败时的执行结果后,分析执行结果确定自动化测试对应的bug提交场景,其中,设备床是由通信链路连接的多个设备组成的设备组合;
第二获得模块202,用于根据bug提交场景,获取设备床执行自动化测试的选定数据;
对比模块203,用于比对选定数据与经验bug数据,根据比对结果生成当前bug提交信息;
提交模块204,用于在根据当前bug提交信息与历史bug提交信息的比对结果确定bug提交信息未重复时,提交当前bug提交信息。
在一种可能的设计中,当bug提交场景为进程异常场景,该进程异常场景包括进程中止、退出或重启时,第二获得模块202具体用于:
确定进程异常场景发生时设备床中的异常进程,其中,异常进程包括中止的进程、退出的进程和重启的进程中的任一种或多种的组合;
获取异常进程的配置文件以及进程异常场景发生时设备床执行自动化测试用例的执行日志。
在一种可能的设计中,当bug提交场景为自动化测试用例执行失败场景时,第二获得模块202具体用于:
获取设备床执行自动化测试用例时的执行日志;和/或,获取利用命令行接口cli命令查询设备床中各设备的配置、资源使用以及对应软件协议运行情况得到的反馈结果。
在一种可能的设计中,对比模块203用于:确定选定数据与经验bug数据是否相同;若相同,则根据经验bug数据确定自动化测试用例执行失败的原因,并基于原因和选定数据生成当前bug提交信息;若不相同,则在根据选定数据生成当前bug提交信息后,将选定数据存储在经验bug数据存储的数据库中。
在一种可能的设计中,如图2b所示,图2b所示的自动提交bug装置还包括确定模块205,该确定模块205用于:
确定历史bug提交信息中是否存在与当前bug提交信息相同的bug提交信息;
若确定不存在相同的bug提交信息,则确定当前bug提交信息未重复;
若确定存在相同的bug提交信息时,则确定当前bug提交信息对应的bug是否已经解决,若未解决,则确定该当前bug提交信息重复;若已经解决,则在执行自动化测试用例的产品版本的时间早于解决当前bug提交信息对应的bug的时间时,确定当前bug提交信息未重复。
在一种可能的设计中,如图2b所示,图2b所示的自动提交bug装置还包括提示模块206,该提示模块206用于:生成用于提示设备床执行自动化测试用例所对应的产品版本存在bug的提示信息。
关于上述实施例中自动提交bug的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例还提供一种电子设备。如图3所示,本申请实施例中的电子设备包括至少一个处理器301,以及与至少一个处理器301连接的存储器302和通信接口303,本申请实施例中不限定处理器301与存储器302之间的具体连接介质,图3中是以处理器301和存储器302之间通过总线300连接为例,总线300在图3中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线300可以分为地址总线、数据总线、控制总线等,为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器302存储有可被至少一个处理器301执行的指令,至少一个处理器301通过执行存储器302存储的指令,可以执行前述的自动提交bug的方法中所包括的步骤。
其中,处理器301是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器302内的指令以及调用存储在存储器302内的数据,电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器301可包括一个或多个处理单元,处理器301可集成应用处理器和调制解调处理器,其中,处理器301主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器301中。在一些实施例中,处理器301和存储器302可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器301可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器302可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器302是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器302还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通信接口303是能够用于进行通信的传输接口,可以通过通信接口303接收数据或者发送数据。例如,可以通过通信接口向测试人员或开发人员发送提示自动化测试用例对应的产品版本存在bug的提示信息。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的自动提交bug的方法的步骤。
基于同一发明构思,本申请实施例还提供一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现如前述的自动提交bug的方法的步骤。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
在一些可能的实施方式中,本申请实施例提供的自动提交bug的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文述描述的根据本申请各种示例性实施方式的自动提交bug的方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种自动提交漏洞bug的方法,其特征在于,包括:
获得设备床执行自动化测试用例失败时的执行结果后,分析所述执行结果确定所述自动化测试用例对应的bug提交场景,其中,所述设备床是由通信链路连接的多个设备组成的设备组合;
根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据;
比对所述选定数据与经验bug数据,根据比对结果生成当前bug提交信息;
在根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复时,提交所述当前bug提交信息;
其中,所述根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复,包括:
确定所述历史bug提交信息中是否存在与所述当前bug提交信息相同的bug提交信息;
若确定不存在相同的bug提交信息,则确定所述当前bug提交信息未重复;
若确定存在相同的bug提交信息,则确定所述当前bug提交信息对应的bug是否已经解决,若未解决,则确定所述当前bug提交信息重复;若已经解决,则在执行所述自动化测试用例的产品版本的时间早于解决所述当前bug提交信息对应的bug的时间时,确定所述当前bug提交信息未重复。
2.如权利要求1所述的方法,其特征在于,若所述bug提交场景为进程异常场景,所述进程异常场景包括进程中止、退出或重启;则根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据包括:
确定所述进程异常场景发生时所述设备床中的异常进程,其中,所述异常进程包括中止的进程、退出的进程和重启的进程中的任一种或多种的组合;
获取所述异常进程的配置文件以及所述进程异常场景发生时所述设备床执行所述自动化测试用例的执行日志。
3.如权利要求1所述的方法,其特征在于,若所述bug提交场景为所述自动化测试用例执行失败场景,则根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据包括:
获取所述设备床执行所述自动化测试用例时的执行日志;和/或,
获取利用命令行接口cli命令查询所述设备床中各设备的配置、资源使用以及对应软件协议运行情况得到的反馈结果。
4.如权利要求1所述的方法,其特征在于,将所述选定数据与经验bug数据进行比对,根据比对结果生成当前bug提交信息,包括:
确定所述选定数据与所述经验bug数据是否相同;
若相同,则根据所述经验bug数据确定所述自动化测试用例执行失败的原因,并基于所述原因和所述选定数据生成所述当前bug提交信息;
若不相同,则在根据所述选定数据生成所述当前bug提交信息后,将所述选定数据存储在所述经验bug数据存储的数据库中。
5.如权利要求1-4任一所述的方法,其特征在于,在对所述当前bug提交信息进行提交处理之后,所述方法还包括:
生成用于提示所述设备床执行所述自动化测试用例所对应的产品版本存在bug的提示信息。
6.一种自动提交bug的装置,其特征在于,包括:
第一获得模块,用于获得设备床执行自动化测试用例失败时的执行结果后,分析所述执行结果确定所述自动化测试用例对应的bug提交场景,其中,所述设备床是由通信链路连接的多个设备组成的设备组合;
第二获得模块,用于根据所述bug提交场景,获取所述设备床执行所述自动化测试用例的选定数据;
对比模块,用于比对所述选定数据与经验bug数据,根据比对结果生成当前bug提交信息;
提交模块,用于在根据所述当前bug提交信息与历史bug提交信息的比对结果确定所述当前bug提交信息未重复时,提交所述当前bug提交信息;
其中,所述提交模块具体用于:
确定所述历史bug提交信息中是否存在与所述当前bug提交信息相同的bug提交信息;
若确定不存在相同的bug提交信息,则确定所述当前bug提交信息未重复;
若确定存在相同的bug提交信息,则确定所述当前bug提交信息对应的bug是否已经解决;若未解决,则确定所述当前bug提交信息重复;若已经解决,则在执行所述自动化测试用例的产品版本的时间早于解决所述当前bug提交信息对应的bug的时间时,确定所述当前bug提交信息未重复。
7.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5任一所述的方法包括的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-5任一所述的方法包括的步骤。
CN201911276484.1A 2019-12-12 2019-12-12 一种自动提交bug的方法、装置、电子设备及存储介质 Active CN110990289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911276484.1A CN110990289B (zh) 2019-12-12 2019-12-12 一种自动提交bug的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911276484.1A CN110990289B (zh) 2019-12-12 2019-12-12 一种自动提交bug的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110990289A CN110990289A (zh) 2020-04-10
CN110990289B true CN110990289B (zh) 2023-05-16

Family

ID=70093171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911276484.1A Active CN110990289B (zh) 2019-12-12 2019-12-12 一种自动提交bug的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110990289B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559319A (zh) * 2020-11-09 2021-03-26 深圳市六度人和科技有限公司 一种接口bug处理方法、装置、电子设备及存储介质
CN113971128A (zh) * 2021-10-25 2022-01-25 展讯半导体(南京)有限公司 自动测试方法、系统、电子设备及存储介质
CN114090462B (zh) * 2021-12-07 2023-04-18 上海复深蓝软件股份有限公司 软件重复缺陷识别方法、装置、计算机设备及存储介质
CN114721936B (zh) * 2022-02-28 2024-09-17 阿里巴巴(中国)有限公司 数据处理方法、电子设备、介质及程序产品
CN119376735A (zh) * 2024-10-21 2025-01-28 北京安锐卓越信息技术股份有限公司 一种程序Bug的自动提交方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943682A (zh) * 2016-10-13 2018-04-20 北京国双科技有限公司 提交bug的方法及装置
CN109597751A (zh) * 2018-10-16 2019-04-09 成都颠峰科创信息技术有限公司 一种基于集成测试工具自动提交Bug的方法
CN110287111A (zh) * 2019-06-21 2019-09-27 深圳前海微众银行股份有限公司 一种用户界面的测试用例生成方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657872B2 (en) * 2000-10-23 2010-02-02 Nintendo Of America Inc. Product testing and bug tracking system
US20040006704A1 (en) * 2002-07-02 2004-01-08 Dahlstrom Dale A. System and method for determining security vulnerabilities
US20060015840A1 (en) * 2004-03-31 2006-01-19 Wendall Marvel Parameter-based software development, distribution, and disaster recovery
CN104424088B (zh) * 2013-08-21 2019-09-13 腾讯科技(深圳)有限公司 软件的测试方法及装置
CN108959096A (zh) * 2018-07-18 2018-12-07 郑州云海信息技术有限公司 一种自动提交bug的系统及方法
CN109542785B (zh) * 2018-11-19 2021-07-27 北京云测网络科技有限公司 一种无效bug确定方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943682A (zh) * 2016-10-13 2018-04-20 北京国双科技有限公司 提交bug的方法及装置
CN109597751A (zh) * 2018-10-16 2019-04-09 成都颠峰科创信息技术有限公司 一种基于集成测试工具自动提交Bug的方法
CN110287111A (zh) * 2019-06-21 2019-09-27 深圳前海微众银行股份有限公司 一种用户界面的测试用例生成方法及装置

Also Published As

Publication number Publication date
CN110990289A (zh) 2020-04-10

Similar Documents

Publication Publication Date Title
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
US8359581B2 (en) Automatic collection of diagnostic traces in an automation framework
CN111881014B (zh) 一种系统测试方法、装置、存储介质及电子设备
CN111767218B (zh) 一种用于持续集成的自动化测试方法、设备及存储介质
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN109543417B (zh) 一种基于Qemu平台的漏洞挖掘方法和装置
US20020116153A1 (en) Test automation framework
CN112650676A (zh) 软件测试方法、装置、设备及存储介质
JP2015011372A (ja) デバッグ支援システム、方法、プログラム及び記録媒体
CN117950972A (zh) 芯片的仿真验证方法、装置、计算机设备和存储介质
Barbosa et al. Verification and validation of (real time) COTS products using fault injection techniques
CN115470141A (zh) 一种故障模拟方法、装置及相关设备
CN113986263A (zh) 代码自动化测试方法、装置、电子设备、存储介质
CN107102938B (zh) 测试脚本的更新方法及装置
CN116610415A (zh) 自动化运维方法、装置、设备及存储介质
CN113360406B (zh) 应用程序的JSBridge方法的测试方法及装置
CN116467188A (zh) 一种多环境场景下的通用本地复现系统和方法
CN115587048A (zh) 回归测试方法、终端设备及计算机可读存储介质
CN118276916A (zh) 应用变更方法和装置
CN115033473A (zh) 基于软件宕机定位的测试方法及装置
CN112346994A (zh) 一种测试信息关联方法、装置、计算机设备及存储介质
CN108845932B (zh) 一种网络库的单元测试方法、装置、存储介质及终端
CN117749626A (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