一种自动化测试方法和平台与流程

文档序号:15685974发布日期:2018-10-16 21:03阅读:147来源:国知局

本发明涉及软件测试技术领域,特别涉及一种自动化测试方法和平台。



背景技术:

随着信息技术的飞速发展,计算机越来越普及,以计算机为依托的软件产品已经应用到社会的各个行业领域,人们对计算机及网络的依赖性越来越大,使用者越来越要求软件产品具有高质量、高效率的工作方式。

由于软件产品的应用系统在满足用户复杂功能需求的同时,系统架构和实现上会随之变得更加复杂,应用系统在运行过程中也可能出现各种问题,因此,要求能够高效、及时的对软件产品进行缺陷测试,快速响应用户需求。



技术实现要素:

基于本发明的一个目的,本发明提供了一种自动化测试方法和平台,以高效、及时进行软件产品的迭代开发,快速响应用户需求。

为达到上述目的,本发明的技术方案是这样实现的:

一方面,本发明提供了一种自动化测试方法,该方法适用于项目开发过程中多种测试类别的一体化测试,该方法包括:

接收外部导入的项目需求对应的多种测试类别的各种测试用例;

获取每种测试类别对应的测试任务,得到多个测试任务,并对所述多个测试任务进行关联配置;

按照所述多个测试任务的关联配置,以及根据每种测试类别对应的测试用例依次执行相应的测试任务,并生成测试报告。

另一方面,本发明提供了一种自动化测试平台,该平台适用于项目开发过程中多种测试类别的一体化测试,包括:接收单元、配置与管理单元、处理单元;

所述接收单元,用于接收外部导入的项目需求对应的多种测试类别的各种测试用例;

所述配置与管理单元,用于获取每种测试类别对应的测试任务,得到多个测试任务,并对多个测试任务进行关联配置;

所述处理单元,用于按照所述多个测试任务的关联配置,以及根据每种测试类别对应的测试用例依次执行相应的测试任务,并生成测试报告。

本发明的有益效果是:本发明公开了一种自动化测试方法和平台,通过配置项目开发过程所涉及的多种测试类别对应的测试任务,对多个测试任务进行关联配置,使自动化测试平台能够在执行完一个测试任务后自动触发下一测试任务,实现了项目开发过程中多种测试类别的一体化测试,使得开发和测试能够不断迭代开发和测试,协同开发和测试之间的交流与合作,保证软件项目的质量和软件项目发布周期,快速响应用户需求。

附图说明

图1为本发明实施例提供的自动化测试方法流程图;

图2为本发明实施例提供的自动化测试平台进行软件版本的自动化测试的流程框图;

图3为本发明实施例提供的自动化测试平台结构框图。

具体实施方式

目前,在软件开发流程中,基于研发角度出发,存在着需求与开发间,开发与测试间,测试与实施间的各种矛盾,以及研发周期过长导致的研发成本、测试成本,运维成本居高不下的问题;而基于用户角度出发,存在着实验室与现场环境的矛盾,用户需求变化快与产品发布周期慢的矛盾,以及发布版本问题多、质量差,产品发布周期慢,不能快速响应用户需求变化等问题。

本发明旨在针对上述问题,提出一种自动化测试理念,解决上述矛盾和问题。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

图1为本发明实施例提供的自动化测试方法流程图,该方法适用于软件项目开发过程中多种测试类别的一体化测试,其中测试类别包括基于开发环境的测试,基于测试环境的测试和基于生产环境的测试中的一种或多种。

其中,开发环境可以理解为专门用于开发的服务器环境;测试环境可以理解为专门由于测试的服务器环境,生产环境可以理解为提供对外服务的服务器环境。示例性地,基于开发环境的测试包括单元测试,基于测试环境的测试包括性能测试。

如图1所示,该自动化测试方法包括:

s110,接收外部导入的项目需求对应的多种测试类别的各种测试用例。

实现时,可通过设定的接口接收测试用例,还可以从源码库读取测试用例,也可以从本地上传,测试用例获取方式可灵活选择,本实施例不限定具体的选择方式,可由管理员根据项目需要配置。

在实际应用中,图1中的自动化测试方法还包括:

