CN107992424A - 自动化测试分析方法、应用服务器及计算机可读存储介质 - Google Patents

自动化测试分析方法、应用服务器及计算机可读存储介质 Download PDF

Info

Publication number
CN107992424A
CN107992424A CN201711344740.7A CN201711344740A CN107992424A CN 107992424 A CN107992424 A CN 107992424A CN 201711344740 A CN201711344740 A CN 201711344740A CN 107992424 A CN107992424 A CN 107992424A
Authority
CN
China
Prior art keywords
code
automatic test
software system
system code
tested software
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
CN201711344740.7A
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201711344740.7A priority Critical patent/CN107992424A/zh
Publication of CN107992424A publication Critical patent/CN107992424A/zh
Priority to PCT/CN2018/089424 priority patent/WO2019114209A1/zh
Pending legal-status Critical Current

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/368Test management for test version control, e.g. updating test cases to a new software version
    • 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/3692Test management for test results analysis

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)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动化测试分析方法,该方法包括:当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;比较被测软件系统代码与所述最新历史版本代码,确定被测软件系统代码是否被修改;当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本;将所有受影响的自动化测试脚本发送至所述终端设备。本发明还提供一种应用服务器及计算机可读存储介质。本发明提供的自动化测试分析方法、应用服务器及计算机可读存储介质可以使得测试人员在进行回归测试之前根据受影响的自动化测试脚本评估是否需要修改自动化测试脚本,提高测试效率。

Description

