数据驱动和关键字驱动的研究与应用

来源 :软件 | 被引量 : 0次 | 上传用户:echo19
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:测试自动化是大型软件测试的一个重要测试环节,可以节省测试人力,对待测软件做最基本的评估,作用不可替代。但是自动化测试如果组织设计不到位,测试效果会比较差,已经做好的自动化成果也不能得到很好的应用。本文介绍的数据驱动和关键字驱动就是让测试数据从自动化脚本中分离出来单独维护,很好的解决了测试脚本的重用和维护问题。
  关键词:自动化测试;数据驱动;关键字驱动;测试库
  中图分类号:TP39 文献标识码:A DOI:10.3969/j.issn.1003-6970.2016.04.021
  0 引言
  用户需求月新日异,软件的升级和换代很频繁。软件新老版本数据、功能的兼容性是必须要保证的,所以软件测试中数据核查和比对是非常常见的测试内容。这项工作繁琐而重复,而且极容易出错,迫切需要实现自动化比对。
  自动化测试的最基本要求是,测试内容重复、测试结构单一、测试用例变化比较小。可是我们实际面对要比对的数据却是多种多样的,导致自动化测试脚本频繁变更,增加了脚本的测试和维护成本。基于上述问题,本文参考现今比较流行的关键字驱动技术,实现了测试数据和测试脚本分离。这样测试人员只需要按照一定格式来编写数据,定义对应的测试动作(关键字)就能实现自动化比对。在软件测试的过程中,需要对软件产品的重要参数进行比对。如果需要比对的参数的数目巨大。手工测试的工作量就比较大。
  本文研究了当前最主要的自动化测试方法,并在这些方法中找到最适合本软件的自动化测试方法。以实现自动化比对软件参数为例,本文介绍了几种自动化测试方法。重点介绍关键字驱动的自动化测试的基本理论,并且在实践中使用了关键字驱动自动化测试,分析了关键字驱动测试的优点和缺点,得出了其良好的可执行、可推广的特性。
  1 测试脚本和测试库
  自动化测试即是直接对被测对象编写测试脚本,实现自动化测试,如图:
  如果被测对象比较复杂,测试脚本也要[模块化],从而实现脚本重用,即是测试库。如图:
  这种通过编写测试脚本直接测试被测系统解放了繁琐的手工测试,无疑是一个重大进步。但是测试人员新增了测试脚本的学习维护工作,需要有比较强的编码能力,不适合自动化测试的推广和优化。
  2 数据驱动
  针对上面说的缺点,研究人员推出一种新的测试技术,即数据驱动。数据驱动简单的说:将测试数据从测试脚本中分离出来。熟悉被测系统业务的测试人员负责编写测试数据,具有编码能力但不熟悉业务的测试人员负责编写测试脚本,测试脚本分析、解释测试数据,调用已有测试函数,完成测试。
  数据驱动的测试示意如下图:
  在实际项目中,测试库和测试脚本一般都是由一个团队完成,这个团队熟悉编码技术,熟悉最前沿的测试继续,所搭建的测试框架能很好的把被测系统和测试数据有效的链接起来。
  测试数据和被测系统是另外一个团队完成,这个团队熟悉被测系统的所有业务,能熟练编写有效的测试数据,能有效使用驱动脚本实现自动化测试。
  本文要解决的自动化测试需求是:如果操作前参数编号一致,表示是同一个参数,参数值一致表示处理正确。测试数据格式如下:
  数据驱动自动化测试的优点:
  按照这种方式组织的自动化比对,测试人员只需要维护好如上表格。测试时执行一次脚本,即使有几千个参数,也能在几秒内完成测试。再借用robot framework实现原始数据的自动提取和测试脚本的自动执行,几乎可以完全脱离人工操作。
  数据驱动自动化测试的缺点或限制:
  数据与脚本分离方式的自动化测试的最大限制是,被测对象相对单一,执行操作必须完全一致,参数格式和个数有严格限制。例如表1中,如果对比的不是一个参数,而是参数编号和参数名都可能有变化,这种数据驱动方式就不太容易处理。
  3 关键字驱动
  相比数据驱动,关键字驱动的显著改进是把执行操作作为关键字单独列出来解析。对不同的关键字做不同的操作,这样就能摆脱数据驱动的关键束缚:只能执行一种操作。这样需要解析器不仅能解析数据还要能解析关键字。如图:
  如果发生需求变化,需要同时进行单参数和多参数比较两种操作。多参数比较需要同时比较参数编号和参数名称(文中为参数1和参数2),再确认是否是同一参数,关键字驱动测试数据格式如下:
  关键字驱动自动化测试的优点:
  测试人员根据实际需要设计表格,测试脚本读取分析表格,执行测试用例。如果测试需求发生变化,可以追加定义关键字,追加测试库的编写,对原有测试脚本没有任何冲击,维护方便。
  另外,由于测试数据完全独立与测试脚本和被测代码,所以测试数据完全可以在测试脚本代码实现以前就完成编写,并由此推动测试脚本的编写。
  关键字驱动自动化测试的缺点和限制:
  数据表格相对复杂,增加了脚本解析的难度。不过,Python语言具有强大的文本处理能力,分析处理这种格式的表格还是比较容易的。
  在实践中,我们主要采用关键字驱动自动化测试方式来组织数据和编码实现。
  4 实现介绍
  在实际测试中,本文用python来实现文本和表格的解析和比对,实现测试库的编写。用robotframework搭建测试框架,调用测试库以实现文本的自动提取、分析、比对和测试结果的输出。
  输出日志如下:
  Test1 pass
  Test2 pass
  Test3 pass
  ……
  Test300 pass
  OUTPUT D:\测试比对结果\result.xml
  5 总结
  通过对比几种自动化测试方法,我们最终使用关键字驱动同时结合数据驱动方式来组织我们的自动化测试。脚本基本能做到一次成型,后继有新需求只是追加脚本,对原有脚本没有任何影响。
  测试脚本和测试数据完全分离,实际测试人员只需要具备最基本的文本编辑能力就能完成所有测试任务。新脚本能完全兼容旧的测试数据,大大降低维护成本。类似本文描述的需求,各种产品、各种系统都可以参考,实现方便。