根据获取到的多个测试任务建立任务列表,该任务列表中包括多个测试任务的当前执行状态信息和执行结果信息;获取用户权限信息,在任务列表中显示用户权限信息内的测试任务。即通过任务列表汇总测试任务,便于用户及时掌握测试任务的执行状态信息和执行结果信息,且在显示任务列表时,根据用户权限显示其权限内的测试任务,若用户权限高,则任务列表中可以显示所有测试任务的执行状态信息和执行结果信息,若用户权限低,则任务列表中可以仅显示与该用户关联的测试任务的执行状态信息和执行结果信息,由此保证测试数据的安全。

显示用户权限内的测试任务,并能够及时更新测试任务的执行状态和执行结果的概要信息。

s120,获取每种测试类别对应的测试任务,得到多个测试任务,并对多个测试任务进行关联配置。

实现时,可通过本地创建测试任务的方式来获取测试类别对应的测试任务,每个测试任务中包括但不局限测试任务对应的测试类别的测试触发方式信息,其中测试触发方式信息指明测试类别的触发方式,如定时触发测试,提交触发测试等触发方式。

本步骤中“对多个测试任务进行关联配置”可以理解为:将多种测试任务进行排序,顺次执行每种测试任务;例如,若当前项目开发涉及两种测试任务,对这两种测试任务进行排序,则在第一种测试任务执行完毕后,且在第一种测试任务的运行结果不影响第二种测试任务时,执行第二种测试任务。

“对多个测试任务进行关联配置”还可以理解为:配置每种测试任务的发布路径,以根据发布路径执行另一种测试任务;例如,当前项目开发涉及两种测试任务,在执行第一种测试任务后,将第一种测试任务的执行结果按照配置的发布路径发布到第二种测试任务的测试环境中,以进行第二种测试任务。

显然,上述“对多个测试任务进行关联配置”也可以理解为:将多种测试任务中的部分测试任务进行排序,另一部分测试任务进行发布路径的配置。

s130,按照多个测试任务的关联配置,以及根据每种测试类别对应的测试用例依次执行相应的测试任务,并生成测试报告。

实现时,可以通过下述方式生成测试报告包括:

在项目需求测试结束时,生成适配特定测试框架的测试报告,并根据测试报告生成缺陷列表,将缺陷列表上报;特定测试框架包括但不局限主流的基于java测试脚本的测试框架和基于python测试脚本的测试框架;

其中,缺陷列表具有缺陷跟踪定位功能,方便用户快速跟踪缺陷;缺陷详情显示与缺陷状态处理功能,缺陷详情包括同一缺陷的全部操作日志信息;如缺陷列表可显著显示缺陷的编号、摘要、状态、创建人,并支持查看详情和删除关闭状态缺陷等操作。

本实施例中涉及的显著显示可以理解为高亮显示、突出显示的显示方便,便于用户快速定位所需信息。

本实施例通过配置项目开发过程所涉及的多种测试类别对应的测试任务,对多个测试任务进行关联配置,使自动化测试平台能够在执行完一个测试任务后自动根据关联配置中的顺序触发下一测试任务,实现了项目开发过程中多种测试类别的一体化测试,自动化地进行软件项目的迭代开发,保证软件项目的质量和软件项目发布周期,快速响应用户需求。

在本实施例的一个实现方案中,图1中的自动化测试方法还包括:

创建需求列表,该需求列表包括需求详情显示页面,需求详情显示页面包括项目需求关联的测试用例信息、项目需求关联的测试任务信息、项目需求的缺陷信息中的一种或多种信息;

该需求列表还包括原始项目需求及其拆分的子需求条目的层级关系,并支持展开和收缩显示所述层级关系;其中,子需求条目为不可拆分的最小粒度的元数据;需求列表中的项目需求信息可通过自动化平台的外部接口从需求管理平台上获取,即可通过设定的外部接口从需求管理平台获取原始项目需求及其拆分的子需求条目,本实施例不限定外部接口的类型,示例性地,外部接口的类型包括可修改的接口、可删除的接口等;显然,还可以通过在自动化平台上执行创建、拆分或导入操作获取。

