自动化测试方法及装置与流程

文档序号:12464241阅读:206来源:国知局
自动化测试方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种自动化测试方法及装置。



背景技术:

目前,在一个软件系统上线运行之后,若开发人员针对该软件系统的软件代码进行了修改,则开发人员需要针对修改代码后的软件系统进行大量操作场景下的所有自动化测试执行脚本的运行测试,尤其是针对一些大型的软件系统来说,需要自动执行的所有自动化测试执行脚本的数量通常会超过数万个,这些所有的自动化测试执行脚本全部跑完需要海量的时间,另外,还要花费海量的时间去分析出现测试错误的自动化测试执行脚本,浪费大量的人力物力,而且经常出错。



技术实现要素:

本发明的主要目的在于提供一种自动化测试方法及装置,旨在提高自动化测试的效率及节约成本。

为实现上述目的,本发明提供的一种自动化测试方法,所述方法包括以下步骤:

在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改;

若分析该软件系统的软件代码被修改,则找出被修改的软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定与找出的被修改的软件代码相关联的自动化测试执行脚本;

在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告。

优选地,所述在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改的步骤之前还包括:

逐一运行软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本相关联的软件代码,所述与该自动化测试执行脚本相关联的软件代码为该自动化测试执行脚本在运行过程中所调用的软件代码;

保存软件代码与自动化测试执行脚本的关联数据。

优选地,所述在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告的步骤之前还包括:

分析是否确定出与被修改的软件代码相关联的自动化测试执行脚本;

若是,则执行在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告的步骤;

若否,则生成提醒信息,以提醒为该被修改的软件代码添加对应的自动化测试执行脚本。

优选地,所述在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改的步骤包括:

在软件系统运行过程中,实时或者定时分析该软件系统的软件修改日志,以分析出该软件系统的软件代码是否被修改;该修改包括新增代码、修改代码或删除代码。

优选地,所述测试报告包括出现测试错误的自动化测试执行脚本的列表信息,及/或,测试错误的错误类型信息。

此外,为实现上述目的,本发明还提供一种自动化测试装置,所述自动化测试装置包括:

第一分析模块,用于在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改;

确定模块,用于若分析该软件系统的软件代码被修改,则找出被修改的软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定与找出的被修改的软件代码相关联的自动化测试执行脚本;

测试模块,用于在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告。

优选地,所述自动化测试装置还包括:

记录模块,用于逐一运行软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本相关联的软件代码,所述与该自动化测试执行脚本相关联的软件代码为该自动化测试执行脚本在运行过程中所调用的软件代码;

保存模块,用于保存软件代码与自动化测试执行脚本的关联数据。

优选地,所述自动化测试装置还包括:

第二分析模块,用于分析是否确定出与被修改的软件代码相关联的自动化测试执行脚本;

提醒模块,用于若没有与被修改的软件代码相关联的自动化测试执行脚本,则生成提醒信息,以提醒为该被修改的软件代码添加对应的自动化测试执行脚本。

优选地,所述第一分析模块还用于:

在软件系统运行过程中,实时或者定时分析该软件系统的软件修改日志,以分析出该软件系统的软件代码是否被修改;该修改包括新增代码、修改代码或删除代码。

优选地,所述测试报告包括出现测试错误的自动化测试执行脚本的列表信息,及/或,测试错误的错误类型信息。

本发明提出的自动化测试方法及装置,在分析出软件系统的软件代码被修改时,通过预先保存的软件代码与自动化测试执行脚本的关联数据,确定出与被修改的软件代码相关联的自动化测试执行脚本,并在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,以生成测试报告。由于只需确定出与被修改的软件代码相关联的自动化测试执行脚本,并执行确定出的自动化测试执行脚本完成测试,而无需在修改代码后的软件系统上进行所有自动化测试执行脚本的运行测试,提高了测试效率,且更加容易查找测试错误,节约了人力物力。

附图说明

图1为本发明自动化测试方法第一实施例的流程示意图;

图2为本发明自动化测试方法第二实施例的流程示意图;

图3为本发明自动化测试方法第三实施例的流程示意图;

