测试自动化实现的两个难点-功能分解和对象识别

做自动化测试时所谓的“难点” ​ 这篇关于自动化测试的文章,可能和你看到的大多数自动化的文章有所不同。我不是一位专职的自动化测试工程师,没有开发过自动化的工具或者框架,用的自动化的工具也不多,也没有做过开发,所以我讲不出那些现在很多人很看重的“很深”的东西。我也不想去讲某个流行的自动化的工具要怎么使用什么的,我觉得这些东西并不是我的,而且也是可以很容易获取的。 (测试即服务基本架构) 那么在自动化这个很大的领域来说,我是什么呢? 我是自动化技术的使用者,要在团队中做自动化,还是脚本的编写者、管理者和运行者。 我想大多数测试朋友和 阅读详情
 
1.优点
1)模块化的设计,避免了重复的脚本,减少建立和维护脚本的成本
2)在应用软件开发的同时,就可以同步进行脚本建立的动作,而且当软件功能变动时,只需要修改业务功能脚本
3)由于应用软件的功能被分解成独立的业务功能脚本,测试人员可以随意组合业务功能脚本成为更复杂多样的测试个案
4)测试输入数据和验证数据与脚本分开,存储在另外的文件中,如纯文字文件或EXCEL文件,测试人员可以更容易的修改和维护
5)通过判断Action回传值是True或False,可以做错误处理,让脚本更有弹性
 
2.缺点
1)在编写业务功能脚本时,需要精通测试工具脚本语言的工程师
2)每个Action都有自己的输入输出参数,需要用文档统一维护,控制变更
3)测试人员除了要维护测试计划之外,还要另外维护数据文件
4)对测试工具及脚本来说,使用数据文件可能也要注意数据文件的格式
 
3.测试自动化实现的两个技术难点
设计 – 功能分解
实现 – 对象的识别
 
1)测试自动化实现的两个难点 – 功能分解
- 业务功能分解的原则和方法
- 清晰画出业务流程图
- 根据业务流程分解业务功能,可以被复用的功能也要被分解出来
- 按照路径覆盖的思想,组织测试用例
 
2)测试自动化实现的两个难点 – 对象的识别
对比静态Web对象的识别
序号
Web对象
推荐识别属性
方法
1
Browser
creationTime
 
2
Page
index
 
3
Frame
name
 
4
WebTable
name
 
5
WebEdit
name
Set
6
WebButton
text
Click
7
WebList
name
Select
8
Link
text
Click
9
Image
name
 
10
WebCheckBox
name
 
11
WebRadioGroup
name
 
12
WebElement
innertext/html tag
 
13
Dialog
text
 