本实现方案通过设定需求列表能够将项目需求进行需求条目的分解,便于用户从整体上掌握项目需求的测试情况。在本实施例的另一个实现方案中,项目开发过程为软件项目开发过程,相应地,测试类别包括基于开发环境的单元测试和基于测试环境的web测试;

则上述s120中“对多个测试任务进行关联配置”具体为:配置web测试任务关联单元测试任务,使web测试任务关联到单元测试任务。

相应的,上述步骤s130中“按照多个测试任务的关联配置,以及根据每种测试类别对应的测试用例依次执行相应的测试任务”具体为:

按照单元测试任务对应的测试触发方式信息,并根据单元测试的测试用例执行单元测试任务;本实施例采用持续集成方式进行单元测试;

在单元测试任务结束后,按照web测试任务对应的测试触发方式信息,并根据web测试的测试用例执行web测试;本实施例的web测试包括但不局限于多浏览器的兼容性测试。

在实际应用中,还可以配置单元测试任务的发布路径,根据单元测试的执行结果和发布路径将当前项目自动构建为可部署的项目文件,并发送该可部署的项目文件到发布演示环境进行模拟生产环境的测试。

为了详细说明本发明的有益效果,以及自动测试过程,下面通过一个具体实施例进行说明。

本具体实施例以进行单元测试和web页面测试为例进行说明,其中,单元测试采用持续集成的方式进行,web页面测试为多浏览器兼容性测试。相应的,自动化测试平台支持单元测试和web页面测试。

图2为本发明实施例提供的自动化测试平台进行软件版本的自动化测试的流程框图,如图2所示,软件版本的自动化测试流程如下:

s1:创建需求列表。

自动化测试平台通过其设定的外部接口从需求管理平台上获取原始需求及其拆分的子需求条目,创建原始项目需求及其拆分的子需求条目的层级关系,需求列表支持展开和收缩显示该层级关系,其中,子需求条目为不可拆分的最小粒度的元数据。

需要说明的是,需求列表包括需求详情显示页面,需求详情显示页面可显示项目需求关联的测试用例信息、项目需求关联的测试任务信息、项目需求的缺陷信息等,例如,在执行对应的测试任务时,需求列表中相应的需求项目关联的测试任务的进度信息进行同步更新,在测试任务执行结束后,相应的需求项目关联的缺陷等信息进行同步更新。

s2:导入测试用例。

自动化测试平台具有测试用例的导入接口,本实施例以导入单元测试用例和web测试用例。

在实现时,自动化测试平台可从源码库读取测试用例,也可以在本地上传测试用例,可由管理员根据项目需求进行配置。

s3:任务关联与配置。

创建单元测试用例对应的单元测试任务,以及创建web页面测试对应的web测试任务,并配置单元测试任务与web测试任务关联执行。

配置单元测试和web页面测试的测试触发方式,示例性地,单元测试的测试触发方式为定时触发,web页面测试的测试触发方式为提交触发;并配置单元测试的发布路径,示例性的,该发布路径可配置为可填写的路径,或缺省的路径。

配置任务列表,使其包括单元测试任务和web测试任务的当前执行状态信息和执行结果信息。

s4:自动执行单元测试。

按照单元测试任务对应的测试触发方式,并根据单元测试的测试用例执行单元测试任务;本实施例采用持续集成方式进行单元测试。

s5:自动构建可部署的项目文件。

在单元测试执行完毕,即单元测试通过后,自动化测试平台自动构建产生可部署的项目文件,并按照配置的发布路径将该项目文件部署到发布演示环境中进行模拟生产环境的测试。

s6:自动执行web页面测试。

按照web测试任务对应的测试触发方式,并根据web页面测试的测试用例执行web测试任务;即自动化测试平台根据选定的测试用例,以及选定的多个浏览器自动执行web页面测试。

s7:生成测试报告。

本实施例的测试报告支持报告列表的展示、删除、下载等功能,并可以查看报告详情,如汇总的测试用例执行情况等。

本实施例的自动化测试平台在web页面测试结束后,生成适配特定测试框架的测试报告,并根据测试报告生成缺陷列表,将缺陷列表上报;特定测试框架包括但不局限主流的基于java测试脚本的测试框架和基于python测试脚本的测试框架,以自动发现报告中的缺陷,无需手动上报。