图4为本发明自动化测试装置第一实施例的功能模块示意图;

图5为本发明自动化测试装置第二实施例的功能模块示意图;

图6为本发明自动化测试装置第三实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种自动化测试方法。

参照图1,图1为本发明自动化测试方法第一实施例的流程示意图。

在第一实施例中,该自动化测试方法包括:

步骤S10,在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改;

在一个软件系统上线运行之后,根据该软件系统的实际运行状况,开发人员有时需针对该软件系统的软件代码进行部分修改,例如,新增代码、修改代码、删除代码等等。本实施例中,在软件系统上线运行过程中,实时或者定时(例如,每天的23:59)分析该软件系统的软件代码是否被修改,如是否有新增代码、修改代码、删除代码等。

在一种实施方式中,在该软件系统运行过程中,实时或者定时调取系统日志信息,并从系统日志信息中提取出该软件系统的软件修改日志,以分析出该软件系统的软件代码是否被修改。

在另一种实施方式中,还可在该软件系统上预先配置一软件修改信息采集模块,通过该软件修改信息采集模块实时或定时地侦测并记录每一软件代码修改的详细信息,如修改类型、修改时间、修改方身份信息等,并利用侦测到的软件修改信息进行更加细化的分析以判断该软件系统的软件代码是否应识别为被修改。例如,可预先设定在设定时间段或设定的高级别开发人员对该软件系统的软件代码进行修改后,无需对该软件系统进行自动化测试,则若通过该软件修改信息采集模块侦测并记录到在设定时间段或设定的高级别开发人员对该软件系统的软件代码进行了修改,则分析识别为该软件系统的软件代码没有被修改,更加灵活、实用。

步骤S20,若分析该软件系统的软件代码被修改,则找出被修改的软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定与找出的被修改的软件代码相关联的自动化测试执行脚本;

若分析出该软件系统的软件代码被修改如有新增代码、修改代码、删除代码等情况时,则找出被修改的软件代码,该被修改的软件代码也即该软件系统的软件代码中与修改后代码相对应的被修改前的原始软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定该被修改的软件代码相关联的自动化测试执行脚本。其中,软件代码与自动化测试执行脚本的关联数据可以是预先针对该软件系统的软件代码与各个自动化测试执行脚本进行分析,找出该软件系统的每段软件代码所对应的自动化测试执行脚本,并进行关联保存。软件代码与自动化测试执行脚本的关联数据也可以是从云端服务器获取,如可从云端服务器直接获取与该软件系统相同的软件系统所提供的软件代码与自动化测试执行脚本的关联数据;还可从云端服务器获取多个与该软件系统相同或相似的软件系统提供的软件代码与自动化测试执行脚本的关联数据,进行对比选取最准确的软件代码与自动化测试执行脚本的关联数据,在此不做限定。

步骤S30,在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告。

在确定出与被修改的软件代码相关联的自动化测试执行脚本之后,即可在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,以对软件代码被修改后的该软件系统进行自动化测试,即利用与被修改前的原始软件代码相关联的自动化测试执行脚本,来对代码被修改后的该软件系统进行自动化测试,以测试修改后的软件系统中与该被修改前的原始软件代码在内容、功能、作用等方面均相同或相似的修改后代码是否存在修改不兼容、不匹配等问题,并生成测试报告。其中,所述测试报告包括出现测试错误的自动化测试执行脚本的列表信息,及/或,测试错误的错误类型信息,所述错误类型信息包括但不限于H5页面异常、系统崩溃等。

本实施例在分析出软件系统的软件代码被修改时,通过预先保存的软件代码与自动化测试执行脚本的关联数据,确定出与被修改的软件代码相关联的自动化测试执行脚本,并在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,以生成测试报告。由于只需确定出与被修改的软件代码相关联的自动化测试执行脚本,并执行确定出的自动化测试执行脚本完成测试,而无需在修改代码后的软件系统上进行所有自动化测试执行脚本的运行测试,提高了测试效率,且更加容易查找测试错误,节约了人力物力。

如图2所示,本发明第二实施例提出一种自动化测试方法,在上述实施例的基础上,在上述步骤S10之前还包括:

