携程大牛带你了解自动化测试脚本设计

author author     2023-03-22     293

关键词:

今天给大家讲解一下自动化测试脚本设计,首先跟大家了解一下编写自动化测试脚本的方法。
技术图片
一、不同的自动化测试脚本的编写方法主要有:

1、线性的;

2、结构化的;

3、共享的;

4、数据驱动的;

  1. 关键字驱动的

(1)、线性脚本编写方法

线性脚本编写方法是使用简单的录制回放的方法,测试工程师使用这种方法来自动化地测试系统的流程或某些系统测试用例。它可能包含某些多余的、有时候并不需要的函数脚本。

优缺点:

1、是一种非结构话的编程方式;

2、测试用例由脚本定义;

3、非常低的开发脚本;

4、测试人员所需要的编程方面的技巧几乎可以忽略;

5、不需要计划、设计;

6、测试数据在脚本中是硬编码的;

7、脚本会很脆弱,因此维护成本会很高;

8、没有公用的脚本,因此可能会造成重复劳动
技术图片
(2)、结构化脚本编写方式

结构化脚本编写方法在脚本中使用结构控制。结构控制让测试员可以控制测试脚本或测试用例的流程。在脚本中,典型的结构控制是使用“if-else”、“switch”、“for”、“while”等条件状态语句来帮助实现判定、实现某些循环任务、调用其它覆盖普遍功能的函数。

优缺点:

1、是结构化的脚本编写方法;

2、测试用例在脚本中定义;

3、编程的成本要比线性脚本编写方法略为高一点;

4、需要测试员的调整编码设计;

5、需要某种程度上的计划、设计;

6、测试数据也是在脚本中被硬编码;

7、因为相对稳定一点,所以需要相对少的脚本维护,维护成本比线性脚本编写方法的要相对低;

8、除了编程知识外,还需要一些脚本语言的知识
技术图片
(3)、共享脚本编写方法

共享脚本编写方法是把代表应用程序行为的脚本在其它脚本之间共享。意味着把被测应用程序的公共的、普遍的功能的测试脚本独立出来,其它脚本对其进行调用。这使得某些脚本按照普遍功能划分来标准化、组件化。这种脚本甚至也可以使用在被测系统之外的其它软件应用系统。

优缺点:

1、脚本是结构化的;

2、测试用例在脚本中定义;

3、开发成本相对于结构化脚本编写方法来说要降低一些,因为减少了很多复制的劳动;

4、需要测试员的调整代码的编程技巧;

5、由于脚本需要模块化,所以需要更多的计划和设计;

6、测试数据也是硬编码的;

7、脚本维护和维护成本要比线性脚本编写方法的相对低
技术图片
(4)、数据驱动的脚本编写方法

这种方法把数据从脚本分离出去,存储在外部的文件中。这样脚本就只是包含编程代码了。这在测试运行时要改变数据的情况下是需要的。这样脚本在测试数据改变时也不需要修改代码。有时候,测试的期待结果值也可以跟测试输入数据一起存储在数据文件中。

优缺点:

1、脚本是以结构化的方式编程的;

2、测试用例由测试数据或脚本定义;

3、由于脚本参数化和编程成本,这种方法的开发成本跟共享脚本编写方法比较要相对高;

4、需要测试员较高的代码调整方面的编程技巧;

5、需要更多的计划和设计;

6、数据独立存储在数据表或外部文件;

7、脚本维护成本较低;

8、推荐在需要测试正反数据的时候使用
技术图片
(5)、关键字驱动脚本编写方法

这种方法把检查点和执行操作的控制都维护在外部数据文件。因此测试数据和测试的操作序列控制都是在外部文件中设计好的,除了常规的脚本外,还需要额外的库来翻译数据。是数据驱动测试方法的扩展。

优缺点:

1、综合了数据驱动脚本编写方法、共享脚本编写方法、结构化脚本编写方法;

2、测试用例由数据定义;

3、开发成本高,因为需要更多的测试计划和设计、开发方面的投入;

4、要求测试人员有很强的编程能力;

5、最初的计划和设计、管理成本会比较高;

6、数据在外部文件存储;

7、维护成本比较低;

8、需要额外的框架或库,因此测试员需要更多的编程技巧
技术图片
评价:

1、 关于开发的成本

随着脚本编写方法从线性到关键字驱动的改变,开发的成本不断地增加。

2、关于维护的成本

随着脚本编写方法从线性到关键字驱动的改变,维护的成本在降低。

3、关于编程技能要求

随着脚本编写方法从线性到关键字驱动的改变,对一个测试员的编程熟练程度的要求在增加。

4、 关于设计和管理的需要

随着脚本编写方法从线性到关键字驱动的改变,设计和管理自动化测试项目的要求在增加。

以上,希望对你有帮助,有被帮助到的朋友欢迎点赞,评论

携程大牛谈自动化测试里的数据驱动和关键字驱动思路的理解

对于初次接触自动化测试时,对数据驱动和关键字驱动不甚理解,觉得有点故弄玄虚,不就是参数和函数嘛!其中也体现了测试所不同与开发的一些特点(主要指系统测试),以及和对技术发展的脉络的展现。一、录制/回放的... 查看详情

从功能测试到自动化测试,携程大牛总结一些工作经验分享

