自动化脚本编写方法

CATIA 航空领域 二次开发之 自动化脚本编写_ 通过上述调试和优化技巧,可以显著提高CATIA自动化脚本的性能和可靠性。调试时,合理使用断点和单步执行可以帮助快速定位问题;优化时,减少对象访问、利用批处理、避免不必要的更新和管理对象生命周期是关键。希望这些技巧能够帮助你在CATIA Aerospace领域的自动化脚本编写中更加得心应手。CATIA Aerospace领域的自动化脚本编写是提高设计效率和减少重复劳动的重要手段。通过本指南,你已经了解了VBA、Python和C#脚本的基本语法、常用对象和方法,并学会了如何调试和优化脚本。 阅读详情

自动化脚本编写方法

 

 

原文:Scripting techniques in Automation - Ranjit Shewale

 

 

(注:本译文最早发表在51testing的第7期电子杂志上)

摘要

这篇文章详细描述几种自动化脚本编写方法,各自的优、缺点,同时在脚本编写的成本、编程技巧和脚本可维护性方面作出相应的评价。

 

声明

作者在对这几种自动化脚本编写方法作出关于成本的评价时,没有参考任何自动化测试项目的成本分析文档或成本效益分析结果。建议读者基于自己的理解和考虑风险来消化利用这些信息。

 

文章的编排

这篇文章主要分析自动化的成本,然后在描述每一种脚本编写方法时指出它的优点和缺点。

 

关于优缺点,从以下方面进行评价:

l         脚本的编写是否是结构化的

l         测试用例在什么地方定义

l         开发脚本的成本

l         需要怎样的编程技能

l         如何计划、设计和管理脚本

l         测试数据放在什么地方

l         脚本如何维护,维护成本

l         其它方面

 

成本

测试脚本相关的成本主要由开发成本和维护成本组成。在自动化测试过程中使用不同的脚本编写方法会对成本有不同程度的影响。

 

 

“录制回放”的方法是简单的,也是脆弱的,但是它的开发成本很低,然而维护成本很高,因此总体成本也会很高。使用先进的关键字驱动测试的方法,则维护成本会很低,但是开发成本会很高,因此总体成本也会很高。测试经理需要在这些方法中作出明智的选择,以便把总体成本尽量降低。

 

编写脚本的方法

不同的自动化测试脚本编写方法主要有:

1、  线性的

2、  结构化的

3、  共享的

4、  数据驱动的

5、  关键字驱动的

 

线性脚本编写方法

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

 

优缺点:

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

2、  测试用例由脚本定义

3、  非常低的开发成本

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

5、  不需要计划、设计

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

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

8、  没有公用的脚本,因此可能造成重复劳动

 

结构化脚本编写方法

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

 

优缺点:

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

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

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

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

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

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

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

8、  除了编程知识外,还需要一些脚本语言的知识

 

共享脚本编写方法

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

 

优缺点:

1、  脚本是结构化的

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

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

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

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

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

7、  脚本维护和维护成本要比线性脚本编写方法的相对低

 

数据驱动脚本编写方法

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

 

优缺点:

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

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

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

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

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

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

7、  脚本维护成本较低

8、  推荐在需要测试正反数据的时候使用

 

关键字驱动脚本编写方法

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

 

优缺点:

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

2、  测试用例由数据定义

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

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

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

6、  数据在外部文件存储

7、  维护成本比较低

8、  需要额外的框架或库,因此测试员需要更多的编程技巧

 

评价

l         关于开发的成本

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

 

l         关于维护的成本

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

 

l         关于编程技能要求

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

 

l         关于设计和管理的需要

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

 

参考

Software Test Automation:Effective use of test execution tools  作者:Dorothy Graham、Mark Fewster

 

 
Android/Linux驱动开发:使用dev_dbg进行设备驱动调试 在本文中,我们将介绍如何使用dev_dbg宏和相关的函数来进行设备驱动调试。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。函数在该目录下创建了一个名为"debug"的debugfs文件。在这些函数中,您可以执行与您的设备驱动相关的调试操作。的结构体指针,其中包含了我们定义的文件操作函数。的结构体指针,其中包含了我们定义的文件操作函数。在上面的示例中,我们首先通过调用。在上面的示例中,我们定义了。在上面的示例中,我们定义了。 阅读详情

相关推荐

从代码学习深度强化学习 - 目标导向的强化学习-HER算法 PyTorch版

经典的深度强化学习算法,如 PPO、SAC 等,在各自擅长的任务中都取得了非常好的效果。但它们通常都局限在解决单个任务上,换句话说,训练好的算法,在运行时也只能完成一个特定的任务。想象一个场景:我们想让一个机械臂能把桌子上的任何一个物体重置到任意一个指定位置。对于传统强化学习而言,如果目标物体的初始位置和目标位置每次都变化,那么这就是一个全新的任务。即便任务的“格式”——抓取并移动——是一样的,但策略本身可能需要重新训练。这显然效率极低。为了解决这类问题,

weixin_43887510的博客 1498

自动化编辑器零代码手机RPA脚本开发系列教程二

