基于关键字驱动的城轨传动控制单元自动化测试方法

文档序号:9349862阅读:669来源:国知局
基于关键字驱动的城轨传动控制单元自动化测试方法
【技术领域】
[0001] 本发明涉及城轨的传动控制单元(Drive Control Unit,简称D⑶,一种运用于轨 道交通领域的牵引变流器上的控制器)软件测试技术,具体涉及一种基于关键字驱动的城 轨传动控制单元自动化测试方法。
【背景技术】
[0002] 传动控制单元(D⑶)作为城轨车辆的关键设备之一,有着城轨车辆的"心脏"之 称。对牵引变流器实施精准的控制时,DCU的逻辑控制功能相当重要,承担着牵引系统管理 和通讯的重要功能,直接影响牵引变流器的功能、安全及效率。因此,对DCU的逻辑控制软 件进行软件测试也成为了保证软件质量、提高DCU可靠性的重要手段。
[0003] 随着城轨领域市场扩张迅速、项目数量快速增长、开发进度日趋紧张,客户对于牵 引系统产品质量、可靠性也提出了更加严苛的要求。目前采用人工测试的方式进行DCU测 试越来越面临挑战,由于其存在下述缺点:人工测试效率低下、回归测试效率低下、测试用 例编写工作量大、测试周期长以致测试不充分。这些问题的出现,迫使我们寻求更高效率的 自动化测试,期望减少重复工作、提升效率、降低成本。自动化测试是提高测试效率、降低 重复劳动的有效方式,目前正被广泛应用。它能够完成许多人工测试无法实现或难以实现 的测试,正确、合理的实施自动化测试,能够快速、准确的对软件进行测试,从而提高软件质 量,节约开发成本,缩短产品发布周期。
[0004]目前常用的自动化测试方法大致分为三种:(1)第一种方法是采用测试工具的录 制-回放功能,自动生成测试脚本。该方法实现简单,但劣势明显:不具有逻辑判断能力, 可维护性差,效率低下,代码量大,兼容性差;其可维护性和可重用性都得不到保证。(2)第 二种方法是采用数据驱动测试技术(Data Driven Testing,通过数据来驱动测试业务流的 一种技术)进行自动化测试。数据驱动技术的核心思想是将可变部分(数据)和不变部 分(脚本)分离以降低维护工作量。数据驱动脚本将测试输入数据存储在独立的数据文件 中,而不是绑定在脚本中。这种方法最大的好处是可以用同一个脚本允许不同的数据进行 测试;即使对数据进行修改,也不必修改执行的脚本。该方法劣势在于:初始建立的开销较 大,虽然实现了数据与脚本的分离,但测试逻辑仍与脚本捆绑在一起,导致用户无法自定义 测试过程。(3)第三种方法是采用关键字驱动测试技术(Keyword Driven Testing,使用关 键字来驱动测试业务流的一种技术)进行自动化测试。关键字驱动方式的出现是对数据驱 动方式的逻辑扩展,是通过关键字"驱动"测试业务流的过程。该方式实现了测试脚本、测 试数据、测试业务逻辑的分离,解决了测试数据难以被修改和定制、测试脚本的可重用性、 可维护性差的问题。它实现了一种通用脚本就能驱动多种测试工具执行,弱化测试人员对 特定测试工具语言开发脚本的要求。关键字一边可分为三类:被操作对象(Object)、动作 (Action)和值(Value),用面向对象形式可将其表现为Object. Action (Value)。测试脚本 通过关键字集合的形式体现(测试人员编写脚本的过程就是使用各种关键字描述测试内 容的过程),测试业务逻辑被封装到关键字中,形成数据文件,测试工具只要能够解释这些 关键字即可对其应用自动化。关键字驱动测试技术作为一种成熟的自动化测试方法,已经 被业界广泛的应用于Web等领域的GUI (图形用户接口)测试中,随之也出现了以QTP (即 Quick Test Professional软件,一种具有关键字驱动特色的功能测试工具,可应用于Web 领域的GUI测试)为代表的功能测试工具。基于关键字驱动的通用测试框架参见图1。
[0005] 如图1所示,现有技术的关键字驱动的自动化测试方法的一般流程是通过将数据 和关键字集成在不同的数据表格中来决定测试业务流程,包含关键字的数据表格(上层测 试数据表、中层测试数据表、下层测试数据表)中关联了测试业务逻辑和相应的测试数据, 在脚本驱动引擎的控制下,读取数据文件,解析关键字并调用相应的关键字支持脚本,同时 传递对象和数据,通过关键字支持脚本的执行,实现与被测对象之间的数据交互,对比实际 输出和预期输出,将测试结果写入测试报告。因此,数据文件中包含测试的业务逻辑,指定 需要执行的测试内容、测试步骤,而关键字支持脚本内包含与具体被测对象交互的底层逻 辑,实现了脚本、数据、业务的真正分离。
[0006] 目前,城轨DCU的软件测试以人工测试为主,自动化测试为辅。人工测试方式即 由测试人员编写测试用例,利用配套开发的测试环境手动执行测试用例完成测试过程,存 在人工测试效率低下、回归测试环节效率低下、测试用例编写工作量大的缺点。自动化测 试主要包括应用NI公司的TestStand软件(NI公司的一款自动化测试工具软件,可配合 IabVIEW软件开发自动化测试系统)的自动化测试,该技术方案是配置TestStand测试工具 和测试环境的接口,集成公司自主研发的DCU纯软或者半实物仿真测试台(即测试环境) 软件,并由测试人员利用TestStand自带的脚本开发环境开发并执行测试脚本,完成测试。 但是,该技术方案在脚本开发、维护方面存在劣势:首先,测试人员开发脚本只能使用测试 工具自带的脚本开发环境,需要测试人员具有一定的编程技能才能完成脚本开发,开发出 来的测试脚本中没有对测试数据和测试业务逻辑进行分离,导致一旦需要变更测试就需要 变更测试脚本,脚本维护工作量大,可维护差;其次,测试脚本与被测对象之间耦合度高,测 试脚本复用性差,同类项目之间的测试脚本无法直接借用或维护使用,维护改造的难度和 重新开发一套测试脚本的难度相当,可维护性差。