自动化测试分析方法、应用服务器及计算机可读存储介质
技术领域
本发明涉及自动化测试分析领域,尤其涉及一种自动化测试分析方法、应用服务器及计算机可读存储介质。
背景技术
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁。然而在回归测试的时候,运行全量自动化测试通常会出现大面积的错误,而通常发现原因并不是程序bug,而是需求或者代码变更导致测试案例没有同步更新,导致运行失败。随着这种量的加大以及时间关系,慢慢的自动化案例维护成本会越来越高,导致测试人员慢慢开始放弃自动化测试。
发明内容
有鉴于此,本发明提出一种自动化测试分析方法、应用服务器及计算机可读存储介质,能够使得测试人员在进行回归测试之前根据受影响的自动化测试脚本评估是否需要修改自动化测试脚。
首先,为实现上述目的,本发明提出一种自动化测试分析方法,该方法应用于应用服务器,所述方法包括:
当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;
比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;
当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本;
将所述所有受影响的自动化测试脚本发送至所述终端设备。
可选地,所述根据所述被修改的函数与自动化测试脚本的映射关系,确定所有受影响自动化测试脚本的步骤,具体包括如下步骤:
调取与存储在所述应用服务器中的所述自动化测试脚本与被测软件系统代码的函数之间的映射关系;
定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
可选地,所述当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码的步骤之前,还包括如下步骤:
设定一个存储空间;
存储从终端设备发送的测软件系统代码;
按照接收时间对所述测试软件系统代码进行排序,其中,接收时间最靠前的为最新历史版本的测试软件系统代码。
可选地,所述比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改的步骤,具体包括:
分析被测软件系统代码与所述最新历史版本代码的结构关系;
根据所述结构关系,判断被测软件系统代码是否被修改,其中,所述结构关系为函数及方法的调用关系、结构的包含关系、类的继承关系。
可选地,所述将所述所有受影响的自动化测试脚本发送至所述终端设备的步骤,具体包括:
将所有受影响的自动化测试脚本整理成图表或者报表,生成影响结果图;
将所述影响结果图反馈至所述终端设备。
此外,为实现上述目的,本发明还提供一种应用服务器,所述应用服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的自动化测试分析系统,所述自动化测试分析系统被所述处理器执行时实现如下步骤:
当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;
比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;
当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本;
将所述所有受影响的自动化测试脚本发送至所述终端设备。
可选地,所述根据所述被修改的函数与自动化测试脚本的映射关系,确定所有受影响自动化测试脚本的步骤,具体包括如下步骤:
调取与存储在所述应用服务器中的所述自动化测试脚本与被测软件系统代码的函数之间的映射关系;
定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
可选地,所述当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码的步骤之前,还包括如下步骤:
设定一个存储空间;
存储从终端设备发送的测软件系统代码;
按照接收时间对所述测试软件系统代码进行排序,其中,接收时间最靠前的为最新历史版本的测试软件系统代码。
可选地,所述比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改的步骤,具体包括:
分析被测软件系统代码与所述最新历史版本代码的结构关系;
根据所述结构关系,判断被测软件系统代码是否被修改,其中,所述结构关系为函数及方法的调用关系、结构的包含关系、类的继承关系。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试分析系统,所述自动化测试分析系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的自动化测试分析方法的步骤。
相较于现有技术,本发明所提出的应用服务器、自动化测试分析方法及计算机可读存储介质,首先,当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;然后,比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;进一步地,当所述被测软件系统代码被修改,分析得到所有受影响自动化测试脚本;最后,将所述所有受影响的自动化测试脚本发送至所述终端设备。这样,既可以避免现有技术中通过因被测软件系统代码被修改而导致回归测试失败的缺陷,也可以通过分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本,并将所述所有受影响的自动化测试脚本发送至所述终端设备,使得测试人员在进行回归测试之前评估是否需要修改自动化测试脚本,提高测试效率。
附图说明
图1是本发明各个实施例一可选的应用环境示意图;
图2是图1中应用服务器一可选的硬件架构的示意图;
图3是本发明自动化测试分析系统第一实施例的程序模块示意图;
图4是本发明自动化测试分析系统第二实施例的程序模块示意图;
图5是本发明自动化测试分析系统第三实施例的程序模块示意图;
图6为本发明自动化测试分析方法第一实施例的流程示意图;
图7为本发明自动化测试分析方法第二实施例的流程示意图;
图8为本发明自动化测试分析方法第三实施例的流程示意图。
附图标记:
终端设备 1
应用服务器 2
网络 3
存储器 11
处理器 12
网络接口 13
自动化测试分析系统 200
调取模块 201
比较模块 202
分析模块 203
反馈模块 204
定位模块 205
设定模块 206
存储模块 207
排序模块 208
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,是本发明各个实施例一可选的应用环境示意图。
在本实施例中,本发明可应用于包括,但不仅限于,终端设备1、应用服务器2、网络3的应用环境中。其中,所述终端设备1可以是移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的可移动设备,以及诸如数字TV、台式计算机、笔记本、服务器等等的固定终端。所述应用服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该应用服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。所述网络3可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System ofMobile communication,GSM)、宽带码分多址(Wideband Code Division MultipleAccess,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
其中,所述应用服务器2中通过所述网络3分别与一个或多个所述终端设备1通信连接,以进行数据传输和交互。
本实施例中,所述应用服务器2内安装并运行有自动化测试分析系统200,当所述自动化测试分析系统200运行时,所述应用服务器2当接收到终端设备1发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;然后,比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;进一步地,当所述被测软件系统代码被修改,分析得到所有受影响自动化测试脚本;最后,将所述所有受影响的自动化测试脚本发送至所述终端设备1。这样,既可以避免现有技术中通过因被测软件系统代码被修改而导致回归测试失败的缺陷,也可以通过分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本,并将所述所有受影响的自动化测试脚本发送至所述终端设备1,使得测试人员在进行回归测试之前评估是否需要修改自动化测试脚本,提高测试效率。
参阅图2所示,是图1中应用服务器2一可选的硬件架构的示意图。本实施例中,所述应用服务器2可包括,但不仅限于,可通过系统总线相互通信连接存储器11、处理器12、网络接口13。需要指出的是,图2仅示出了具有组件11-13的应用服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述应用服务器2的内部存储单元,例如该应用服务器2的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述应用服务器2的外部存储设备,例如该应用服务器2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述应用服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器11通常用于存储安装于所述应用服务器2的操作系统和各类应用软件,例如所述自动化测试分析系统200的程序代码等。此外,所述存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述应用服务器2的总体操作,例如执行与所述终端设备1进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行所述的自动化测试分析系统200等。
所述网络接口13可包括无线网络接口或有线网络接口,该网络接口13通常用于在所述应用服务器2与其他电子设备之间建立通信连接。本实施例中,所述网络接口13主要用于通过所述网络3将所述应用服务器2与一个或多个所述终端设备1相连,在所述应用服务器2与所述一个或多个终端设备1之间的建立数据传输通道和通信连接。
至此,己经详细介绍了本发明各个实施例的应用环境和相关设备的硬件结构和功能。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。
首先,本发明提出一种自动化测试分析系统200。
参阅图3所示,是本发明自动化测试分析系统200第一实施例的程序模块图。
本实施例中,所述自动化测试分析系统200包括一系列的存储于存储器11上的计算机程序指令,当该计算机程序指令被处理器12执行时,可以实现本发明各实施例的自动化测试分析操作。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,自动化测试分析系统200可以被划分为一个或多个模块。例如,在图3中,所述自动化测试分析系统200可以被分割成调取模块201、比较模块202、分析模块203、以及反馈模块204。其中:
所述调取模块201,用于当接收到终端设备1发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码。
通常地,在软件开发的过程中,一定会不断的修改程序代码,或是增加新功能的程序代码。每次更改程序代码,则意味着软件变更,就必须重新测试现有功能,以便确认改程序代码被修改后由没有影响到既有功能,并验证是否达到预期的目的。为了验证程序代码修改的正确性及其影响,通常需要进行回归测试。然而在回归测试的时候,运行全量自动化测试通常会出现大面积的错误,而通常发现原因并不是程序bug,而是需求或者代码变更,但是自动化测试脚本没有同步更新,从而导致运行失败。
因此,在本实施例中,所述应用服务器2存储每一次修改被测软件系统代码。具体地,当应用服务器2接收到终端设备1提交的被测软件系统代码时,调取所述应用服务器2存储的历史版本代码。在本实施方式中,应用服务器2调取最新历史版本代码。
所述比较模块202,用于比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改。
具体地,所述应用服务器2对所述被测软件系统代码与所述最新历史版本代码的结构关系进行分析,包括函数及方法的调用关系、结构的包含关系、类的继承关系等,进而找出代码中做过修改的地方。
在本实施方式中,被测软件系统代码的修改包括函数的增加、删除、修改。详细而言,如果一个函数在历史版本代码中存在而在被测软件系统代码中不存在,则说明该函数被删除;如果一个函数在历史版本代码中不存在而在被测软件系统代码中存在,则说明该函数是新增函数;如果一个函数在被测对象代码和历史版本代码中都存在,则通过扫描函数内代码行,过滤掉空白字符,进行字符匹配对比,如果出现函数内代码不相同,则说明代码有改动,该函数被修改。
所述分析模块203,用于当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本。
具体地,从上文可知,在回归测试的时候,运行全量自动化测试通常会出现大面积的错误,而通常发现原因并不是程序bug,而是需求或者被测软件系统代码被修改,但是自动化测试脚本没有同步更新,从而导致运行失败。因此,当所述应用服务器2在确定所述被测软件系统代码被修改时,分析所述被修改的函数,根据被修改的函数与自动化测试脚本的关联关系,确定该被修改的函数将会影响到的自动化测试脚本。
所述反馈模块204,用于将所述所有受影响的自动化测试脚本反馈至所述终端设备1。
具体地,所述应用服务器2将所述受影响的自动化测试脚本发送至所述终端设备1,测试员在进行回归测试之前可以通过终端设备1查询因被测软件系统代码被修改而影响到自动化测试脚本,从而可以在回归测试之前评估是否需要修改自动化测试脚本,保持自动化测试脚本与被测软件系统代码的同步更新,避免因自动化测试脚本没有同步更新,而导致测试失败。
在本实施例中,所述应用服务器2将所有受影响的自动化测试脚本整理成图表或者报表,生成影响结果图并将所述影响结果图反馈至所述终端设备1,使得测试员可以直观地了解受影响的自动化测试脚本。
通过上述程序模块201-204,本发明所提出的自动化测试分析系统200,首先,当接收到终端设备1发送的被测软件系统代码时,调取应用服务器2存储的最新历史版本代码;然后,比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;进一步地,当所述被测软件系统代码被修改,分析得到所有受影响自动化测试脚本;最后,将所述所有受影响的自动化测试脚本发送至所述终端设备1。这样,既可以避免现有技术中通过因被测软件系统代码被修改而导致回归测试失败的缺陷,也可以通过分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本,并将所述所有受影响的自动化测试脚本发送至所述终端设备1,使得测试人员在进行回归测试之前评估是否需要修改自动化测试脚本,提高测试效率。
进一步地,基于本发明自动化测试分析系统200的上述第一实施例,提出本发明的第二实施例(如图4所示)。本实施例中,所述自动化测试分析系统200还包括及定位模块205,其中,
所述调取模块201,还用于调取预存储在所述应用服务器2内存中的自动化测试脚本与被测软件系统代码的函数之间的映射关系;
具体地,在进行自动化测试期间,所述应用服务器2自动分析自动化测试脚本与软件系统代码函数之间的映射关系,并保存所述映射关系。在本实施例中,所述映射关系保存至所述应用服务器2的存储空间。当被测软件系统代码被修改时,从所述应用服务器2的存储空间调取所述映射关系。
所述定位模块205,用于定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
具体地,若分析出该软件系统的软件代码被修改如有新增代码、修改代码、删除代码等情况时,所述应用服务器2通过所述定位模块205定位到所述该被修改的函数也即该软件系统代码中修改后的函数相对应的最新历史版本的软件系统代码函数,并根据预先保存的软件系统代码函数与自动化测试执行脚本的映射关系,确定该被修改的函数相关联的自动化测试执行脚本。
通过上述程序模块205,本发明所提出的自动化测试分析系统200可以通过调取预存储在所述应用服务器2内存中的自动化测试脚本与被测软件系统代码的函数之间的映射关系,并定位到所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本,实现快速定位所有受影响自动化测试脚本,节省时间。
进一步地,基于本发明自动化测试分析系统200的上述第一实施例,提出本发明的第三实施例(如图5所示)。本实施例中,所述的自动化测试分析系统200还包括设定模块206,存储模块207以及排序模块208,其中:
所述设定模块206,用于设定一个存储空间。
所述存储模块207,用于存储从终端设备1发送的被测软件系统代码。
所述排序模块208,按照接收时间对所述测试软件系统代码进行排序。
具体地,从上文可知,在软件开发的过程中,无可避免的会不断的修改程序代码,或是增加新功能的程序代码。为了让开发人员更好地了解软件在开发中的要演进过程以及参考历史版本的程序代码。在本实施例中,当所述应用服务器2接收到终端设备1发送的被测软件系统代码时,通过存储模块208存储所述被测软件系统代码。而每次被测试软件系统代码被修改后,所述应用服务器2调取最新历史版本的被测软件系统代码与所述修改后的被测软件系统代码进行比较。因此,在本实施例中,所述应用服务器2还通过排序模块209按照接收时间对所述所述测试软件系统代码进行排序。接收时间最靠前的为最新历史版本的测试软件系统代码。
通过上述程序模块206-208,本发明所提出的自动化测试分析系统200,还能够在存储历史版本的被测软件系统代码,并按照时间顺序排序,方便开发人员更好地了解软件在开发中的要演进过程以及参考历史版本的程序代码。
此外,本发明还提出一种自动化测试分析方法。
参阅图6所示,是本发明自动化测试分析方法第一实施例的流程示意图。在本实施例中,根据不同的需求,图6所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S301,当接收到终端设备1发送的被测软件系统代码时,调取应用服务器2存储的最新历史版本代码。
通常地,在软件开发的过程中,一定会不断的修改程序代码,或是增加新功能的程序代码。每次更改程序代码,则意味着软件变更,就必须重新测试现有功能,以便确认改程序代码被修改后由没有影响到既有功能,并验证是否达到预期的目的。为了验证程序代码修改的正确性及其影响,通常需要进行回归测试。然而在回归测试的时候,运行全量自动化测试通常会出现大面积的错误,而通常发现原因并不是程序bug,而是需求或者代码变更,但是自动化测试脚本没有同步更新,从而导致运行失败。
因此,在本实施例中,所述应用服务器2存储每一次修改被测软件系统代码。具体地,当应用服务器2接收到终端设备1提交的被测软件系统代码时,调取所述应用服务器2存储的历史版本代码。在本实施方式中,应用服务器2调取最新历史版本代码。
步骤S302,比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改。
具体地,所述应用服务器2对所述被测软件系统代码与所述最新历史版本代码的结构关系进行分析,包括函数及方法的调用关系、结构的包含关系、类的继承关系等,进而找出代码中做过修改的地方。
在本实施方式中,被测软件系统代码的修改包括函数的增加、删除、修改。详细而言,如果一个函数在历史版本代码中存在而在被测软件系统代码中不存在,则说明该函数被删除;如果一个函数在历史版本代码中不存在而在被测软件系统代码中存在,则说明该函数是新增函数;如果一个函数在被测对象代码和历史版本代码中都存在,则通过扫描函数内代码行,过滤掉空白字符,进行字符匹配对比,如果出现函数内代码不相同,则说明代码有改动,该函数被修改。
步骤S303,当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本。
具体地,从上文可知,在回归测试的时候,运行全量自动化测试通常会出现大面积的错误,而通常发现原因并不是程序bug,而是需求或者被测软件系统代码被修改,但是自动化测试脚本没有同步更新,从而导致运行失败。因此,当所述应用服务器2在确定所述被测软件系统代码被修改时,分析所述被修改的函数,根据被修改的函数与自动化测试脚本的关联关系,确定该被修改的函数将会影响到的自动化测试脚本。
步骤S304,将所述所有受影响的自动化测试脚本反馈至所述终端设备1。
具体地,所述应用服务器2将所述受影响的自动化测试脚本发送至所述终端设备1,测试员在进行回归测试之前可以通过终端设备1查询因被测软件系统代码被修改而影响到自动化测试脚本,从而可以在回归测试之前评估是否需要修改自动化测试脚本,保持自动化测试脚本与被测软件系统代码的同步更新,避免因自动化测试脚本没有同步更新,而导致测试失败。
在本实施例中,所述应用服务器2将所有受影响的自动化测试脚本整理成图表或者报表,生成影响结果图并将所述影响结果图反馈至所述终端设备1,使得测试员可以直观地了解受影响的自动化测试脚本。
通过上述步骤S301-304,本发明所提出的自动化测试分析方法,首先,当接收到终端设备1发送的被测软件系统代码时,调取应用服务器2存储的最新历史版本代码;然后,比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;进一步地,当所述被测软件系统代码被修改,分析得到所有受影响自动化测试脚本;最后,将所述所有受影响的自动化测试脚本发送至所述终端设备1。这样,既可以避免现有技术中通过因被测软件系统代码被修改而导致回归测试失败的缺陷,也可以通过分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本,并将所述所有受影响的自动化测试脚本发送至所述终端设备1,使得测试人员在进行回归测试之前评估是否需要修改自动化测试脚本,提高测试效率。
进一步地,基于本发明自动化测试分析方法的上述第一实施例,提出本发明自动化测试分析方法的第二实施例。
如图7所示,是本发明自动化测试分析方法第二实施例的流程示意图。本实施例中,所述将所述源代码的功能逻辑分支与预存储在应用服务器2的测试案例逻辑分支进行比较,生成所述源代码的功能逻辑分支覆盖率报告的步骤之前,还包括如下步骤:
步骤S401,调取预存储在所述应用服务器2内存中的自动化测试脚本与被测软件系统代码的函数之间的映射关系;
具体地,在进行自动化测试期间,所述应用服务器2自动分析自动化测试脚本与软件系统代码函数之间的映射关系,并保存所述映射关系。在本实施例中,所述映射关系保存至所述应用服务器2的存储空间。当被测软件系统代码被修改时,从所述应用服务器2的存储空间调取所述映射关系。
步骤S402,定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
具体地,若分析出该软件系统的软件代码被修改如有新增代码、修改代码、删除代码等情况时,所述应用服务器2通过所述定位模块206定位到所述该被修改的函数也即该软件系统代码中修改后的函数相对应的最新历史版本的软件系统代码函数,并根据预先保存的软件系统代码函数与自动化测试执行脚本的映射关系,确定该被修改的函数相关联的自动化测试执行脚本。
通过上述步骤S401-S402,本发明所提出的自动化测试分析方法,可以通过调取预存储在所述应用服务器2内存中的自动化测试脚本与被测软件系统代码的函数之间的映射关系,并定位到所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本,实现快速定位所有受影响自动化测试脚本,节省时间。
进一步地,基于本发明自动化测试分析方法的上述第一和第二实施例,提出本发明自动化测试分析方法的第三实施例。
如图8所示,是本发明自动化测试分析方法第三实施例的流程示意图。本实施例中,所述生成所述源代码的功能逻辑分支覆盖率报告的步骤,具体包括:
步骤S501,设定一个存储空间。
步骤S502,存储从终端设备1发送的被测软件系统代码。
步骤S503,按照接收时间对所述测试软件系统代码进行排序。
具体地,从上文可知,在软件开发的过程中,无可避免的会不断的修改程序代码,或是增加新功能的程序代码。为了让开发人员更好地了解软件在开发中的要演进过程以及参考历史版本的程序代码。在本实施例中,当所述应用服务器2接收到终端设备1发送的被测软件系统代码时,所述应用服务器2存储所述被测软件系统代码。而每次被测试软件系统代码被修改后,所述应用服务器2调取最新历史版本的被测软件系统代码与所述修改后的被测软件系统代码进行比较。因此,在本实施例中,所述应用服务器2按照接收时间对所述测试软件系统代码进行排序。接收时间最靠前的为最新历史版本的测试软件系统代码。
通过上述步骤S501-S503,本发明所提出的自动化测试分析方法,还能够在存储历史版本的被测软件系统代码,并按照时间顺序排序,方便开发人员更好地了解软件在开发中的要演进过程以及参考历史版本的程序代码。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种自动化测试分析方法,应用于应用服务器,其特征在于,所述方法包括:
当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;
比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;
当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本;
将所述所有受影响的自动化测试脚本发送至所述终端设备。
2.如权利要求1所述的自动化测试分析方法,其特征在于,所述根据所述被修改的函数与自动化测试脚本的映射关系,确定所有受影响自动化测试脚本的步骤,具体包括如下步骤:
调取与存储在所述应用服务器中的所述自动化测试脚本与被测软件系统代码的函数之间的映射关系;
定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
3.如权利要求1所述的自动化测试分析方法,其特征在于,所述当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码的步骤之前,还包括如下步骤:
设定一个存储空间;
存储从终端设备发送的测软件系统代码;
按照接收时间对所述测试软件系统代码进行排序,其中,接收时间最靠前的为最新历史版本的测试软件系统代码。
4.如权利要求1所述的自动化测试分析方法,其特征在于,所述比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改的步骤,具体包括:
分析被测软件系统代码与所述最新历史版本代码的结构关系;
根据所述结构关系,判断被测软件系统代码是否被修改,其中,所述结构关系为函数及方法的调用关系、结构的包含关系、类的继承关系。
5.如权利要求1-4任一项所述的自动化测试分析方法,其特征在于,所述将所述所有受影响的自动化测试脚本发送至所述终端设备的步骤,具体包括:
将所有受影响的自动化测试脚本整理成图表或者报表,生成影响结果图;
将所述影响结果图反馈至所述终端设备。
6.一种应用服务器,其特征在于,所述应用服务器包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的自动化测试分析系统,所述自动化测试分析系统被所述处理器执行时实现如下步骤:
当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码;
比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改;
当所述被测软件系统代码被修改,分析被修改的所述被测软件系统代码以得到所有受影响自动化测试脚本;
将所述所有受影响的自动化测试脚本发送至所述终端设备。
7.如权利要求6所述的应用服务器,其特征在于,所述根据所述被修改的函数与自动化测试脚本的映射关系,确定所有受影响自动化测试脚本的步骤,具体包括如下步骤:
调取与存储在所述应用服务器中的所述自动化测试脚本与被测软件系统代码的函数之间的映射关系;
定位所述被修改的函数与所述自动化测试脚本的映射关系,得到所述所有受影响自动化测试脚本。
8.如权利要求6所述的应用服务器,其特征在于,所述当接收到终端设备发送的被测软件系统代码时,调取应用服务器存储的最新历史版本代码的步骤之前,还包括如下步骤:
设定一个存储空间;
存储从终端设备发送的测软件系统代码;
按照接收时间对所述测试软件系统代码进行排序,其中,接收时间最靠前的为最新历史版本的测试软件系统代码。
9.如权利要求6所述的应用服务器,其特征在于,所述生成所述源代码的功能逻辑分支覆盖率报告的步骤,具体包括:
所述比较所述被测软件系统代码与所述最新历史版本代码,确定所述被测软件系统代码是否被修改的步骤,具体包括:
分析被测软件系统代码与所述最新历史版本代码的结构关系;
根据所述结构关系,判断被测软件系统代码是否被修改,其中,所述结构关系为函数及方法的调用关系、结构的包含关系、类的继承关系。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有自动化测试分析系统,所述自动化测试分析系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-5中任一项所述的自动化测试分析方法的步骤。
CN201711344740.7A 2017-12-15 2017-12-15 自动化测试分析方法、应用服务器及计算机可读存储介质 Pending CN107992424A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711344740.7A CN107992424A (zh) 2017-12-15 2017-12-15 自动化测试分析方法、应用服务器及计算机可读存储介质
PCT/CN2018/089424 WO2019114209A1 (zh) 2017-12-15 2018-06-01 自动化测试分析方法、系统、应用服务器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711344740.7A CN107992424A (zh) 2017-12-15 2017-12-15 自动化测试分析方法、应用服务器及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN107992424A true CN107992424A (zh) 2018-05-04

Family

ID=62037888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711344740.7A Pending CN107992424A (zh) 2017-12-15 2017-12-15 自动化测试分析方法、应用服务器及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107992424A (zh)
WO (1) WO2019114209A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019114209A1 (zh) * 2017-12-15 2019-06-20 平安科技(深圳)有限公司 自动化测试分析方法、系统、应用服务器及计算机可读存储介质
CN109947657A (zh) * 2019-04-03 2019-06-28 广东电网有限责任公司 一种企业级信息管理系统的变动范围分析方法和系统
CN112416738A (zh) * 2019-08-22 2021-02-26 三赢科技(深圳)有限公司 影像测试方法、装置、计算机装置及可读存储介质
CN113360368A (zh) * 2020-03-06 2021-09-07 北京京东振世信息技术有限公司 一种软件性能测试的方法和装置
CN115858348A (zh) * 2022-11-24 2023-03-28 上海浦东发展银行股份有限公司 一种基于字节码的测试工作量评估方法、设备及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115203064A (zh) * 2022-09-19 2022-10-18 北京探境科技有限公司 代码检测方法、装置、计算机设备及可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035025A (zh) * 2007-03-30 2007-09-12 华为技术有限公司 一种网络设备管理的方法和系统
CN101286119A (zh) * 2008-05-27 2008-10-15 华耀环宇科技(北京)有限公司 一种通过分析代码变化确定功能点变化的方法
US20110209121A1 (en) * 2010-02-24 2011-08-25 Salesforce.Com, Inc. System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format
CN102831056A (zh) * 2012-07-31 2012-12-19 东南大学 一种基于修改影响分析的回归测试用例生成方法
CN103678097A (zh) * 2012-09-05 2014-03-26 百度在线网络技术(北京)有限公司 一种选择回归测试用例的方法和装置
CN103870384A (zh) * 2012-12-11 2014-06-18 航天信息股份有限公司 测试用例推定方法及系统
CN104536896A (zh) * 2015-01-12 2015-04-22 牟永敏 面向函数调用路径的回归测试用例选择与排序方法及系统
CN106547678A (zh) * 2015-09-16 2017-03-29 伊姆西公司 用于白盒测试的方法和装置
CN106776339A (zh) * 2016-12-30 2017-05-31 上海亿账通互联网科技有限公司 自动化测试方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146340A1 (en) * 2008-12-09 2010-06-10 International Business Machines Corporation Analyzing Coverage of Code Changes
CN107992424A (zh) * 2017-12-15 2018-05-04 平安科技(深圳)有限公司 自动化测试分析方法、应用服务器及计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035025A (zh) * 2007-03-30 2007-09-12 华为技术有限公司 一种网络设备管理的方法和系统
CN101286119A (zh) * 2008-05-27 2008-10-15 华耀环宇科技(北京)有限公司 一种通过分析代码变化确定功能点变化的方法
US20110209121A1 (en) * 2010-02-24 2011-08-25 Salesforce.Com, Inc. System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format
CN102831056A (zh) * 2012-07-31 2012-12-19 东南大学 一种基于修改影响分析的回归测试用例生成方法
CN103678097A (zh) * 2012-09-05 2014-03-26 百度在线网络技术(北京)有限公司 一种选择回归测试用例的方法和装置
CN103870384A (zh) * 2012-12-11 2014-06-18 航天信息股份有限公司 测试用例推定方法及系统
CN104536896A (zh) * 2015-01-12 2015-04-22 牟永敏 面向函数调用路径的回归测试用例选择与排序方法及系统
CN106547678A (zh) * 2015-09-16 2017-03-29 伊姆西公司 用于白盒测试的方法和装置
CN106776339A (zh) * 2016-12-30 2017-05-31 上海亿账通互联网科技有限公司 自动化测试方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019114209A1 (zh) * 2017-12-15 2019-06-20 平安科技(深圳)有限公司 自动化测试分析方法、系统、应用服务器及计算机可读存储介质
CN109947657A (zh) * 2019-04-03 2019-06-28 广东电网有限责任公司 一种企业级信息管理系统的变动范围分析方法和系统
CN112416738A (zh) * 2019-08-22 2021-02-26 三赢科技(深圳)有限公司 影像测试方法、装置、计算机装置及可读存储介质
CN113360368A (zh) * 2020-03-06 2021-09-07 北京京东振世信息技术有限公司 一种软件性能测试的方法和装置
CN113360368B (zh) * 2020-03-06 2023-09-01 北京京东振世信息技术有限公司 一种软件性能测试的方法和装置
CN115858348A (zh) * 2022-11-24 2023-03-28 上海浦东发展银行股份有限公司 一种基于字节码的测试工作量评估方法、设备及介质
CN115858348B (zh) * 2022-11-24 2024-05-31 上海浦东发展银行股份有限公司 一种基于字节码的测试工作量评估方法、设备及介质

Also Published As

Publication number Publication date
WO2019114209A1 (zh) 2019-06-20

Similar Documents

Publication Publication Date Title
CN107992424A (zh) 自动化测试分析方法、应用服务器及计算机可读存储介质
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN107797923B (zh) 代码覆盖率分析方法及应用服务器
CN105159833A (zh) 自动化测试装置及方法
CN108959059B (zh) 一种测试方法以及测试平台
CN111651366B (zh) Sdk测试方法、装置、设备及存储介质
CN110888414B (zh) 一种车辆控制器升级的测试方法
CN107885656A (zh) 产品算法自动化测试方法及应用服务器
CN107896244B (zh) 一种版本文件的分发方法、客户端及服务器
CN109634837A (zh) 自动化测试方法、装置、设备及存储介质
CN104579830B (zh) 服务监控方法及装置
CN111897724A (zh) 一种适用于云平台的自动化测试方法及装置
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN108681504A (zh) 自动化测试方法、测试服务器及计算机可读存储介质
CN109814877A (zh) 基于环境管理的项目部署方法及其装置
CN107506294A (zh) 可视化自动化测试方法、装置、存储介质和计算机设备
CN107038120A (zh) 一种软件测试方法和设备
CN107015912A (zh) 实现远程调试的系统、方法、装置、及电子设备
CN111400179A (zh) 终端应用程序交互的方法、装置、计算机设备和存储介质
CN113342560A (zh) 一种故障处理方法、系统、电子设备及存储介质
CN109388420A (zh) 应用升级测试方法、装置、计算机设备及存储介质
CN108021503A (zh) 自动化功能测试的方法、装置和计算机存储介质
CN112988578A (zh) 一种自动化测试方法和装置
CN116431519A (zh) 软件测试方法及装置、电子设备和计算机可读存储介质
CN115687129A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180504

RJ01 Rejection of invention patent application after publication