自动化测试的概念证明(POC):
实施 自动化测试(POC) 是至关重要的,最常用的是向一个团队介绍一个工具的一种方法。一旦决定做自动化测试,选定了工具,就是时候为POC创建原型,然后提交给管理层来展示它的实时使用情况以及效益。
要做到这一点:
1、决定在POC中我们将用到的测试用例
2、选择客户最感兴趣的领域可以帮助更好的展示
3、通过一种方式来计划显示手工测试VS自动化测试,证明选择自动化测试在质量上没有退化
4、添加一个运行失败并继而找到缺陷的测试用例--这有助于进一步证实该工具确实可以找到缺陷
5、在任何需要的地方使用断言和验证点
6、明确哪些可以和不能自动化测试的地方。通常,以下几个方面不能自动化测试:
- 视频流
- FLASH内容(非静态内容)
- 非静态图象
7、高亮显示,如果该工具满足以下要求:
- 它可以自动完成应用程序的所有的关键功能
- 是否在项目中要求的同一浏览器中进行自动化测试
- 自动化测试会在每一次应用程序里调用而变化?(就比如:对自动化测试而言最重要的在于每一个元素标识符是唯一的、不会因为在网页中被调用而改变)
POC的结果 -通常是下列之一:
1、工具符合项目要求--进一步的细节,例如,实施成本-谈判价格是必要的,最后确定的许可费、培训以及支持成本,咨询和实施支出等。在开源工具的情况下,确定工具的成熟度和学习曲线,以及是否可以获取学习资源和后续支持,不论是授权的工具还是开源工具,都需要考虑维护成本。需要牢记的是,这些好处在很长一段时间内才是巨大的。
2、工具不符合要求且有其局限性,则不再考虑该工具。
3、工具部分符合要求--重新审视和检查假如有一个能更好的满足要求,或完全与自动化无关。
一旦我们向管理层提出我们的概念证明,并得到了他们的批准。下一步就是在试点项目上尝试该工具。
POC模板:
没有一个完美的POC模板。它的模板一般包括:
1、POC要求
2、POC备选项(所有的自动化工具)
3、项目要求
4、基于项目需求的每一种工具的优缺点
5、POC的结果
这里有几个参考自动化POC模板:
= > POC模板1
= > POC模板2
实施试点项目:
我们应该确定我们的试点项目:
- 量化商业案例,这将决定我们是否应该使用这个工具。
- 定义命名规则和应用工具的各种指南。
- 工具的好处,包括财政及其他各方面的好处。什么可以做,什么不能做,以及可能的解决方法。
第1步# 选择测试案例
- 从客户端角度的重要的模块或功能
- 容易证明的功能
- 测试用例难以手动测试,但自动化将简化那些测试
- 破碎的功能,用来演示自动化如何帮助识别失败的测试案例
第2步# 自动化框架开发
测试自动化框架是一组概念、过程、程序、实践和环境的集合。这只不过是一个集成的系统,由规则组成,来自动化测试任何给定的产品。该系统包括一系列的功能库、API、测试数据、对象库以及各种其他模块。用于测试自动化的框架和方法脚本,对它本身的成本有影响。
以下的脚本技术可以使用:
- 线性
- 混合
- 数据驱动
- 关键字驱动
- 结构化
使用上述任何技术,都可以设计一个测试框架,以帮助实现一个特定的格式来推动测试,简化测试执行和报告。
确定模板、对象的命名规则、测试用例、测试套件、数据仓库等。
第3步# 脚本开发与执行
第4步# 报告
该工具是否具有内置的报表功能?内置的报告能够准确地传送所有需要的信息吗?我们需要另一个工具,如水晶报表,reportNG等来达到报告的目的吗?
第5步# 维护自动化脚本
向利益相关者说明:
正如概念证明和实施试点项目十分重要一样,将其以正确的方式呈现也同样重要。以下几点将有助于用一种积极的方式呈现:
1、通过描述在每个测试周期中,手动测试有多么耗费精力,手动测试中面临的挑战以及如何通过自动化测试来解决问题来开始说明。
2、解释基于概念证明如何选择工具
3、自动化工具的突出特点及其如何满足测试要求
4、同时通过自动化运行,说明自动化工具如何不仅更快的测试执行,同时还有它执行验证和错误识别的能力。
5、演示报告如何显示测试用例的执行状态
6、突出报告功能,如通过彩色的图例来显示不同的测试状态,不同的测试情况下,失败的测试案例的快照,并报告可移植性
7、最后展示每一个测试周期减少的测试时间
8、解释如何实现你已经开发的整个自动化框架,以及它在使用和维护方面的好处。
做好回答一个简单的、关键的功能将需要多少时间来自动化的问题的准备 。除此之外,如果应用程序发生一个小的变更,将需要多少脚本变更以及需要多少时间来修改。
我们希望本指南能帮助你开始写一个自动化测试POC文件。 如果你有什么问题,欢迎来稿。
【英文原文:http://www.softwaretestinghelp.com/implement-proof-of-concept-poc-in-automation-testing/】
{测试窝原创译文,译者:海燕}
译者简介:海燕,09届大学本科毕业,计算机科学与技术专业,7年软件测试行业经验