自动化编辑器基本功能了解 上一篇文章我讲了一下基本的操作,并实现了一个简单的demo 这篇了解一下自动化编辑器的基本功能 自动化编辑器也就是autoeditor我就简称AE了 AE把屏幕界面化,比如在QQ里面可以有聊天界面,好友界面,个人信息界面等等 但是新手可以不去区分这些,只用一个默认界面就够了 然后界面里面的基本单元就是条件了,在界面里面添加各种条件就可以实现自动化任务了 下面重点讲解一下条件 条件里面有两个最基本的元素子条件和事件 子条件 子条件用来判断条件是否被触发,主要就是判断图片是否存在 一个

ti412的博客 6403

速腾聚创多激光雷达点云采集,并用RVIZ进行显示

在ubuntu20.04系统下,使用速腾聚创官方提供的软件RSView,对激光雷达的默认IP地址、MSOP 包端口号、 DIFOP包端口号和时间模式等配置进行查看和修改。使用交换机对两个激光雷达进行组网,实现多激光雷达数据采集,并用RVIZ同时显示两个雷达点云。使用wireshark对比两个雷达数据包。

abanchao的博客 5888

10个Python自动化脚本,简化日常工作任务,看看有没有适合你的!

在这个属于人工智的时代,你是否每天都需要手动执行那些乏味耗时的任务。其实我们可以使用Python来对它们进行自动化,解放你的双手。本文将向你展示 10 个 Python 脚本,能够让你的日常工作自动化。话不多说,我们直接上干货!

Javachichi的博客 2706

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7317

555定时器呼吸灯电路制作全攻略:从仿真到实物搭建(附避坑指南)

本文详细介绍了使用555定时器制作呼吸灯电路的完整流程,从基础原理到实物搭建,包括电路设计、元件选择、仿真验证、焊接技巧及调试优化。特别提供了避坑指南,帮助电子爱好者快速掌握这一经典DIY项目,实现美观的呼吸灯效果。

weixin_33734785的博客 402

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

企业中如何设计自动化测试脚本呢?今天我们就来为大家分享一些干货。线性脚本设计方式是以脚本的方式体现测试用例,是一种非结构化的编码方式,多数采用录制+回放的方式,测试工程师通过录制+回访的访问对被测系统进行自动化测试,录制的脚本会产生某些冗余的代码内容或函数及脚本。线性设计的特点:测试用例已脚本方式编写脚本开发成本较低对测试人员编码的无经验要求不需要提前对测试框架进行设计与开发测试过程中的数据是写死在脚本中的会出现冗余脚本的维护比较困难,成本非常高测试人员各自为主,缺少复用。

软件自动化测试技术交流、资源分享 786

芯片设计流程中的def文件

在实际的DEF文件中,每个部分都包含了与实际设计相关的详细信息,这个模板只展示了每个部分的基本结构。在实际应用中,DEF文件通常由EDA(电子设计自动化)工具在完成布局(Placement)和布线(Routing)步骤后自动生成,在集成电路设计中,DEF(Design Exchange Format)文件的模板具体内容会依设计的复杂性和特定需求而变化。简而言之,LEF文件提供了单元的物理特性和规则,而DEF文件使用这些规则来确定单元。)文件描述了特定设计中所有物理元素的精确放置和连线信息。

qq_36045093的博客 4860

10个Python自动化日常任务实战脚本示例

10个Python自动化日常任务实战脚本示例

2301_78095812的博客 1392

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1418

Unity 横版游戏开发天花板?状态机、联机同步与横版动作游戏架构全都有

在 Unity 横版动作游戏开发领域,最耗时间的往往不是角色移动,而是整套“可扩展架构”的搭建。包括角色状态管理、敌人 AI、武器系统、关卡编辑器、联机同步、输入适配、UI 与存档系统等。2D Action Platformer Kit 的核心价值,并不只是“提供素材”,而是它已经帮开发者搭好了一整套适用于横版动作游戏的底层框架。

2403_88403568的博客 424

自动化脚本的编写

selenium 自动化脚本 webdriver

GAVINVSwithCAILE的博客 7437

GD32F470移植LWIP协议,PHY芯片DP83848I

也就是说前24位是有规定的,其中48位MAC中的前几位也是有着对应的含义的。2、旧版LWIP(如1.4.1)存在DHCP状态机卡死问题,建议升级至2.1.3+。

m0_61973119的博客 1589

QTP/UFT(二):自动化测试脚本编写方法

2021.04.24 自动化测试方案选取时需考虑的因素(康康就行,并不是很重要) 项目的影响:自动化测试能否对项目进度、测试覆盖率、风险有积极的作用,或者让开发更敏捷 复杂度:自动化是否容易实现,包括数据和其他环境的影响。 自动化测试在构建时有一个较为麻烦的事情——数据,它需要大量的数据,而且要在自动化测试之前开始做好。与手工测试在造数据的点上不太一样。 比如:往一个部门里面加人,如果是手工测试,在跑用例过程中或者跑之前加都行(跑之前再加人也赶趟,或者做一条加一个做一条加一个也不是不可)..

weixin_43957935的博客 1842

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SecureCRT脚本编写方法学习资料:开启自动化之旅

