基于关键字驱动的软件测试方法及系统的制作方法

文档序号:9249190阅读:486来源:国知局
基于关键字驱动的软件测试方法及系统的制作方法
【技术领域】
[0001] 本公开设及通信技术领域,尤其设及一种基于关键字驱动的软件测试方法、软件 测试管理装置、软件测试运行装置及软件测试系统。
【背景技术】
[0002] 随着计算机行业的飞速发展,计算机软件的规模越来越大,复杂度也越来越高,传 统的人工测试方法逐渐被自动化测试方法所取代。主流的自动化测试方法的演变经历了基 于录制回放的测试,数据驱动测试和关键字驱动测试等。其中,关键字驱动测试是目前最为 流行和局效的自动化测试方法。
[0003] 关键字驱动测试的实现思路是;将实施软件测试过程中必要的操作分别封装成与 业务无关的关键字。编写自动化测试用例时,为每个测试步骤指定一个关键字,同时附加上 与业务相关的参数。测试用例是包含若干个测试步骤的序列。该样就实现了测试逻辑和操 作的分离,减少禪合,从而降低维护成本。
[0004]目前有很多关键字驱动测试的方法,但普遍都是针对具体被测软件的某个方面例 如某种操作系统设计实现的,通用性差,难W应对复杂多变的测试需求。

【发明内容】

