【软件测试】如何设计自动化测试脚本

2024-01-08 22:57:40

企业中如何设计自动化测试脚本呢?今天我们就来为大家分享一些干货。

一、线性设计

线性脚本设计方式是以脚本的方式体现测试用例,是一种非结构化的编码方式,多数采用录制+回放的方式,测试工程师通过录制+回访的访问对被测系统进行自动化测试,录制的脚本会产生某些冗余的代码内容或函数及脚本。

线性设计的特点:

测试用例已脚本方式编写
脚本开发成本较低
对测试人员编码的无经验要求
不需要提前对测试框架进行设计与开发
测试过程中的数据是写死在脚本中的会出现冗余
脚本的维护比较困难,成本非常高
测试人员各自为主,缺少复用

二、结构化设计

结构化设计是以函数/方法的形式进行编写,主要是通过循环来控制测试流程及测试脚本,如使用for循环、while循环、if...else...等循环或分支语句实现对函数的不同条件的判断及场景的调用。

结构化设计的特点:

测试用例在脚本中通过函数的方式体现
测试脚本编码能力较线性脚本有更高的要求
需要测试人员具备良好的代码设计能力与编码能力
测试数据依然在脚本中写死
相对较为稳定,所需要的维护成本较线性脚本相对较低
三、共享化设计

共享化设计是将脚本中公共的函数/内容在整个测试过程中进行共享,方便其它脚本的调用,减少了代码的冗余。让被测系统实现组件化的互相调用。

共享化设计的特点:

测试用例在脚本中编写,同时需要便于其它脚本的调用
开发成本较低,减少了大量的冗余脚本内容
对测试人员的代码设计能力有较高要求
由于需要组件化进行设计,对测试人员的编码能力要求较高
脚本的维护和成本较低

四、数据驱动设计

数据驱动设计是将测试数据与测试脚本进行分离,以外部数据文件的方式进行测试数据管理,减少耦合,在测试过程中需要对测试数据进行修改时,仅需修改外部数据文件中的内容即可,测试脚本中的代码内容不做改动,从而减少频繁修改代码产生的问题。

数据驱动设计的特点:

测试用例的脚本与测试数据分离,需要测试数据时进行I/O读取
参数化数据读取与写入相对来说,对测试人员的编码能力进一步提高
测试数据独立进行保存与维护
测试脚本的维护成本较低
一般推荐在需要测试正反向测试时使用
测试数据能够复用,进一步减少了代码的冗余情况
五、关键字驱动设计

关键字驱动是将所有需要执行的业务操作中的公共的操作独立进行封装,所有业务调用公共的操作方式,而对于程序的控制也以函数的方式进行驱动,即公共操作,程序控制,测试数据都通过外部数据文件进行管理和读写,关键字驱动的基础的数据驱动。

关键字驱动设计的特点:

关键字驱动对于测试人员的编码能力要求非常高,需要大量的编码经验积累
关键字驱动中测试用例是以外部数据文件的方式进行组织的
对于整体测试框架的设计能力要求较高
能够极大的降低其它测试人员的编码能力要求
整体框架的维护成本非常低
支持多个项目复用,同一套框架可以不断复用在其它的项目中
?

总结:

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

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

????视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。?

文章来源:https://blog.csdn.net/2301_77645834/article/details/135467131
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。