SecureCRT脚本编写方法学习资料:开启自动化之旅 去发现同类优质开源项目:https://gitcode.com/ SecureCRT脚本编写方法学习资料,让远程会话管理变得游刃有余。 项目介绍 在远程服务器管理与自动化运维领域,SecureCRT是一款极具优势的终端仿真软件。SecureCRT脚本编写方法学习资料,为您提供了一套全面的SecureCRT脚本编程指南,旨在帮助初学者快速掌握脚...

gitblog_06714的博客 338

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python自动化测试脚本初学-自动化测试概述—自动化测试脚本编写方法二

自动化测试概述—自动化测试脚本编写方法二课程介绍第一章-自动化测试概述:从本章开始,我们开始学习几个主流高级测试工具。我们会将课程分为自动化测试工具、性能测试工具、测试管理工具、接口测试工具等。这些课程属于软件测试技术中难度较大的内容,建议同学们在学习之前先将此前四个阶段的课程内容进行系统有效的复习,以提高学习有效性。第二章-UFT(QTP)入门:从本章开始,老王将向给位同学介绍HPUFT。UFT...

weixin_39770311的博客 263

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

YOLOv8自动化测试脚本编写方法

通过YOLOv8的Python API,将模型训练、验证与推理流程封装为可复用脚本,结合配置文件与命令行参数实现灵活调度。利用Docker保障环境一致性,融入异常处理与资源监控提升稳定性,支持CI/CD集成,推动AI研发迈向工程化与自动化。

weixin_29859471的博客 686

python自动化测试脚本怎么编写_自动化测试概述—自动化测试脚本编写方法二

自动化测试概述—自动化测试脚本编写方法二课程介绍第一章-自动化测试概述:从本章开始,我们开始学习几个主流高级测试工具。我们会将课程分为自动化测试工具、性能测试工具、测试管理工具、接口测试工具等。这些课程属于软件测试技术中难度较大的内容,建议同学们在学习之前先将此前四个阶段的课程内容进行系统有效的复习,以提高学习有效性。第二章-UFT(QTP)入门:从本章开始,老王将向给位同学介绍HPUFT。UFT...

weixin_39520204的博客 130

Snyk CLI自动化脚本编写:批量扫描多个项目的终极实用方法

Snyk CLI是一款强大的开源安全扫描工具,能够自动检测项目中的安全漏洞和许可证问题。在开发团队中,如何高效地批量扫描多个项目成为提升安全效率的关键。本文将分享Snyk CLI自动化脚本的完整编写指南,帮助您实现快速、批量化的项目安全扫描。🚀 ## 为什么需要Snyk CLI批量扫描? 在现代化开发环境中,一个团队往往同时维护着多个项目,包括前端应用、后端服务、容器镜像等。手动逐个扫描不仅

gitblog_00547的博客 699

自动化测试脚本编写方法

转载于:https://www.cnblogs.com/dydxw/p/11238050.html

dejiebi3051的博客 653

脚本软件自动化测试,自动化脚本编写方法有哪些?自动化测试录制脚本用什么工具?...

自动化测试脚本地开发方法主要有以下几种:1.线性的;2.结构化的;3.共享的;4.数据驱动的;5.关键字驱动的。线性脚本的编写方法是使用简单的录制回放的方法,测试工程师使用这种方法来自动化地测试系统的流程或某些系统测试用例。它可能包含某些多余的、有时候并不需要的函数脚本。结构化脚本编写方法在脚本中使用结构控制。结构控制让测试人员可以控制测试脚本,或测试用例的流程。在脚本中,典型的结构控制是使用“i...

weixin_33348983的博客 877

EagleEye实战教程:批量图片检测脚本编写与结果自动化分析方法

本文介绍了如何在星图GPU平台上自动化部署EagleEye: DAMO-YOLO TinyNAS镜像,并利用其编写批量图片检测脚本。该方案能高效处理海量图片,自动识别目标并生成分析报告,典型应用于工业产品质量巡检、安防监控画面筛选等场景,实现检测流程的自动化与智能化。

weixin_35754676的博客 414

StructBERT-WebUI部署指南:scripts/test_service.sh自动化测试脚本编写与扩展方法

本文介绍了如何在星图GPU平台上自动化部署StructBERT文本相似度-中文-通用- WebUI镜像,实现高效的中文句子语义相似度计算。该服务支持实时对比和批量处理,可应用于智能问答匹配、文本查重检测等场景,显著提升自然语言处理任务的效率和准确性。

weixin_36474966的博客 427

LFM2.5-1.2B-Thinking-GGUF对比传统方法:在自动化测试脚本编写上的效率提升

本文介绍了如何在星图GPU平台上自动化部署LFM2.5-1.2B-Thinking-GGUF镜像,显著提升自动化测试脚本编写效率。该镜像能够理解自然语言需求并生成可执行脚本,特别适用于用户登录功能测试等场景,平均节省72%的编写时间,同时提高代码覆盖率和质量。

weixin_32661831的博客 337
上一篇: 害怕自动化(3)
下一篇: 如何有效地与开发人员一起工作
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值