专栏名称: 51Testing软件测试网
51Testing软件测试网,人气最旺的软件测试技术门户,提供软件测试社区交流,软件测试博客,人才服务,测试沙龙,测试杂志,测试资料下载等全方位信息服务,是国内最专业的软件测试就业培训、企业服务供应商...
目录
相关文章推荐
51好读  ›  专栏  ›  51Testing软件测试网

成功的测试自动化执行需要的5个支柱

51Testing软件测试网  · 公众号  · 测试  · 2017-07-20 17:30

正文


概述:

有关什么构成了一个对测试自动化的"合适执行"的讨论常常聚焦于应当使用什么工具,但是那只是等式的一部分。巴斯德基科斯特拉详列了四件应当考虑的事情,以及他们怎样有益于测试自动化的成功,和没有对这四件事的其中一件进行合适的关注所带来的风险。

对于期望快速发布质量的机构来说,运行自动化测试是软件开发生命周期的一个重要部分。然而,测试自动化只有在合理恰当执行的情况下才能成功。对于什么构成了测试自动化的恰当执行的讨论常常聚焦在应当使用什么工具来做这项工作,或者使用最好的(即使已经有了这件东西)或者最有效的方式来使用特定的工具来完成给定的任务。

在我看来,尽管使用的工具是整个测试自动化方程的一部分。任何成功的测试自动化指向都是基于五个不同的部分建立的。

在本文中,我们会来看一下这些部分的每个部分,他们怎样助益于你的测试自动化执行使之成功,以及没有好好关注他们的任何一项所会带来的风险。

1、测试自动化工具

测试自动化工具虽然不是测试自动化执行得以成功的唯一因素,工具显然对你自动化工作的整体结果有着重要的影响。选择一个与你要测试的程序不够兼容的工具,或者不符合你们自动化团队所需要的技能集将很可能会导致不理想的结果。

然而,比工具的选择更重要的是,问自己你到底想用什么来完成你的自动化测试,然后决定一个最有效的达成结果的方式。一个首要的问题需要问的是一个特定的功能片或商业逻辑需要在什么层面上进行验证。

你想确保你的顾客可以打开你们的线上商店,搜索一个具体的产品,然后进行下单付款的操作吗?你很可能想要使用端对端的用户接口驱动的测试来检验这一点。如果你在验证一个决定顾客是否被允许来购买给定的无品(比如,由于国家层面的规制)的逻辑片的正确性,那么你很可能需要能够编写潜入进较低级别的待测程序的测试脚本,例如一个接口甚至一个单独的代码类。这构成了一个针对该测试的不一样的范围和方法,因此,需要一个不同的工具。

简而言之,确保首先你知道要做自动化测试的程序需要验证什么,然后再花费时间去研究怎样取得想要的结果。记住迫使工具去做不是它被设计来做的事情会有很大的风险。

2、测试数据

对于任何严肃的测试自动化方案的另外一个重要因素是采用的管理测试数据的方法。测试的范围越广,测试数据管理就相应地变得越重要和要求高。

在单元测试里,你可以通过模拟所有你的测试依靠的数据来过活,而当你开始启动集成或端对端的测试时,你会需要有特定的数据来做测试。而且,为了让事情更复杂化,你常会需要其他与你的相互连接的程序进行交互的数据处于一个特定的状态。

  • 对于这些类型的测试需要以下几种方式来处理测试数据

  • 在测试建立阶段创建需要的测试数据

  • 开始测试之前询问系统里已存在的测试数据

  • 测试执行之前初始化待测程序的数据库

这里的每个方法都有其潜在的陷阱:

在测试建立阶段创建测试数据增加了测试执行时间,增加了在测试执行开始之前的失败风险,还会导致很多无用的测试数据如果没有合理的数据清理程序的话。

当你在测试开始之前查询系统里已存在的测试数据时,因为意外地使用了无效的测试数据或系统里的测试数据属性不对而导致了风险。

在测试执行前初始化数据库给你留下了数据库的截图来管理和保持数据最新-也就是说,你甚至需要首先被允许执行数据库复原程序。

助益没有正确的处理集成和断对端测试的测试数据的方法。然而,选择错的程序,或者根本没提出测试数据的问题,将很可能会导致产出的测试自动化方案不可重用,不可维护或扩展性不好。

......

源自《51测试天地》原创测试文章(四十六)

推荐阅读

点击阅读☞ Android APP自动化测试框架实战

点击阅读☞ 如何利用Appscan进行自动化定期安全测试







请到「今天看啥」查看全文