【发明内容】

[0007] 本发明要解决的技术问题是:针对现有技术的上述问题,提供一种适用于城轨传 动控制单元的自动化测试,对测试人员开发脚本的技能要求降低,脚本易于维护修改,能够 适应不同的测试环境或工具,达到自动化测试脚本复用性高、可维护性和可移植性好,能够 降低测试脚本开发及维护的时间和成本的基于关键字驱动的城轨传动控制单元自动化测 试方法。
[0008] 为了解决上述技术问题,本发明采用的技术方案为:
[0009] -种基于关键字驱动的城轨传动控制单元自动化测试方法,步骤包括:
[0010] 1)确定被测对象的自动化测试范围及包含对象关键字和动作关键字的关键字 集;
[0011] 2)根据关键字集中定义的关键字按照指定的脚本格式编写测试脚本;
[0012] 3)建立基于关键字驱动的自动化测试框架,所述基于关键字驱动的自动化测试框 架中包括用于依次解析测试脚本的测试驱动引擎,所述测试驱动引擎中包括用于根据顶层 测试数据表解析测试脚本的顶层驱动器、用于根据中层测试数据表解析测试脚本的中层驱 动器以及用于根据底层测试数据表解析测试脚本的底层驱动器;确定对象关键字对应对象 所有相关联的IO信号,为所述基于关键字驱动的自动化测试框架构造顶层测试数据表、中 层测试数据表、底层测试数据表以及用于提供底层函数调用以写入脚本底层执行序列文件 的关键字支持库,所述顶层测试数据表包含所有对象关键字及其关联的中层测试数据表索 引的映射关系,所述中层测试数据表包含对象关键字对应对象所有动作逻辑实现及其关联 的底层测试数据表索引的映射关系,所述底层测试数据表提供了参数和关键字支持库中底 层函数之间的映射关系,所述参数是为对象所有相关联的IO信号的抽象表述;所述关键字 支持库封装有与城轨传动控制单元中被测对象直接关联的所有IO信号的底层函数和延时 函数;
[0013] 4)将测试脚本输入基于关键字驱动的自动化测试框架,针对测试脚本中的每一个 对象关键字,基于关键字驱动的自动化测试框架的测试驱动引擎依次调用顶层驱动器查询 顶层测试数据表中的内容、调用中层驱动器查询中层测试数据表中的内容、调用底层驱动 器查询底层测试数据表中的内容,调用关键字支持库的底层函数输出脚本底层执行序列文 件并与被测对象直接交互执行测试。
[0014] 优选地,所述步骤1)的详细步骤包括:
[0015] 1. 1)确定被测对象的自动化测试范围,从自动化测试范围中选择一个待测需求点 作为当前待测需求点;
[0016] 1. 2)确定当前待测需求点的关键词提取规则集;
[0017] 1. 3)根据关键词提取规则集提取当前待测需求点的对象关
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1