其中,缺陷列表具有缺陷跟踪定位功能,方便用户快速跟踪缺陷;缺陷详情显示与缺陷状态处理功能,缺陷详情包括同一缺陷的全部操作日志信息;如缺陷列表可显著显示缺陷的编号、摘要、状态、创建人,并支持查看详情和删除关闭状态缺陷等操作。

自动化测试平台通过上述步骤s1~s7完成了单元测试和web页面测试,无需手动操作,仅有自动化测试平台自动执行,大大的节省了测试周期。

图3为本发明实施例提供的自动化测试平台结构框图,该平台适用于项目开发过程中多种测试类别的一体化测试。

如图3所示,该自动化测试平台包括:接收单元31、配置与管理单元32、处理单元33;

接收单元31,用于接收外部导入的项目需求对应的多种测试类别的各种测试用例;

配置与管理单元32,用于获取每种测试类别对应的测试任务,得到多个测试任务,并对多个测试任务进行关联配置;

处理单元33,用于按照所述多个测试任务的关联配置,以及根据每种测试类别对应的测试用例依次执行相应的测试任务,并生成测试报告。

本实施例通过配置项目开发过程所涉及的多种测试类别对应的测试任务,对多个测试任务进行关联配置,使自动化测试平台能够在执行完一个测试任务后自动触发下一测试任务,实现了项目开发过程中多种测试类别的一体化测试,自动化地进行软件项目的迭代开发,保证软件项目的质量和软件项目发布周期,快速响应用户需求。

在本实施例的一个实现方案中,配置与管理单元32,还用于根据获取到的多个测试任务建立任务列表,以及获取用户权限信息,在任务列表中显示用户权限信息内的测试任务;任务列表中包括多个测试任务的当前执行状态信息和执行结果信息;

每个测试任务中包括其对应的测试类别的测试触发方式信息,项目开发过程为软件项目开发过程,相应地,测试类别包括基于开发环境的单元测试和基于测试环境的web测试;

配置与管理单元32,用于配置web测试任务关联单元测试任务;相应地,处理单元33,用于按照单元测试任务对应的测试触发方式信息,并根据单元测试的测试用例执行所述单元测试任务;在单元测试任务结束后,按照web测试任务对应测试触发方式信息,并根据web测试的测试用例执行所述web测试。

在本实施例的另一实现方案中,该自动化测试平台还包括列表构建单元;

列表构建单元,用于创建需求列表,需求列表包括需求详情显示页面,需求详情显示页面包括项目需求关联的测试用例信息、项目需求关联的测试任务信息、项目需求的缺陷信息中的一种或多种信息;需求列表还包括原始项目需求及其拆分的子需求条目的层级关系,并支持展开和收缩显示所述层级关系;其中,子需求条目为不可拆分的最小粒度的元数据;需求列表中的项目需求信息通过自动化平台的外部接口从需求管理平台上获取,和/或,通过在自动化平台上执行创建、拆分或导入操作获取;

处理单元33,用于在项目需求测试结束时,生成适配特定测试框架的测试报告,并根据所述测试报告生成缺陷列表,将所述缺陷列表上报;所述特定测试框架包括基于java测试脚本的测试框架和基于python测试脚本的测试框架;其中,缺陷列表具有缺陷跟踪定位功能,缺陷详情显示与缺陷状态处理功能,所述缺陷详情包括同一缺陷的全部操作日志信息。

本发明装置实施例的各单元的具体工作方式可以参见本发明的方法实施例。

综上所述,本发明提供了一种自动化测试方法和平台,本发明实施例至少能够取得以下有益效果:

通过配置项目开发过程所涉及的多种测试类别对应的测试任务,对多个测试任务进行关联配置,使自动化测试平台能够在执行完一个测试任务后自动触发下一测试任务,实现了项目开发过程中多种测试类别的一体化测试,使得开发和测试能够不断迭代开发和测试,协同开发和测试之间的交流与合作,保证软件项目的质量和软件项目发布周期,快速响应用户需求。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。

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