目录

前言

一、线性测试

二、模块驱动化测试

三、数据驱动测试

四、关键字驱动测试

五、综合自动化测试

总结

重点:配套学习资料和视频教学


前言

所谓的自动化测试模型,可以理解为自动化测试框架+工具设计的一种思想产物。

先说说库、框架、工具之间的区别:

库:英文名Library,由代码集成的一个产品,供用户调用。面向对象的库叫做类库,面向过程的库叫做函数库,webdriver就属于库的范畴。

框架:英文名Framework,为解决一个或一类问题而开发的产品,一般只需要使用框架提供的类或函数,即可实现全部功能。前面的博客中提到的unittest框架,

主要用于实现测试用例的组织和执行,以及测试结果的生成,因此通常称它为单元测试框架。

工具:英文名Tools,相对框架来说更抽象,屏蔽底层代码,一般提供单独的操作界面供用户使用,像QTP、selenium IDE就是自动化测试工具。

自动化测试发展至今,常见的测试模型有以下几种类型:

一、线性测试

早期的自动化测试,就是通过录制或者编写应用程序的操作步骤产生相应的线性脚本,来模拟用户完整的操作场景。

优点:单个脚本相对完整,且独立,可拿出来单独执行;

缺点:开发成本很高,测试用例之间可能存在重复操作,每次都要录制或编写重复的操作,比如用户登录;

维护成本很高,因为存在重复操作,因此如重复操作发生变更,就需要包含重复操作的用例都需要进行修改;

二、模块驱动化测试

将重复的操作独立封装为公共模块,用例执行过程中需要用到时调用该公共模块,最大限度地消除重复操作;

优点:提高开发效率,不用重复编写相同的脚本;

简化了维护的复杂性,如果某个地方发生变化,只需要修改变更内容即可;

三、数据驱动测试

即根据数据的改变去驱动自动化测试的执行,最终引起测试结果的改变,简单来说,数据驱动就是数据的参数化,因为输入的不同而引起输出的不同。

数据驱动的方式很多,无论读取的是定义的数组、字典,或是外部文件(excel、csv、txt、xml等),都可以看做数据驱动,目的都是实现数据与脚本分离。

优点:增强脚本的复用性,比如用户登录模块,使用不同的数据进行登录,这样可以很好地适用于相同操作不同数据的情况。

四、关键字驱动测试

关键字驱动和数据驱动很相似,通过关键字的改变引起测试结果的改变,也称之为表格驱动测试或基于动作字的测试。

关键字驱动基本上将测试用例分为4个不同的部分,分别是:

测试步骤(Test Step)、测试步骤中的对象(Test Object)、测试对象执行的动作(Action)、测试对象需要的数据(Test Data)。

目前典型的关键字驱动工具以QTP(最新版本叫做UTF)和Robot Framework为主,前者为商业工具,后者开源。

这类工具皆封装了底层代码,提供独立的图形界面,只需使用工具所提供的关键字,以“填表格”的方式来编写用例即可。

缺点:个人认为,这种傻瓜式的测试模型对个人的技术和经验提升,没有太大帮助,我本人还是比较倾向于写代码去实现自动化测试,毕竟,“代码改变世界!”

不过话说回来,无论是工具还是测试模型,都是辅助我们更好地工作,提升效率;这一点,仁者见仁智者见智,观点不同而已。

五、综合自动化测试

上面的几种自动化测试模型,有各自的适用场景和优缺点,但实际来说,真实的场景往往比我们预估得更复杂,所以,根据实际情况选择合适的测试模型,综合使用不失为一种比较合理的做法。

个人认为,成功的自动化测试模型,通常都融合了“模块驱动”+“数据驱动/关键字驱动”,优点如下:

1、即拥有脚本与测试数据相互分离的优点,又结合了模块驱动的架构,这样会使得测试脚本更加简洁,并减少运行时意外失败的可能性;

2、该架构可以实现一些纯粹的“数据/关键字驱动测试”难以实现的自动化测试任务;

3、大大减少了测试用例的维护复杂性,提升了脚本开发效率,测试脚本的可复用性、移植性较强。

总结

感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

6、Python学习路线图

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。如下,需要的评论区留言或者私信我

 自动化测试学习交流群:

点击链接加入群聊【python自动化测试交流】:

