Clayton Neal在软件测试和质量保证方面有超过13年的经验,其中有八年的Windows, web,和移动应用程序的测试自动化经验。他在测试领域的所有等级都工作过。近他在Bloomberg and Misys担任QA经理。同时他还是Sogeti的自动化测试顾问。Clayton对自动化测试超迷恋,还见识了如何亲自成功实施测试自动化。 |
测试自动化的好处我们都很清楚,更快地反馈问题,减少手工测试,持续集成是其中随口可举的。测试团队成员越多,公司使用自动化越多,越好。为此,我们必须脱离实施测试自动化的技术方面,而去考虑编写和运行自动化测试的非技术员工层面。无论开发团队是否在做敏捷验收测试驱动开发(ATDD),敏捷行为驱动开发(BDD)或使用传统的瀑布方法,团队可用来进行自动化的成员越多,自动化测试覆盖范围越广。
关键字驱动测试是一种由自动化工程师开发被测应用程序内可重复使用行为的方法。然后非技术用户可以用任何输入参数将所得的可重复使用的关键字行为库进行排序,确定测试用例。比如,一个关键字可以是点击按钮(在一个按钮控件上点击)或输入文本(在一个文本框控件中输入文本),然后这些关键字可以被用来填写一个登录表格并点击 OK按钮。该方法的好处是:自动化工程师集中干他们擅长的,即开发关键字的测试自动化的脚本或编程;非技术测试员和企业用户使用这些关键字并基于他们的领域和产品知识来编写测试用例,后使得自动化更加有效。
▪机器人框架是一个一般的基于关键字的测试自动化框架,它不依赖于任何一个特定的自动化工具(如:QTP, Ranorex, TestComplete, Selenium等),却让自动化工程师插入用这类自动化工具的关键字。机器人已经安装了许多关键字并拥有一个非常成熟的功能集,包括:关键字的条件执行
▪ 测试用例和测试集的[setup]和[teardown]
▪ 数据驱动关键字文件,目录及流程管理的FOR循环
▪ HTML测试报告
▪詹金斯CI集成将变量变为一个关键字并从测试用例关键字的关键字标注返回
▪后列出的功能即能够在现有关键字上创建关键字,确保如图1所示的“关键字金字塔”的增长。
金字塔底层是由自动化工程师开发的技术关键字构成:顶端是应用程序内进行单个功能行为的功能关键字:后,我们将基于功能关键字的业务流程关键字总结为在应用程序内构建业务流程。这种分层的一个例子如表1所示。