14
WinButton
text
 
 
示例:
A.静态Web对象的识别
Browser(“CreationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “200”
在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据200
Browser(“CreationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click
在第二个被创建的IE窗口,查找按钮,该按钮上显示的文字是保存,点击该按钮
B.动态Web对象的识别
GetToProperty、GetRoProperty、GetRoProPerties
假设在对象库中有一个对象”窗口A”,用于识别对象的属性有两个
一个属性是”text”,在库中记录的值是”AAAA”
一个属性是”name”,库中记录的值是”BBBB”
在实际运行脚本时,属性”text”的值是”CCCC”而不是”AAAA”
那么:
Window(“窗口A”).GetToProperty(“text”)的返回值是”AAAA”
Window(“窗口A”).GetRoProperty(“text”)的返回值是”CCCC”
Window(“窗口A”).GetToProperties的返回值是用于识别”窗口A”的两个属性和值的集合
 
软件测试基础——功能测试 一、测试项目启动与研读需求文档 (一) 组建测试团队 1 测试团队中的角色 2 测试团队的基本责任 尽早地发现软件程序、系统或产品中所有的问题。 督促和协助开发人员尽快地解决程序中的缺陷。 帮助项目管理人员制定合理的开发和测试计划。 对缺陷进行跟踪、分析和分类总结,以便让项目的管理人员和相关的负责人能够及时、 清楚地了解产品当前的质量状态。 帮助改善开发流程、提高产品开发效率。 促进程序编写的规范性、易读性、可维护性等 3 测试团队与开发团队的 3 种模式 (1)以开发为核心,测试只是开发队伍的一部 阅读详情

相关推荐

ci/cd自动化测试_CI / CD管道加快测试自动化的16种最佳实践

ci/cd自动化测试 每个软件项目都涉及成功实施和部署项目的某种“过程”和“实践”。 随着项目规模和规模的增加,复杂程度也以指数方式增加。 领导团队应尽一切努力来开发,测试和发布软件,以便以递增的方式进行发布,从而对客户已经可用的软件影响最小(或没有影响)。 在本文中,我将介绍有关测试自动化的CI / CD最佳实践,以帮助您加快上市进程。 在上一篇文章“ 什么是持续集成和持续交付?”中...

danpob13624的博客 3854

软件测试---功能分解、等价类、边界值、因果图、错误推测、正交实验、场景法

一、黑盒测试 1、功能分解法 功能分解法就是把软件需求中的每一个功能加以分解,分解为功能单位,以功能单位为对象进行测试用例涉及。 例子:用户管理系统可以分为如下,当然也可以进一步往下分解。 根据上面的功能分解图可以对分解出来的最底层功能单元逐个进行测试用例设计和测试。同时可以从功能单元是否全部实现来判断上层功能的完备性。 2、等价类划分法 优点:每一个输入域都考虑到了。 缺点:产生的测试用例过多,可能产生一些无效的测试用例,也可能有一些特殊的点没有考虑。 等价类划分法是将需求中功能输入要求进

qxiaod的博客 7404

基于RPA的自动化测试研究

  随着移动互联网的蓬勃发展,更多的软件企业在追求高速发展,同时还面临着人力成本不断上涨的压力,企业在软件测试过程遵循着按部就班的测试流程,同时又要求不断缩短测试的迭代周期,这两者本身就是个矛盾体。同时越来越贵的人工成本,迫使软件企业寻找更为完美的解决方案。而机器人流程自动化(RPA)的出现给软件自动化测试提供了一种全新的解决方案。RPA可实现快速部署,满足7 X 24小时不间断的自动执行测试用例,节约了软件企业大量人力成本,极大地提升软件测试效率,缩短整个测试周期,提高软件产品质量。   RPA相关介绍

duoceshi的博客 2541

软件测试技术篇

一、按开发阶段分 【SDK】 全称:SoftWare DeveLopment Kit,一般是指软件工程师特定的软件包建立的开发工具集合。 【ROI】:投入产出比 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。又称为模块测试 测试阶段:编码后或者编码前(TDD) 测试对象:最小模块 测试人员:白盒测...

qq_45349785的博客 806

什么是关键字驱动自动化测试

第一章 前言 为 了提高测试效率和准确性,越来越多的测试工作引入了自动化测试的思想和方法,随着自动化测试工具的发展,自动化测试更加容易实现更高效。实践证明,软件自 动化测试技术帮助软件开发和测试人员在更短的时间内开发出更高质量的产品,通过代替频繁重复的手工测试从而节省了大量的时间开支。同时,自动化测试技术也避免了手工测试出现的人为错误,完成了许多手工测试无法实现的工作。 自动化测试相较于手动测试有许多明显的优势,执行高效率、测试数据覆盖面大、结果可信。但同时自动化测试也存在着一些限制。简单的录制/回..

A_Kaka的博客 2911

黑盒测试之功能分解法

功能分解法前言概念需求示例测试用例分析设计总结 前言 首先和各位道个歉,最近事情比较多,本来计划的一周一更推迟了这么久。今天咱们继续,开始黑盒测试方法部分的分享。 概念 在学习软件测试的时候经常听到功能分解法,很多人项目也说使用了功能分解法,当被问哪里用了功能分解法时却说不清楚。功能分解是把软件需求中的每一个功能加以分解,分解为功能单元,以功能单元为对象进行测试用例设计。 需求示例 一个用户管理系统可以分解为用户名和密码管理、用户资料管理、用户权限管理等功能单元,当然也可以进一步往下进一步分解..

bufushutaoqibao的博客 2352

QTP,自己主动化測试学习笔记,六月九号

測试自己主动化实现的两个难点设计——功能分解 实现——对象的识别 測试自己主动化实现的两个难点—功能分解 清晰画出业务流程图 依据业务流程分解业务功能。能够被复用的功能也要被分解出来。 依照路径覆盖的思想。组织測试用例 測试自己主动化实现的两个难点—对象识别 创建測试 ...

weixin_30952535的博客 100

使用Excel和Robot Framework自动化WebService接口测试

Robot Framework是一个通用的自动化测试框架,由芬兰的 Nokia 公司首先开发并使用,并且在 2008 年以开源的形式发布。它的设计理念非常注重可扩展性和可读性,目标是为测试自动化提供一种容易上手、使用灵活的途径,同时也支持高级的测试自动化需求。框架的主要目标包括:- 提供一种易于使用和理解的结构,使得非程序员也能编写测试用例。- 支持测试用例的数据驱动,即测试数据可以和测试逻辑分离。- 能够轻松地在多种操作系统和环境中运行。

weixin_35364187的博客 880

Midscene.js终极指南:零代码实现AI驱动的全平台自动化测试

在数字化浪潮中,传统自动化测试工具往往面临学习曲线陡峭、维护成本高昂的困境。Midscene.js作为一款革命性的AI视觉自动化框架,通过先进的视觉语言模型技术,让自然语言指令直接转化为精准的网页和移动设备操作。这款开源项目彻底颠覆了基于DOM定位的传统测试方式,为开发者和测试工程师带来了前所未有的智能化体验。无论你是初学者还是专业人士,Midscene.js都能让你的自动化测试工作变得简单高效。

gitblog_00139的博客 1074

自动化测试工具的主要特点、功能和开发难点

自动化测试工具的主要特点、功能和开发难点.pdf

Windows下快速搭建Kettle开发环境:基于9.4.0.0版本的保姆级教程

本文提供Windows系统下Kettle 9.4.0.0开发环境的详细搭建指南,涵盖源码获取、Maven配置优化、高效编译及部署运行全流程。通过实战验证的步骤和常见问题解决方案,帮助数据工程师快速完成环境配置,提升ETL开发效率。

weixin_28829479的博客 331

QTP,自动化测试学习笔记,六月九号

测试自动化实现的两个难点 设计——功能分解 实现——对象的识别 测试自动化实现的两个难点—功能分解 清晰画出业务流程图 根据业务流程分解业务功能,可以被复用的功能也要被分解出来。 按照路径覆盖的思想,组织测试用例 测试自动化实现的两个难点—对象识别 创建测试    获取被操作对象的属性信息 使用唯一的对象名在对象仓库中记录该对象。 标识关键属性信息

422

XGBoost调参新姿势:Bayesian优化实战指南(附完整代码)

本文详细介绍了如何使用Bayesian优化方法高效调优XGBoost模型参数。通过解析Bayesian优化核心原理和XGBoost关键参数,提供完整的实战代码示例,帮助读者掌握这一智能调参技术,显著提升模型性能。文章特别适合机器学习工程师和数据科学家阅读。

weixin_42536058的博客 366

行业视野|AI4SE:基于本体语义推理的自动功能分解

本文提出了一种基于本体语义推理的功能自动分解方法,用于复杂机电系统的概念设计。该方法通过SysML建模表示输入输出流状态,实现任务自动分解;利用功能效应作为语义媒介检索原理解;通过仿真原理实现过程生成支持性子功能。

HZHW_MBSE的博客 1396

Qt跨平台CAN通信实战:Vector、PCAN与周立功设备统一接口设计

本文针对Qt开发中常见的多品牌CAN设备兼容难题,提出了一套统一的跨平台CAN通信接口设计方案。通过抽象层封装,实现了对Vector、PCAN和周立功设备的统一操作,上层业务代码无需修改即可在不同硬件间切换,有效解决了驱动API差异、环境配置复杂和维护成本高等痛点,显著提升了代码复用率和开发效率。

weixin_29161785的博客 332

unity转微信小游戏:UI大小设置

unity转微信小游戏:UI大小设置

会潜水的小火龙的博客 3272

Better Genshin Impact 项目新增自动分解低星圣遗物功能解析

在《原神》5.0版本更新后,游戏内新增了圣遗物分解功能,这为玩家管理背包空间提供了新的解决方案。Better Genshin Impact项目团队敏锐地捕捉到这一功能更新,并迅速将其整合到自动化流程中,开发出了"自动秘境结束后分解1-4星圣遗物"的新特性。 ## 技术实现要点 该功能的实现主要基于以下几个技术层面: 1. **圣遗物品级识别**:系统需要准确识别1-4星的圣遗物,这通常通过图

gitblog_07758的博客 575

IPsec (主模式,野蛮模式)

IPsec vpn的主模式和野蛮模式

七汣的博客 3414

如何让自动化测试更加灵活简洁?

页面对象模式的理念是将页面(应用程序屏幕)作为一个对象(测试抽象)来呈现,该对象会公布和初始化页面上的所有图形元素,并设置与它们的交互。如果你想要测试仅授权用户可以访问的页面,则无需再重复大量相同的步骤。如果我们总是在编写的每个测试中明确说明元素 ID,这将使我们的代码容易受到 UI 更改的影响:我们必须在使用这些元素的每个测试中更新所有已更改的 ID。换句话说,我们不会在同一个方法中测试输入无效登录名或密码时的行为,而是在 LoginActivityTest 类中创建单独的方法:​​​​​​​。

chengxuyuznguoke的博客 1399

Stata: 空间面板数据模型及Stata实现

  作者:游万海 (福州大学) Stata 连享会: 知乎 | 简书 | 码云 | 优快云   来源:Golgher 和 Voss (2016)   1. 背景介绍 由于面板数据模型所具有的众多优点 (刻画个体异质性,减弱模型共线性和增加自由度等),其被广泛应用于实证计量中。在 「 Stata: 面板数据模型-一文读懂」 文中,我们已对面板数据模型进行了介绍。 然而,当研究样本涉及到多个...

Stata连享会 7万+

完整复现YOLOv8:包括训练、测试、评估、预测阶段【本文源码已开源,地址在文章末尾】

(这里主要是在colab.research.google.com实现的,本地的配置也是类似的方法)YOLOv8是一种用于目标检测的深度学习算法。主要参考:https://github.com/ultralytics/ultralytics/blob/main/README.zh-CN.md。yolov8的权重:https://github.com/ultralytics/assets/releases。yolov8的文档:https://v8docs.ultralytics.com/

源代码杀手的博客 1万+

高效游戏AI自动化测试实战:基于图像识别的智能测试框架深度解析

在游戏行业竞争日益激烈的今天,传统人工测试已成为研发流程中的关键瓶颈。面对海量UI界面、复杂交互逻辑和持续集成需求,如何实现高效、精准、可扩展的游戏质量保障?GameAISDK作为一款基于图像识别的游戏AI自动化框架,为这一挑战提供了创新的解决方案。通过深度学习与计算机视觉技术的深度融合,该框架实现了从人工操作到AI驱动的智能测试转型,显著提升测试效率与覆盖率。 ## 行业痛点:传统游戏测试的三

gitblog_00712的博客 912

核磁共振常用的文件格式介绍:NIfTI volume 格式 (*.nii), GIFTI 格式 (*.gii), CIFTI 格式 (*.nii)

NIfTI volume 格式 (*.nii)GIFTI 格式 (*.gii)CIFTI 格式 (*.nii)Scene file文件 (*.scene)规格文件 (*.spec)解剖 (*.annot)一个场景文件包含一个或多个场景;每个场景实际上是保存时 wb_view 内部状态的快照。这包括有关加载哪些文件、如何显示、如何配置选项卡的信息(选择了哪些表面、在每个层中选择了哪些文件、打开了哪些层、哪些视图旋转、调色板设置、平铺选项卡等),以及在它们上面添加了哪些注释(文本、箭头、圆圈等)。

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 3043

朝夕光年游戏自动化测试实践

经过这几年的测试实践,目前自动化在兼容性测试、稳定性测试、性能测试、多语言本地化测试、功能回归的部分需求中都有应用,此篇将聚焦分享朝夕光年在自动化能力分解、自动化能力评估、自动化的成熟度、自动化测试全景等四个方面的实践,期望能为行业内开展自动化工作提供思路以及给到对游戏行业/游戏自动化测试方向感兴趣的同学们一些启发。在游戏的研发过程中,游戏自动化一直是开展难度较大的工程,具体包括机房机架、设备调度、软件框架、算法调校这些中台建设,复杂场景下还需要游戏项目本身的配合。不具备自动化代码和测试数据分离的能力。

字节跳动技术范儿 1039

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

13. 验证计划编写:DUT特性提取→测试点分解

本文提出了一种结构化分类方法,用于系统化梳理芯片验证需求。首先将Spec内容按接口、功能、性能、架构和错误处理五大类拆分,然后通过三级子项进行细化:一级按功能域划分模块,二级按技术域拆解子功能,三级定义具体测试场景和边界条件。文中详细说明了每类验证的关注点、数据来源和验证方法,并强调建立需求追踪矩阵(RTM)确保覆盖完整性。最后给出注意事项,包括避免过度细分、区分核心/扩展场景,以及通过动态迭代机制保持分类准确性。该方法可实现复杂特性的结构化拆分,平衡验证粒度与效率。

啄缘之间的博客 1323

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

测试自动化框架的重要性– iSAFE的优势

测试自动化并不像某些人想象的那样容易或经济。仅应在必要和适用的情况下使用。而且,最重要的是,它不能替代手动测试。相反,它补充了手动测试。自动化框架和正确的测试自动化工具对于增强测试自动化...

qqqqqkmbnjjhb的专栏 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

上一篇: GetROProperty,GetTOProperties,GetTOProperty的区别
下一篇: 在QTP中使用描述性编程(实例)
浩西
博客等级 码龄19年 47粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值