自动化测试模型都有哪些?
更新时间:2022-07-29 09:03:30 作者:多测师 浏览:179
自动化测试发展至今,先后产生了五种测试模型:线性模型、模块化驱动模型、数据驱动模型、关键字驱动模型和行为驱动模型。
线性模型
通过录制或编写脚本,一个脚本完成一个场景(一组完整功能操作),通过对脚本的回放进行自动化测试。
线性测试模型的优势就是每一个脚本都是独立的,任何一个脚本文件拿出来就能单独运行;当然,其缺点也很明显,就是测试用例的开发与维护成本很高,这种模式下数据和脚本是混在一起的,如果数据发生变化就需要对脚本进行修改,其用例的复用性较差。
模块化驱动模型
将脚本中重复可复用的部分拿出来写成一个公共的模块,需要的时候就调用它,这样可以大幅提高测试人员编写脚本的效率。
模块化驱动模型是将测试脚本中相同的部分代码独立出来,形成模块或库,这样做有两个好处:
1、提高了开发效率和代码复用性,测试人员不用重复的编写相同的脚本,如果提前写好了一个测试模块,后续只需要进行调用即可,不同重复造轮子。
2、简化了代码的维护工作,如果测试模块发生了变化,只用修改login.py 文件中相应模块的代码即可,所有调用该模块的脚本不用做任何修改。
即便如此,模块化驱动模型仍未能完全实现将数据和用例分离,对后期的维护工作会产生一定影响。
数据驱动模型
为了解决线性模型和模块化驱动模型的短板,数据驱动模型就此诞生。该模型会根据数据的变化而引起测试结果的改变,这显然是一个非常高级的概念和想法。简单地说,该模型是一种数据的参数化呈现,即通过输入不同的参数来驱动程序执行,输出不同的测试结果。
该模型的最大优点,就是实现了测试数据和测试脚本分离,不管我们读取的是数组、字典、函数,还是csv、txt 等文件,我们都可以通过传递参数,驱动脚本执行,返回不同的测试结果。
关键字驱动模型
这是一种通过关键字的改变而引起测试结果改变的功能自动化测试模型。QTP、robot framework 等都是以关键字驱动为主的自动化测试工具,这类工具典型的特征就是具备一套易用的可视化界面,测试人员需要做的就是将测试脚本按照“填表格”的方式填入,并考虑三个问题就可以了:我要做什么? 对谁做?怎么做?
本文所使用的Selenium IDE 就是一种关键字驱动的自动化工具,Selenium IDE 的脚本通常包含:命令(command)、对象(target)和值(value)三部分,测试脚本可直接在浏览器中运行,就像真正的用户在操作一样。
行为驱动模型
最后,本文将介绍一种在国外非常流行的测试模型——行为驱动模型,这套模型源自于敏捷开发方法:行为驱动开发(Behave Driven Development,简称BDD),即从用户的需求出发强调系统行为。
通过将BDD借鉴到自动化测试中,便产生了行为驱动测试模型,这种模型通过使用自然描述语言确定自动化测试脚本,其优点是可使用自然语言编写测试用例。
以上内容为大家介绍了自动化测试模型都有哪些,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/
上一篇:mPaaS应用的自动化测试分析
下一篇:自动化测试面试会被问到的东西