步骤S40,逐一运行软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本相关联的软件代码,所述与该自动化测试执行脚本相关联的软件代码为该自动化测试执行脚本在运行过程中所调用的软件代码;

步骤S50,保存软件代码与自动化测试执行脚本的关联数据。

本实施例中,针对一个软件系统,逐一运行该软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本关联的软件代码,所述与该自动化测试执行脚本关联的软件代码指的是该自动化测试执行脚本执行过程中所调用的软件代码。这样,即可准确地为该软件系统的每一段软件代码找到与之相关联的一个或多个自动化测试执行脚本,并将记录的该软件系统的软件代码与自动化测试执行脚本的关联数据进行保存,以供后续在确定与该软件系统中被修改的软件代码相关联的自动化测试执行脚本时使用。

如图3所示,本发明第三实施例提出一种自动化测试方法,在上述实施例的基础上,在上述步骤S30之前还包括:

步骤S60,分析是否确定出与被修改的软件代码相关联的自动化测试执行脚本;

若是,则执行步骤S30;

若否,则执行步骤S70,生成提醒信息,以提醒为该被修改的软件代码添加对应的自动化测试执行脚本。

本实施例中,在确定被修改的软件代码关联的自动化测试执行脚本时,若没有找到与被修改的软件代码相关联的自动化测试执行脚本,则说明该被修改的软件代码预先没有关联到相关的自动化测试执行脚本或该被修改的软件代码为新增代码,没有与之关联的自动化测试执行脚本,需要开发人员为其手动添加自动化测试执行脚本。则在界面上生成提醒信息如弹窗信息等,或者,向预先确定的终端如开发人员的手机发送提醒信息,提醒开发人员为该被修改的软件代码进行人工编写脚本或调取已有脚本以添加对应的自动化测试执行脚本,从而能对软件代码被修改后的该软件系统进行更加全面的自动化测试。

本发明进一步提供一种自动化测试装置。

参照图4,图4为本发明自动化测试装置第一实施例的功能模块示意图。

在第一实施例中,该自动化测试装置包括:

第一分析模块01,用于在软件系统运行过程中,实时或者定时分析该软件系统的软件代码是否被修改;

在一个软件系统上线运行之后,根据该软件系统的实际运行状况,开发人员有时需针对该软件系统的软件代码进行部分修改,例如,新增代码、修改代码、删除代码等等。本实施例中,在软件系统上线运行过程中,实时或者定时(例如,每天的23:59)分析该软件系统的软件代码是否被修改,如是否有新增代码、修改代码、删除代码等。

在一种实施方式中,在该软件系统运行过程中,实时或者定时调取系统日志信息,并从系统日志信息中提取出该软件系统的软件修改日志,以分析出该软件系统的软件代码是否被修改。

在另一种实施方式中,还可在该软件系统上预先配置一软件修改信息采集模块,通过该软件修改信息采集模块实时或定时地侦测并记录每一软件代码修改的详细信息,如修改类型、修改时间、修改方身份信息等,并利用侦测到的软件修改信息进行更加细化的分析以判断该软件系统的软件代码是否应识别为被修改。例如,可预先设定在设定时间段或设定的高级别开发人员对该软件系统的软件代码进行修改后,无需对该软件系统进行自动化测试,则若通过该软件修改信息采集模块侦测并记录到在设定时间段或设定的高级别开发人员对该软件系统的软件代码进行了修改,则分析识别为该软件系统的软件代码没有被修改,更加灵活、实用。

确定模块02,用于若分析该软件系统的软件代码被修改,则找出被修改的软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定与找出的被修改的软件代码相关联的自动化测试执行脚本;