现如今应该有很多测试人员应该有这样的疑虑,自动化测试要怎么去做,今天把一些学习经验分享给大家,希望对你们有帮助,有说的不好的地方,还请多多指教!对于测试人员来说,不管进行功能测试还是自动化测试还是性能... 查看详情

三万字长文带你了解电子设计自动化(eda)

三万字长文带你了解电子设计自动化(EDA)文章目录三万字长文带你了解电子设计自动化(EDA)EDA的工业视角简介物理设计不断发展的设计环境早期物理设计:交互式支持自动设计路由布局布线中的关键支持... 查看详情

三万字长文带你了解电子设计自动化(eda)

三万字长文带你了解电子设计自动化(EDA)文章目录三万字长文带你了解电子设计自动化(EDA)EDA的工业视角简介物理设计不断发展的设计环境早期物理设计:交互式支持自动设计路由布局布线中的关键支持... 查看详情

一文带你全面了解什么是自动化测试?

目录简介自动化测试概述自动化测试目标自动化测试流程1.测试计划和设计2.测试脚本开发3.测试执行和管理4.测试维护和优化自动化测试最佳实践自动化测试工具和框架结论简介软件测试是软件开发过程中一个必不可少的环节。... 查看详情

带你一步步搭建web自动化测试框架

...用例格式会方便我们灵活的执行和管理用例。一个完整的自动化测试用例应包含:测试准备(setup):测试准备步骤、用例辅助方法或工具,可以共用;测试步骤(teststeps):核心测试步骤;... 查看详情

一文带你了解自动化测试是什么?

...;专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识!📌如果你也想学习软件测试,文末卡片有我的交流群,加入我们,一起交流和学习!目录一、自动化测试概述1、什... 查看详情

一个脚本带你了解shell基础

比如工作中需要对一批ip进行测试是否仍被封杀了,就需要简单的写个脚本ping测试。就需要两台机器,虚拟主机:centos6.7系统本地linux:centos6.5【虚拟主机】远程到主机,添加ip(学了脚本,容我显摆一下)可以用XSHELL,如下操... 查看详情

seleniumpython自动化测试中对于ie浏览器下载弹窗有可以自动处理的脚本吗,大牛们,有附图

参考技术A应该有脚本的,seleniumpython自动化测试中在手机qq浏览器下载的时候,弹窗有可以自动处理的脚本的,不行你就去那里试试,在电脑上如果不行你就试试其他的浏览器,只要能用就行了,希望可以帮到你本回答被提问者... 查看详情

程序大牛由浅入深,带你学习面向对象编程

前言面向对象的Java语言具备“一次编程,任何地方均可运行”的能力,使其成为服务提供商和系统集成商用以支持多种操作系统和硬件平台的首选解决方案。Java作为软件开发的一种革命性的技术,其地位已被确定。如今... 查看详情

自动化测试用例设计

一、了解自动化测试的目的和作用  自动化测试是为了让测试人员从繁琐重复的机械式测试过程中解脱出来,把时间和精力投入到更有价值的地方,从而挖掘更多的产品缺陷。目前自动化测试更多的是定位在冒烟测试和回归测... 查看详情

自动化测试用例设计

一、了解自动化测试的目的和作用  自动化测试是为了让测试人员从繁琐重复的机械式测试过程中解脱出来,把时间和精力投入到更有价值的地方,从而挖掘更多的产品缺陷。目前自动化测试更多的是定位在冒烟测试和回归测... 查看详情

带你了解测开

测开——测试开发工程师测试开发工程师(SoftwareDevelopmentEngineerinTest,简称SDET)是指那些既可以称作是开发人员,同时也负责软件开发阶段和测试周期的测试工作的技术人员。一个专业的SDET更关注软件产品的可测性,... 查看详情

自动化测试seleniumide脚本编辑与操作(了解)

之前,我们录制脚本时是录制鼠标和键盘的所有在浏览器的操作,那么脚本会出现多余的步骤,有时候我们需要手动填写脚本或修改脚本,所以我们有必要对seleniumIDE脚本编辑与操作有所了解;(采用录制... 查看详情

软件测试之多测师带你了解手工安全测试

测试做安全一般是做手工安全测试:1、sql注入2、xss跨站点脚本攻击3、跨目录访问4、用户权限访问控制1、sql注入基本原理:一般sql注入是在前台,有时后台也有,改变sql语句的正常写法,但是又能骗过代码&#x... 查看详情

十年经验大牛与你谈为什么要进行自动化测试?

今天跟大家分享的是为什么要进行自动化测试?自动化测试与手工测试区别是什么?自动化测试有点有哪些?为什么要进行自动化测试?之前很长时间做的都是手工测试,虽然也有将手工测试用例转化为自动化测试用例过,但是... 查看详情

top互联网公司大牛带你打造高逼格自动化平台

...就职创业公司,引入豆瓣的运维平台思想,完成新公司的自动化运维平台的开发和建设。对运维工程师转运维研发的困惑和痛点深有感触,乐于分享自己转型中的五味杂陈,51Reboot金牌讲师。分享内容:1、谈谈中小企业运维工作... 查看详情

50k大牛告诉你python怎么学,10个特性带你快速了解python

前言如果你是一个正在学习python的c、c++orjava程序员,又或者你是刚刚接触python,刚刚开始学习python,那么,请认真看完这10个语言特性,你会受益匪浅的。关注转发私信小编“资料”即可领取2021最新全... 查看详情