[0005] 本公开实施例提供一种基于关键字驱动的软件测试方法、软件测试管理装置、软 件测试运行装置及软件测试系统,用W解决目前关键字驱动测试的方法通用性差的问题。
[0006] 根据本公开实施例的第一方面,提供一种基于关键字驱动的软件测试方法,包 括:
[0007] 接收被触发的测试任务,为所述被触发的测试任务分配测试运行装置;所述被触 发的测试任务包含测试用例,所述测试用例的测试步骤中引用预设格式的关键字,所述预 设格式包含关键字命名空间字段,所述关键字命名空间字段用于支持至少一种操作系统; [000引向被分配的测试运行装置发送测试任务信息,W使对应的测试运行装置在接收到 所述测试任务信息时,获得对应的测试文件,并从所述测试文件中解析出测试用例,根据解 析出的测试用例的测试步骤包含的关键字调用对应的关键字函数进行软件测试,并返回测 试结果;
[0009] 接收所述测试结果,并根据所述测试结果生成测试报告。
[0010] 在一实施例中,所述向被分配的测试运行装置发送测试任务信息,包括:
[0011] 通过分布式服务框架zookeeper向被分配的测试运行装置发送测试任务信息。
[0012] 在一实施例中,所述方法还包括:
[0013] 提供测试用例输入界面,接收测试人员在所述测试用例输入界面上输入的测试用 例W及对输入的测试用例的测试步骤进行的配置,并当接收到测试人员触发的保存操作 时,将输入的测试用例转换为自动化测试用例,并保存至数据库中。
[0014] 在一实施例中,所述方法还包括:
[0015] 当接收被触发的测试任务时,生成一条测试任务执行记录,从所述数据库中读取 对应的自动化测试用例的测试步骤,并将读取的测试步骤W预设数据格式保存在所述测试 任务执行记录中。
[0016] 在一实施例中,所述预设数据格式包括JSON格式、XML格式或YAML格式,所述测 试任务信息包括对应测试任务的测试任务执行记录标识,所述输入的测试用例包括初始测 试用例和/或修改后的测试用例。
[0017] 在一实施例中,所述方法还包括:
[001引基于预设算法生成并保存所述测试用例与所述被分配的测试运行装置的对应关 系,并接收所述测试运行装置发送的数据获取请求,所述预设算法包括平均分配算法;
[0019] 根据所述数据获取请求和所述对应关系获得对应测试运行装置负责执行的测试 用例,并将每个测试运行装置负责执行的测试用例封装为一个所述测试文件,并向被分配 的测试运行装置返回对应的测试文件。
[0020] 在一实施例中,所述方法还包括:
[0021] 在所述接收测试人员对输入的测试用例的测试步骤进行的配置之前,接收测试人 员输入的关键字和触发的保存操作,并将所述关键字保存至所述数据库中。
[0022] 在一实施例中,所述接收测试人员对输入的测试用例的测试步骤进行的配置,包 括:
[0023] 接收所述测试人员在提供的测试步骤配置页面上输入的关键字及为所述关键字 设置的参数。
[0024] 在一实施例中,所述方法还包括;
[0025] 在所述接收测试人员对输入的测试用例的测试步骤进行的配置之前,接收测试人 员输入的测试环境、至少一个环境组件项及其所属的环境组件类型和触发的保存操作,并 将所述测试环境、至少一个环境组件项及其所属的环境组件类型保存至所述数据库中。
[0026] 在一实施例中,所述接收测试人员对输入的测试用例的测试步骤进行的配置,还 包括:
[0027] 接收测试人员在提供的测试步骤配置页面上选择的一个环境组件项。
[002引在一实施例中,所述通过分布式服务框架zookeeper向被分配的测试运行装置发 送测试任务信息,包括:
[0029] 查询所述zookeeper上是否存在W被分配的测试运行装置标识命名的临时节点, 若存在,则向存在临时节点的测试运行装置发送所述测试任务信息。
[0030] 根据本公开实施例的第二方面,提供一种基于关键字驱动的软件测试方法,包 括:
[0031] 接收测试管理装置发送的测试任务信息,根据所述测试任务信息从所述测试管理 装置获得对应的测试文件,所述测试任务信息为所述测试管理装置接收被触发的测试任务 后发送的,所述被触发的测试任务包含测试用例,所述测试用例的测试步骤中引用预设格 式的关键字,所述预设格式包含关键字命名空间字段,所述关键字命名空间字段用于支持 至少一种操作系统.
[0032] 从所述测试文件中解析出测试用例,根据解析出的测试用例的测试步骤包含的关 键字调用对应的关键字函数进行软件测试,并向所述测试管理装置返回测试结果,W使所 述测试管理装置根据接收的所述测试结果生成测试报告。
[0033] 在一实施例中,所述根据解析出的测试用例的测试步骤包含的关键字调用对应的 关键字函数进行软件测试,并向所述测试管理装置返回测试结果,包括:
[0034] 针对解析出的每个测试用例的每个测试步骤,根据当前测试步骤包含的关键字调 用对应的关键字函数,并通过所述关键字函数读取对应的参数或者通过所述关键字函数读 取对应的参数和环境组件W执行测试,重复上述操作,直至完成当前测试用例的所有测试 步骤,并按顺序保存当前测试用例的每个测试步骤的执行结果,然后向所述测试管理装置 返回当前测试用例的执行结果。
[0035] 在一实施例中,所述接收测试管理装置发送的测试任务信息,包括:
[0036] 通过分布式服务框架zookeeper接收测试管理装置发送的测试任务信息。
[0037] 在一实施例中,在所述通过分布式服务框架zookeeper接收测试管理装置发送的 测试任务信息之前,所述方法还包括:
[003引在启动时在所述zookeeper上创建一个W对应测试运行装置标识命名的临时节 点,在关闭时在所述zookeeper上删除所述W对应测试运行装置标识命名的临时节点,W 便所述测试管理装置根据是否存在所述临时节点来确定是否发送所述测试任务信息。
[0039] 根据本公开实施例的第=方面,提供一种基于关键字驱动的软件测试管理装置, 所述装置包括:
[0040] 接收分配模块,被配置为接收被触发的测试任务,为所述被触发的测试任务分配 测试运行装置;所述被触发的测试任务包含测试用例,所述测试用例的测试步骤中引用预 设格式的关键字,所述预设格式包含关键字命名空间字段,所述关键字命名空间字段用于 支持至少一种操作系统;
[0041] 发送模块,被配置为向所述接收分配模块分配的测试运行装置发送测试任务信 息,W使对应的测试运行装置在接收到所述测试任务信息时,获得对应的测试文件,从所述 测试文件中解析出测试用例,根据解析出的测试用例的测试步骤包含的关键字调用对应的 关键字函数进行软件测试,并返回测试结果;
[0042] 接收生成模块,被配置为接收所述测试结果,并根据所述测试结果生成测试报告。
[0043] 在一实施例中,所述发送模块,被配置为:
[0044] 通过分布式服务框架zookeeper向被分配的测试运行装置发送测试任务信息。
[0045] 在一实施例中,所述装置还包括;
[0046] 提供接收保存模块,被配置为提供测试用例输入界面,接收测试人员在所述测试 用例输入界面上输入的测试用例W及对输入的测试用例的测试步骤进行的配置,并当接收 到测试人员触发的保存操作时,将输入的测试用例转换为自动化测试用例,并保存至数据 库中。
[0047] 在一实施例中,所述装置还包括;
[0048]生成读取保存模块,被配置为当所述接收分配模块接收被触发的测试任务时,生 成一条测试任务执行记录,从所述数据库中读取对应的自动化测试用例的测试步骤,并将 读取的测试步骤W预设数据格式保存在所述测试任务执行记录中。
[0049] 在一实施例中,所述预设数据格式包括JS0N格式、XML格式或YAML格式,所述测 试任务信息包括对应测试任务的测试任务执行记录标识,所述输入的测试用例包括初始测 试用例和/或修改后的测试用例。
[0化0] 在一实施例中,所述装置还包括;
[0051] 生成接收模块,被配置为基于预设算法生成并保存所述测试用例与所述被分配的 测试运行装置的对应关系,并接收所述测试运行装置发送的数据获取请求,所述预设算法 包括平均分配算法;
[0052] 获得封装返回模块,被配置为根据所述生成接收模块接收的所述数据获取请求和 生成的所述对应关系获得对应测试运行装置负责执行的测试用例,并将每个测试运行装置 负责执行的测试用例封装为一个所述测试文件,并向被分配的测试运行装置返回对应的测 试文件。
[0化3] 在一实施例中,所述装置还包括;
[0054] 第一接收保存模块,被配置为在所述提供接收保存模块接收测试人员对输入的测 试用例的测试步骤进行的配置之前,接收测试人员输入的关键字和触发的保存操作,并将 所述关键字保存至所述数据库中。
[0055] 在一实施例中,所述提供接收保存模块,被配置为;接收所述测试人员在提供的测 试步骤配置页面上输入的关键字及为所述关键字设置的参数。
[0化6] 在一实施例中,所述装置还包括;
[0057]第二接收保存模块,被配置为在所述提供接收保存模块接收测试人员对输入的测 试用例的测试步骤进行的配置之前,接收测试人员输入的测试环境、至少一个环境组件项 和触发的保存操作,并将所述测试环境和至少一个环境组件项保存至所述数据库中。
[005引在一实施例中,所述提供接收保存模块,被配置为;接收测试人员在提供的测试步 骤配置页面上选择的环境组件项。
[0化9] 在一实施例中,所述发送模块,包括:
[0060] 查询子模块,被配置为查询所述zookeeper上是否存在W被分配的测试运行装置 标识命名的临时节点;
[0061] 发送子模块,被配置为在所述查询子模块确定所述zookeeper上存在W被分配的 测试运行装置标识命名的临时节点时,则向存在临时节点的测试运行装置发送所述测试任 务f目息。
[0062] 根据本公开实施例的第四方面,提供一种基于关键字驱动的软件测试运行装置, 所述装置包括:
[0063] 接收获得模块,被配置为接收测试管理装置发送的测试任务信息,根据所述测试 任务信息从所述测试管理装置获得对应的测试文件,所述测试任务信息为所述测试管理装 置接收被触发的测试任务后发送的,所述被触发的测试任务包含测试用例,所述测试用例 的测试步骤中引用预设格式的关键字,所述预设格式包含关键字命名空间字段,所述关键 字命名空间字段用于支持至少一种操作系统;
[0064] 解析调用返回模块,被配置为从所述测试文件中解析出测试用例,根据解析出的 测试用例的测试步骤包含的关键字调用对应的关键字函数进行软件测试,并向所述测试管 理装置返回测试结果,W使所述测试管理装置根据接收的所述测试结果生成测试报告。
[00化]在一实施例中,所述解析调用返回模块,被配置为:
[0066] 针对解析出的每个测试用例的每个测试步骤,根据当前测试步骤包含的关键字调 用对应的关键字函数,并通过所述关键字函数读取对应的参数或者通过所述关键字函数读 取对应的参数和环境组件W执行测试,重复上述操作,直至完成当前测试用例的所有测试 步骤,并按顺序保存当前测试用例的每个测试步骤的执行结果,然后向所述测试管理装置 返回当前测试用例的执行结果。
[0067] 在一实施例中,所述接收获得模块,被配置为:
[0068] 通过分布式服务框架zookeeper接收测试管理装置发送的测试任务信息。
[0069] 在一实施例中,所述装置还包括:
[0070] 创建删除模块,在所述接收获得模块通过分布式服务框架zookeeper接收测试管 理装置发送的测试任务信息之前,在启动时在所述zookeeper上创建一个W对应测试运行 装置标识命名的临时节点,在关闭时在所述zookeeper上删除所述W对应测试运行装置标 识命名的临时节点,W便所述测试管理装置根据是否存在所述临时节点来确定是否发送所 述测试任务信息。
[0071] 根据本公开实施例的第五方面,提供一种基于关键字驱动的软件测试系统,所述 系统包括测试管理装置、通信装置和至少一个测试运行装置,其中:
[0072] 所述测试管理装置为上述的基于关键字驱动的软件测试管理装置;
[0073] 所述通信装置,被配置为支持所述测试管理装置和所述测试运行装置之间的信息 交互;
[0074] 所述测试运行装置为上述的基于关键字驱动的软件测试运行装置。
[0075] 在一实施例中,所述系统还包括与所述测试管理装置相连的数据库;
[0076]
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1