若分析出该软件系统的软件代码被修改如有新增代码、修改代码、删除代码等情况时,则找出被修改的软件代码,该被修改的软件代码也即该软件系统的软件代码中与修改后代码相对应的被修改前的原始软件代码,并根据预先保存的软件代码与自动化测试执行脚本的关联数据,确定该被修改的软件代码相关联的自动化测试执行脚本。其中,软件代码与自动化测试执行脚本的关联数据可以是预先针对该软件系统的软件代码与各个自动化测试执行脚本进行分析,找出该软件系统的每段软件代码所对应的自动化测试执行脚本,并进行关联保存。软件代码与自动化测试执行脚本的关联数据也可以是从云端服务器获取,如可从云端服务器直接获取与该软件系统相同的软件系统所提供的软件代码与自动化测试执行脚本的关联数据;还可从云端服务器获取多个与该软件系统相同或相似的软件系统提供的软件代码与自动化测试执行脚本的关联数据,进行对比选取最准确的软件代码与自动化测试执行脚本的关联数据,在此不做限定。

测试模块03,用于在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,并生成测试报告。

在确定出与被修改的软件代码相关联的自动化测试执行脚本之后,即可在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,以对软件代码被修改后的该软件系统进行自动化测试,即利用与被修改前的原始软件代码相关联的自动化测试执行脚本,来对代码被修改后的该软件系统进行自动化测试,以测试修改后的软件系统中与该被修改前的原始软件代码在内容、功能、作用等方面均相同或相似的修改后代码是否存在修改不兼容、不匹配等问题,并生成测试报告。其中,所述测试报告包括出现测试错误的自动化测试执行脚本的列表信息,及/或,测试错误的错误类型信息,所述错误类型信息包括但不限于H5页面异常、系统崩溃等。

本实施例在分析出软件系统的软件代码被修改时,通过预先保存的软件代码与自动化测试执行脚本的关联数据,确定出与被修改的软件代码相关联的自动化测试执行脚本,并在软件代码被修改后的该软件系统中运行确定的各个自动化测试执行脚本,以生成测试报告。由于只需确定出与被修改的软件代码相关联的自动化测试执行脚本,并执行确定出的自动化测试执行脚本完成测试,而无需在修改代码后的软件系统上进行所有自动化测试执行脚本的运行测试,提高了测试效率,且更加容易查找测试错误,节约了人力物力。

如图5所示,本发明第二实施例提出一种自动化测试装置,在上述实施例的基础上,还包括:

记录模块04,用于逐一运行软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本相关联的软件代码,所述与该自动化测试执行脚本相关联的软件代码为该自动化测试执行脚本在运行过程中所调用的软件代码;

保存模块05,用于保存软件代码与自动化测试执行脚本的关联数据。

本实施例中,针对一个软件系统,逐一运行该软件系统对应的各个自动化测试执行脚本,并在一个自动化测试执行脚本运行过程中,分析并记录与该自动化测试执行脚本关联的软件代码,所述与该自动化测试执行脚本关联的软件代码指的是该自动化测试执行脚本执行过程中所调用的软件代码。这样,即可准确地为该软件系统的每一段软件代码找到与之相关联的一个或多个自动化测试执行脚本,并将记录的该软件系统的软件代码与自动化测试执行脚本的关联数据进行保存,以供后续在确定与该软件系统中被修改的软件代码相关联的自动化测试执行脚本时使用。

如图6所示,本发明第三实施例提出一种自动化测试装置,在上述实施例的基础上,还包括:

第二分析模块06,用于分析是否确定出与被修改的软件代码相关联的自动化测试执行脚本;

提醒模块07,用于若没有与被修改的软件代码相关联的自动化测试执行脚本,则生成提醒信息,以提醒为该被修改的软件代码添加对应的自动化测试执行脚本。

本实施例中,在确定被修改的软件代码关联的自动化测试执行脚本时,若没有找到与被修改的软件代码相关联的自动化测试执行脚本,则说明该被修改的软件代码预先没有关联到相关的自动化测试执行脚本或该被修改的软件代码为新增代码,没有与之关联的自动化测试执行脚本,需要开发人员为其手动添加自动化测试执行脚本。则在界面上生成提醒信息如弹窗信息等,或者,向预先确定的终端如开发人员的手机发送提醒信息,提醒开发人员为该被修改的软件代码进行人工编写脚本或调取已有脚本以添加对应的自动化测试执行脚本,从而能对软件代码被修改后的该软件系统进行更加全面的自动化测试。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1