其他文献
吴长根于1978年毕业于中国安徽大学,后于1982至1983年在加拿大英属哥伦比亚大学商业学院学习。现任摩根士丹利董事总经理、亚太区副主席兼中国投资银行业务主管。曾直接负责过
摘 要: 本文以英语专业四级阅读题型改革作为切入点,提出英语考试题型改革的必要性及其对英语专业阅读教学的影响,并提出应对策略。  关键词: 阅读教学 题型改革 阅读理解 高效阅读  一、英语专业四级阅读试题改革的背景与必要性  自英语专业四级考试开始实行之后,英语专业四级考试的题型经历了两次较大的改革。第一次改革是2005年,第二次是2015年,可以说是十年一变。这次改革的度很大,在听力、语法、完
摘 要: 党的经典著作是共产党人的智慧结晶,蕴含了共产人为共产主义事业奋斗的宝贵经验。鉴于当代大学生党员对党的经典著作阅读不积极、阅读量少等情况,通过各种途径,倡导他们认真研读党的经典著作,充分理解和支持党的理论、方针、政策,树立正确的价值观、人生观、世界观,坚定共产主义信念,提高自身党性修养,成为合格的中国特色社会主义事业接班人。  关键词: 大学生党员 经典著作 党性修养  经过时间沉淀和实践
旌阳农机的领头人──记德阳市中区旌阳乡农机站站长彭从富本刊记者袁志英改革的年代是造就英雄的年代,它为各路英雄豪杰提供了驰骋疆场、一展才华的机会.实践告诉我们:成功属于
随着Hadoop生态的普遍应用,Hadoop生态日渐增长,Hadoop这样分布式系统的也日益变得庞大,庞大系统的维护和监管也变成一项艰难的任务,Hadoop生态系统的维护和管理也越来越重要,Amabri作为一款Hadoop分布式生态系统的管理工具,逐渐在各公司所企业所接受,但是Ambari目前只能管理系统源码中指定的服务,本文介绍了Ambari的功能,通过分析Ambari的功能和内部实现。将一款自
平时工作经常把要保存或发送的资料进行压缩,使其容量较小,更便于管理和从网络发送,这时,压缩软件就成了我们必不可少的工具软件.本文将介绍如何用WINRAR软件让被压缩文件的