学习笔记之自动化测试模型01

自动化测试模型

什么是库

Library
库是将代码集合成一个产品,供程序员调用。面向对象的代码组织形式而成的库也叫类库。面向过程的代码组织形式而成的库也叫函数库
Python:
time,re,system,os,selenium webdriver

什么是框架

Framework
框架则是为解决一个或者一类问题而开发的产品,用户一般只需要使用框架提供的类或函数,即可实现全部功能
Python:
Django,flask,unittest,robot framework

什么是工具

Tools
工具与框架所做的事情类似,只是工具会有更高的抽象,屏蔽底层的代码,一般会提供单独的操作界面供用户操作
seleniumIDE,QTP,jmeter,loadrunner

开发框架的过程:

  1. 学习使用一种延伸至一类框架
  2. 长期使用这一种(类)框架,懂其原理,知其不足
  3. 已经不能满足需求了,自己写一个框架

自动化测试的模型介绍

线性测试

通过录制或者编写脚本,一个脚本完成一个场景(一组完整的功能操作),通过脚本的回放来进行自动化测试。
在这里插入图片描述
优点:每个脚本都是独立的
缺点:用例的开发和维护成本很高

模块化与类库

很多脚本中,其实有不少内容是重复的,所以需要考虑能不能把重复的部分写成一个公共的模块,需要的时候进行调用,这样就可以大大提高我们编写脚本的效率
在这里插入图片描述

数据驱动

数据驱动应该是自动化的一个进步:从它的本意来讲,数据的改变(更新)驱动自动化的执行,从而引起测试结果的改变。这显然是一个非常“高级”的概念和想法。其实,我们可以直白的理解成参数化。输入数据的不同从而引起输入结果的变化。
数据的改变,引起结果的改变
在这里插入图片描述

关键字驱动

理解了数据驱动,无非是把“数据”换成“关键字”,通过关键字的改变引起测试结果的改变
目前上典型的关键字驱动工具以QTP、Robot Framework工具为主。因为这工具类封装了底层的代码,呈现给用户的是带图形截面形式,以“填表格”的形式避免测试人员对写代码的恐惧,从而降低脚本编写难度,我们只要工具所提供的关键字以“过程式”的方式来编写用例即可。
当然,我们得selenium IDE也可以看做是一种传统的关键字驱动的自动化工具:
在这里插入图片描述
上面的脚本由selenium IDE录制并保存的一种形式。当然,QTP和Robot Framework形式也与类似。这样编写脚本的方式虽然比写代码方便多了,但是它又回到了线性测试的阶段,当用例从1到1000的时候,维护成本也会有重级的增长。
当然,关键字驱动技术也在不断发展和进步,以Robot Framework为例,它也可以像编程一样写测试用例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关键字驱动也可以像写代码一样写用例,在编程的世界中,没有什么不能做的,不过这样的用例同样需要一定的学习成本,这样的学习成本与学习一门编程语言几乎相当。

发布了24 篇原创文章 · 获赞 0 · 访问量 559

猜你喜欢

转载自blog.csdn.net/MoLi_D/article/details/104196880
今日推荐