UI自动化测试模型有哪些?我来告诉你相关推荐

  1. 干货 | 基于 BDD 理念的 UI 自动化测试在携程度假的应用

    作者简介 Leo Li,携程高级软件工程师,负责度假 BDD-Test UI 自动化测试框架的研发.维护和迭代等工作. 如今无论大公司还是小公司都越来越重视测试质量.并且前端领域越来越繁荣,前端工程也 ...

  2. 从零开始搭建一个简单的ui自动化测试框架02(pytest+selenium+allure)

    二.先搭一个架子 在我还是小白连py语法都不太熟悉的时候,经常在网上看关于自学ui自动化测试的博客,最熟悉的套路莫过于先给你介绍一下selenium的各个api,然后写一套代码去登陆微博或者百度什么的 ...

  3. ui自动化测试测试报告_您需要了解的有关UI测试的所有信息

    ui自动化测试测试报告 让我们从一个问题开始. 用户在网站上进行互动的第一件事是什么? 接口,当然. 网站的外观是在用户身上产生"第一印象"的第一件事. 交互式Web应用程序可以为 ...

  4. 通用AI元素识别在UI自动化测试的最佳实践

    前言 在UI自动化测试中,元素被识别出来后,才能更加精确地模拟相关用户行为,才能更好地开展自动化的其他内容.一般移动端APP会有页面元素属性,比如:ID,ClassName,Text等,可以方便定位需 ...

  5. UI自动化测试是什么?什么项目适合做UI自动化测试

    目录 前言 1.about自动化测试 2.自动化测试分层 3.什么样的项目适合自动化测试 4.常见的自动化测试工具简介 5.UI自动化测试要不要做? 6.什么样的项目更适合做自动化测试 结语 前言 本 ...

  6. 分层自动化测试模型变与不变

    分层自动化测试模型变与不变 最近在思考自动化分层模型,多少有些相关,所以就赶紧总结出来. 分层自动化测试模型的发展 分层自动化测试模型最早是由Mike Cohn在2009年出版的<Succeed ...

  7. Web UI自动化测试系统设计

    Web UI自动化测试系统设计 1. 自动化测试简介 1.1 什么是好的自动化测试框架 在创建测试自动化框架时,我们应该考虑以下要点: 能够通过使用适当的抽象层快速创建自动化测试 应易于维护和扩展应该 ...

  8. #软件测试###浅谈几个UI自动化测试工具

    一.Selenium 一个web的自动化测试工具,相比QTP而言支持多种语言,QTP只支持VBS,支持多平台,支持分布式测试用例的执行.selenium主要使用的工具是WebDriver. WebDr ...

  9. Android app UI自动化测试 常用的元素定位方法

    本文简要介绍了移动端Android APP进行UI自动化测试时,常用到的元素定位方法 目录 前言 一.通过resource-id定位 二.通过class name定位 三.通过accessibilit ...

最新文章

  1. UVA - 11478 Halum 二分+差分约束
  2. 全球及中国停车场建设产业十四五盈利模式与建设现状分析报告2022版
  3. myBatis抛出异常Result Maps collection already contains value ...
  4. android scrollview 底部控件,Android ScrollView和屏幕底部的按钮
  5. QPainter函数setClipRect
  6. java 异常 检查型和非检查型
  7. Perl连接Oracle数据库的一些操作脚本【转】
  8. selenium+python模拟键盘鼠标操作,python3.6安装pyUserInput
  9. tensorflow(一)windows 10 python3.6安装tensorflow1.4与基本概念解读
  10. ubuntu 恢复被删除的文件
  11. 【采用】金融知识图谱技术与银行业应用研究
  12. pythonds18b20_[python]树莓派第一课之DS18B20温度传感器
  13. macOS Big Sur 11.3.1 (20E241) 虚拟机 ISO 镜像
  14. 木兰词·拟古决绝词柬友(引用)
  15. 2010年6月 工作 计划 发奋图钱 再接再厉
  16. gdpr隐私保护_组织必须遵循的GDPR数据隐私的5个关键原则
  17. 阿里珍贵技术资料免费下载
  18. 【Linux-Windows】猫、路由器、交换机
  19. 议程速递 | 7月27日分论坛议程一览
  20. 13、portal网上报销单据模板配置详细介绍

热门文章

  1. CentOS ping xxx.xxx.xxx.xxx ,未知的名称或服务解决办法
  2. static 和 new对象的区别
  3. 三角测量原理与双目视觉景深恢复
  4. 分享138个ASP源码,总有一款适合您
  5. kafka Steams详解
  6. 基于PUN2的VR多人在线交互解决方案
  7. 和视频 v5.5.8
  8. 做完肠镜检查显示有糜烂,很严重吗?
  9. 电商营销方式有哪些?电商营销数字化参照标准有哪些指标?
  10. 上市公司A股H股交叉上市数据(更新到2022年)