- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从理论到⼯具-带你全⾯了解⾃动化测试框架
什么是⾃动化测试框架
01
什么是框架
框架是整个或部分系统的可重⽤设计,表现为⼀组抽象构件及构件实例间交互的⽅法。它规定了应⽤的体系结构,阐明了整个设计、协作构
件之间的依赖关系、责任分配和控制流程,表现为⼀组抽象类以及其实例之间协作的⽅法。
框架⼀般是成熟、稳健的,它可以处理系统很多细节问题,⽐如,事物处理,安全性,数据流控制等问题。还有框架⼀般都经过很多⼈使
⽤,所以结构很好,所以扩展性也很好,⽽且它是不断升级的,可以直接享受别⼈升级代码带来的好处。
02
什么是⾃动化测试框架
⾃动化测试框架是为⾃动化测试⽤例或者脚本提供执⾏环境⽽搭建的基础设施。⾃动化测试框架有助于有效地开发、执⾏和报告⾃动化测试
⽤例。
1、优点:
代码复⽤
提⾼测试效率
更⾼的测试覆盖率
维护成本低
更早发现和记录bug
2、框架的基本组件
需要配置⽂件管理
⼀般需要⼀个配置⽂件去控制⼀些环境信息、开关。配置⽂件可以是txt/xml/yaml/properties/ini,⼀般.properties使⽤较多在
JAVA⾥,Python的话通常会选择ini⽂件。
业务逻辑代码和测试脚本分离
如果代码和脚本在⼀个类⽂件,那么就根本没有⽤到代码重构,复⽤。代码和⽤例⽂件分离后,会更加清晰,可以有更多⼈开发脚本,
⽅便调试。
报告和⽇志⽂件输出
执⾏了多少case,case结果如何,这都需要报告来展⽰,⼀般采⽤第三⽅插件来实现这个功能。好多报告格式是html,简单,明了的
风格。⽇志输出也很重要,如果发⽣报错,脚本执⾏失败,通过⽇志快速定位发⽣问题位置。
⾃定义的库的封装
很多功能需要重复调⽤,可以写成⼀个公⽤⽅法,放到⼯具包下,每次⽅便调⽤,例如浏览器引擎类和basepage.py的封装。
管理、执⾏脚本⽅式
例如Python中单元测试框架unittest使⽤率⾮常⾼。
第三⽅插件引⼊
有时候⼀些功能需要借助第三⽅插件,能够更好实现,例如AutoIT(来实现⽂件上传和下载)。还有利⽤第三⽅报告插件⽣成基于
html格式的测试报告。
持续集成
git、svn、ant、maven,jenkins,我们会把这整合到jenkins,达到持续集成,⼀键执⾏测试脚
03
为什么需要⾃动化测试框架
使⾃动化测试的实施更容易:⼀个好的⾃动化测试框架是可以让不那么懂技术的⼈也可以写⾃动化测试脚本。
解决⾃动化测试脚本本⾝存在的问题:如异常处理和场景恢复。
测试易于维护。
可重⽤性:可以实现⼀些通⽤功能,简化脚本开发过程。
测试报告美观易读。
04
判断是否需要⾃动化测试
⾃动化测试成本投⼊⾼,风险⼤,并且不是所有的项⽬都适合⾃动化。⾃动化测试的优势在于反复迭代,它的价值产出在于长期的回归测
试,以保证被测产品长期稳定地版本更新。
适⽤项⽬:
项⽬周期要长,且需求不会频繁变更。
系统中多数对象要可以被识别,并且不存在⼤量第三⽅插件。
02
⾃动化测试框架的类型
01
⾃动化测试框架的分类
下⾯是⽬前流⾏的各种类型的⾃动化测试框架。这些框架可能基于对不同关键因素(例如驱动类型、可重⽤性、易于维护等)进⾏⾃动化的
⽀持⽽彼此不同。
1、基于模块的测试框架:
这种框架将整个“测试中的应⽤程序”分为许多逻辑和独⽴的模块。对每个模块,创建⼀个独⽴的测试脚本,这些脚本结合在⼀起时,会构
建成更⼤的测试脚本,代表多个模块,这些模块被抽象层隔开,这样在应⽤程序的各个部分所做的更改不会对该模块产⽣影响。
缺点:在为每个模块实现测试脚本的同时,测试数据已经嵌⼊到测试脚本中,这导致使⽤不同的测试数据进⾏测试时需要在测试脚本中
进⾏操作。
2、库架构测试框架
库体系结构测试框架是建⽴在基于模块的测试框架之上,但⽐后者有⼀些额外的优势。它没有将测试的应⽤程序划分为测试脚本,⽽是划分
为函数。因此,为测试中的应⽤程序创建⼀个由公共函数组成的公共库,当需要时,可以从测试脚本中调⽤这些库。
它的基本原理就是确定通⽤的步骤,并将这些步骤分组到公共库下的函数中,在需要的时候在测试脚本中调⽤这些函数。
⽐如:⼀个登录的步骤,可以把它组合成⼀个函数,并保存到⼀个库中,登录时可以直接从库中调⽤这个函数,⽽不需要重新再编
写代码。
缺点:像基于模块的框架⼀样,测试数据嵌⼊测试脚本中,改变数据需要修改脚本;随着越来
您可能关注的文档
- 嵌入式软件开发课程设计-俄罗斯方块游戏.pdf
- 企业文档管理系统-文档资料.pdf
- 禅道项目管理系统实施说明.pdf
- 《精选18套试卷》辽宁省大连西岗区七校联考2021年物理八年级第二学期期末学业水平测试试题含解析.pdf
- 2022年辽宁省普通高中学生学业水平考试信息技术真题.pdf
- 辽宁省抚顺一中2020学年高一英语下学期学业水平模拟测试试题.pdf
- 辽宁省沈阳市2015年学业水平测试预测数学试题2 Word版含答案.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷A卷.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷D卷.pdf
- 辽宁省沈阳市2018年学业水平测试预测数学试题1Word版含答案.pdf
文档评论(0)