测试老鸟整理,Web自动化测试的模型分析,一篇带你打通...


前言

常见的测试模型有以下几种类型:

1、线性测试

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

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

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

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

2、模块驱动化测试

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

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

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

3、数据驱动测试

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

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

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

4、关键字驱动测试

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

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

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

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

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

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

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

5、综合自动化测试

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

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

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

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

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

最新最全花1W买的Python+Selenium全栈Web自动化测试

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次跌倒都是为飞翔积蓄力量,每一次迷茫都是新方向的开始。不要害怕慢,只要不停;不要畏惧难,只要敢闯。你的人生没有极限,只有等待突破的边界!

最黑暗的夜才能看见最亮的星,最陡峭的路才能到达最美的峰。别被暂时的风雨模糊了视线,你的坚持终将让平凡绽放光芒。向前走,整个世界都在等你精彩!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值