测试自动化以及自动化框架
作者:网络转载 发布时间:[ 2016/10/17 14:41:00 ] 推荐标签:自动化测试 自动化框架
那么,如果在一开始选择仅支持一到两个高优先级的环境,首先部署手动测试,随后对某个测试进行自动化,这种做法会不会更好一些呢?
其实,只要你能够减少测试的成本(或者至少能够预期成本的减少),同时交付可维护的自动化脚本,这正是控制成本的管理人员所乐于见到的。在实际实现背后的测试用具或许规模庞大,并且对于运行这些测试用例来说更为重要,但我们应具体情况具体分析。一般来说,在运行第一批脚本的时候,你不大会用到所有的测试用具。因此,我认为更重要的地方在于提供一个一致的测试自动化方案的架构,它能够允许你今后对测试用具进行扩展,而不是一上来要完成所有的测试用具。
你可以在这里找到一种可扩展的测试自动化架构的描述,这是一种分层的测试方案。它的做法是将代码分解为多个独立的层,并创建相应的Page Object对象。这种做法不需要你投入大量的时间,却能够为终的方案带来很大的可维护性。而且,终的方案能够在一种还是多种操作系统、web浏览器上工作,这一点真的并不重要,我们可以随后为其添加多平台的支持。
另一个值得一提的重要领域是关键字驱动的框架,这种途径意味着你首先需要开发出一个框架(一个关键字的集合),随后才能够通过将这些关键字链接在一起的方式开发测试脚本。
我个人认为这种做法是一种糟糕的实践。首先,在电子表格中进行开发非常容易出错,任何一个拼写错误都会造成错误,并且难以通过调试发现。此外,如果你在编写业务逻辑,而生成的测试却不会调用这些逻辑,那好像在开发应用程序的业务逻辑时不提供任何单元测试、或是不提供用户界面一样。另外,你永远都无法预先估计你需要开发多少条关键字,才能够让一定特定的测试得到足够的关键字,从而满足测试脚本的需求。
一种推荐方法
我将描述一种我个人对测试自动化方案进行计划的方法,按照我的经验来看,这种方式已经证实了它的正确性,不过它也只是“正确的做法”之一。
1.客户对于引入测试自动化这种做法的期待是什么?对于当前项目的时间表与技术能力来说,测试自动化是否真的可行?我的看法是,在某些时候,在这一阶段对此问题的回答是“测试自动化完全不适合于实现你的目标”。出现这种情况的一种可能是:自动化的开发工作与所获的益处相比,所投入的精力过于巨大。
2.了解将测试系统的技术,并且选择适合的自动化工具以模拟用户的行为也非常重要。
3.那么,我们应当选择怎样的方式呢?我在这里要区分两种主要的方式,即“快速而粗糙”的方式,以及“基于解决方案”的方式。“基于解决方案”的方式在上文已经描述过了,“快速而粗糙”则意味着可以说这种方式“只能够在我的机器上运行”。只需一些基本的投入,你能够立即得到一些结果。对于性能测试来说,这种方式不失为一种良好的选择,因为获取系统的性能参数有时(但也并非总是如此)是一种一次性的活动。
4.计算整个实现方式的实际收益率,建立一个小型的概念验证,以了解每次发布时手动运行回归测试与冒烟测试的时间,以及运行的次数。这样一来,我们能够理解这种方式所减少的时间成本(也意味着金钱)。
5.为测试的实现提出一种基于阶段的路线图。在每一阶段,主要的交付内容是一些自动化的测试脚本,以及使这些脚本实现优化所必需的框架特性。
结论
在进行测试评估时,我倾向于讨论测试自动化的解决方案。在整个产业都在选择敏捷开发的现阶段,应用程序的各个部分将陆续交付,并保证能够工作及一致性。那么,为什么在进行测试自动化时不选择同样的策略呢?对于完全专注于开发框架这种策略,我们应当坚决说不!我们应当进行增量式的交付(即自动化脚本的部分子集,以及运行这些脚本所必需的部分测试用具),以实现优的、快的收益率
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
手工测试与自动化测试的区别如何提升接口自动化测试效率?手动测试和自动化测试的区别自动化测试真实项目工作流程,5个重要阶段自动化测试自行脚本后怎么查看日志?使用AR查看日志方法了解ios自动化测试要知道哪些知识?两种自动化测试工具AutoRunner与Selenium的对比给你一个网站,你如何来做自动化测试的?Web网站测试流程及方法Android自动化测试框架有哪些?有什么用途?什么样的项目适合做自动化?自动化测试人员应具备怎样的能力?为什么要进行自动化测试?自动化测试发展的怎么样了?如何对微信小程序进行自动化测试?自动化测试的行业现状是怎样的?未来的发展方向在哪?自动化测试很难,那么软件测试为什么要坚持自动化呢?关于Selenium自动化测试框架的较佳设计模式关于Selenium自动化测试框架那些你不知道的事
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南