国内网站开发河南省公共资源交易中心

pingmian/2025/10/13 10:08:08/文章来源:
国内网站开发,河南省公共资源交易中心,百度地图手机网站开发,免费安全正能量网站大全概述 回归测试是指修改了旧代码后#xff0c;重新进行测试以确认修改没有引入新的错误或导致其他的代码出现错误。传统的自动化回归测试需要手动编写脚本获得页面元素的视图树#xff0c;与原有的元素视图树进行比对。当功能进行频繁迭代时#xff0c;测试同学维护这些视图…概述 回归测试是指修改了旧代码后重新进行测试以确认修改没有引入新的错误或导致其他的代码出现错误。传统的自动化回归测试需要手动编写脚本获得页面元素的视图树与原有的元素视图树进行比对。当功能进行频繁迭代时测试同学维护这些视图元素验证点比较繁杂。因此在自动化回归测试过程中直接比较代码修改前录制的页面和代码修改后回放的页面差异可以快速定位代码产生的缺陷从而提高测试同学的工作效率。 以闲鱼应用举例录制和回放页面差异检测存在的一些难点包括图像上闲鱼页面由顶部固定区域、中间可滚动区域、底部固定区域组成需要对页面进行版面切割之后分别对每一个区域进行处理。另外录制和回放页面中一些图标或者图片纹理复杂的区域往往像素值分布不同但是语义层面又是同一个物体因此需要从语义层面进行检测识别。业务上两张页面中间区域因为滚动带来的差异不需要检测出来并且一些特殊的标记差异(比如一张页面某个位置有光标另一张页面同一位置没有光标)不需要检测出来。 如上图四组录制和回放页面所示其中每组图左边为录制页面右边是回放页面。a)中因为中间区域的滚动带来了文字和图标的差异b)中价格组件“¥69”右边的光标带来了差异c)中输入框里的文字不一样d)中“库存”那一栏的图标具有语义差别。其中a)和b)中的差异不需要检测出来c)和d)中的差异需要检测出来。 方法 算法流程 整个算法流程如下图所示 输入的录制和回放页面图像灰度化后进行版面切割提取顶部区域、中间区域、底部区域两张页面的中间滚动区域进行对齐两张页面的每个区域分别进行相似度计算并排除无效的差异框两张页面中分别标记最终的差异框版面切割 闲鱼大部分的页面是由顶部固定区域、中间可滚动区域、底部固定区域组成版面切割的目的是找到中间可滚动区域的上下边界即将页面切割为三块区域之后对每块区域分别进行处理。 版面切割只针对中间区域有滚动的情况对于中间区域无滚动的情况即可用整张图进行后续处理。考虑到录制和回放页面在滚动区域上下边界处会产生明显的差异因此分别从图像的第一行和最后一行开始进行比较比较对应行的结构相似度指数(SSIM)当对应行的结构相似度指数小于给定的阈值则终止。 结构相似度指数是一种衡量两幅图像相似度的指标其从图像组成的角度将结构信息定义为独立于亮度、对比度的反映物体结构的属性用均值作为亮度的估计标准差作为对比度的估计协方差作为结构相似程度的度量。具体公式如下 其中(x,y)分别为录制和回放图像ux,uy,σx2,σy2,σxy分别表示图像的均值、方差和协方差c1,c2,c3为小的正常数避免分母为零而出现不稳定利用参数α,β,γ调整三个成分所占的比重。在实际工程中一般设定αβγ1以及c3c2/2可以将SSIM简化为 SSIM为介于0到1之间的一个值值越大表明两幅图越相似。下图a)b)为高2001像素、宽1125像素的录制和回放页面图像选取SSIM阈值为0.95计算得到的滚动区域的上边界为192下边界为1832如c)所示。 滚动区域对齐 对齐录制和回放图像的滚动区域后便可对比同一位置的差异本文采用基于特征点的图像对齐方法 即检测录制图像的一组稀疏特征点来匹配回放图像的一组稀疏特征点通过两组特征点的匹配来计算一个转换矩阵这个转换矩阵能变换对齐两幅图像的滚动区域。由于滚动区域只在垂直方向有位移因此采用一般的刚性配准方法如下式: 录制图像坐标(x,y)通过一个3x3的位移矩阵转换到回放图像坐标(x,y)。位移转换矩阵可以通过对齐两幅图像的特征点来求取。在计算机视觉中常见的特征点描述方法有SIFT、SURF、ORB等等本文采用ORB方法因为相比于SIFT和SURF方法ORB在满足足够高的准确性前提下速度更快并且使用不受专利约束。 ORB全称是Oriented FAST and Rotated BRIEF即是由FAST特征点检测和BRIEF特征点描述组成并且在两者基础上加入了图像金字塔和图像重心方向等改进措施使得ORB对尺度和旋转不敏感。 滚动区域对齐的具体步骤为 1. 输入录制和回放滚动区域。当上一步版面切割没有计算出滚动区域时输入整幅图像的中间部分br 2. 检测特征点。使用ORB检测两幅图像的角点。工程实现时可以设置每幅图像最多需检测出的特征点数br 3. 匹配特征点。利用hamming距离来衡量两组特征点的相似性以及Brute Force暴力法尝试所有特征点来找到最佳匹配。基于匹配的特征点距离值进行排序选取距离值较小的一部分特征点br 4. 计算转换矩阵。输入两组特征点坐标位置通过最小二乘求解最优的转换矩阵br 5. 对齐图像。应用转换矩阵将回放图像滚动区域映射对齐录制图像滚动区域br 下图为匹配的两组特征点计算出来的转换矩阵中tx0ty-96 相似度计算及后处理 对录制和回放页面的顶部区域、底部区域和对齐的滚动区域分别计算结构相似度SSIM(如果图像不存在滚动区域则对整图计算SSIM)差异的地方用矩形框标识后续通过一定的后处理排除掉无效的差异。具体步骤如下 差异检测。对顶部区域、底部区域和对齐的滚动区域每个像素在一定的领域范围内计算SSIM得到同等尺寸的SSIM结果图再对SSIM结果图用大津法得到二值化的SSIM结果图其中有差异的地方为1没有差异的地方为0接着提取二值化SSIM差异部分的外接轮廓之后再计算轮廓的最小外接矩形框。得到的结果如下红框所示 后处理。上图红框显示的是对齐滚动区域带来的差异通过判断每个框是否落到特定区域范围内来进行排除这个特定区域在垂直方向上以滚动区域上边界起始向下移动ty行结束或者以滚动区域下边界起始向上移动ty行结束。另外对于一些噪声点带来的差异可以通过限制差异框包含的面积进行排除。对上图使用以上两步后处理后红框全部被排除。其他一些录制和回放图像中的特殊标记(比如光标)差异在业务层面需要排除或者一些纹理丰富的图标/图像虽然像素层面存在差异但语义层面属于同一类即使SSIM计算不相似也需要排除。 上图a)显示光标差异模式b)显示纹理丰富的图标/图像差异模式c)显示其他差异模式。这些差异模式是对应位置差异框绝对差得到的结果其中a)和b)需要排除c)需要保留。分析这几种不同模式类型设计了一种如下图所示CNN二分类网络。图像缩放到64x64大小然后输入到三层convpoolingrelu的卷积结构中后接128个节点和2个节点的全连接层以softmax作为类别判定输出。通过分类网络便可将业务层面或像素层面的差异进行排除。 结果 一些差异检测的结果如下其中红框标示的是在录制和回放页面中存在差异的部分。a)只有中间区域滚动带来的差异业务上不需要检测出来 b)和c)能将页面中存在语义差异的部分检测出来并且没有误检和漏检 d)两张页面不存在语义差异但底部有个文字区域出现了误检分析原因是页面在没有滚动的情况下误检区域没有上下严格对齐导致计算的SSIM值偏小认为此处存在差异。 总结 本文以闲鱼自动化回归测试应用举例实现了一种版面切割、滚动区域对齐、相似度计算及后处理的录制和回放页面差异检测方法。这种方法在使用过程中达到了检出语义差异的预期并且方法具有普适性对其他app的自动化回归测试具有一定的参考意义。当然本方法也存在着一些不足对于像素分布不同但语义相同的差异模式会有一部分误检这是由于SSIM在计算相似度时对于局部像素值的变化比较敏感未来可对页面中的文字和图片独立提取出来进行进一步的语义分析优化。 一站式开发者服务海量学习资源0元起 阿里热门开源项目、机器学习干货、开发者课程/工具、小微项目、移动研发等海量资源更有开发者福利Kindle、技术图书幸运抽奖100%中--》https://www.aliyun.com/acts/product-section-2019/developer?utm_contentg_1000047140 原文链接 本文为云栖社区原创内容未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

it在线学习网站开发网站更新了

⑸ 集合运算连接 有时候,用户希望在SQL查询中利用关系代数中的集合运算(并、交、差)来组合关系,SQL为此提供了相应的运算符:UNION、INTERSECT、EXCEPT(oracle的minus?),分别对应于集合运算的∪、∩、-。它…

做网站比较好的公司有哪些互联网广告销售是做什么的

数据库缓存策略 以下是数据库与缓存的五种常见策略。 1缓存旁路 缓存旁路(Cache-Aside) 在缓存旁路策略中,数据库缓存位于数据库旁边。当应用程序请求数据时,它会首先检查缓存 如果缓存中存在数据(缓存命中&#xff…

专门做家纺的网站阿里网站建设App开发

近期大家都知道阿里推出了自己的开源的大模型千问72B,据说对于中文非常友好,在开源模型里面,可谓是名列前茅。 千问拥有有强大的基础语言模型,已经针对多达 3 万亿个 token 的多语言数据进行了稳定的预训练,覆盖领域、…

服装电子商务网站版式设计WordPress评论加入ip

前言 rust 学习曲线非常陡峭,但是基本语法也还算挺好理解,自动内存管理有点类似智能指针,基本看一下语法入门就可以大概理解,但是唯独宏很难理解,语法非常晦涩。但是功能非常强大。声明宏类似于c语言的宏处理&#xf…

国家企业公司网站建设网站定制设计价目表

类加载器工作机制:1.装载:将Java二进制代码导入jvm中,生成Class文件。2.连接:a)校验:检查载入Class文件数据的正确性 b)准备:给类的静态变量分配存储空间 c)解析&#xf…

佳木斯做微网站网站设计公司网

Frequent values UVA - 11235 题目传送门 题目大意:给出一个非降序的整数数组a1,a2,a3...an,你的任务是对一系列的询问(i,j),回答ai,ai1,ai2...aj中出现次数最多的值所出现的次数。输入包括多组数据。每组数据第一行…

南宁网站建公司电话号码网站建设计入什么科目

一、winsound "ModuleNotFoundError: No module named winsound" 这个错误表示 Python 解释器找不到名为 winsound 的模块。 winsound 模块是 Python 标准库的一部分,用于在 Windows 系统中进行声音播放。 解决这个问题的步骤如下: 检查 Py…

网页设计与网站建设书如何设计网站导航

文章目录 第七讲第八讲第九讲第十讲 第七讲 1、最简单的状态机-三角波发生器 1、两种状态的代码: //最简单的状态机,三角波发生器; timescale 1ns/10ps module tri_gen(clk,res,d_out); input clk; input res; o…

工程造价信息网查询平台优化是指什么

说到爬虫,大家可能都知道requests、re、scrapy、selenium等等一些工具库。虽然它低调,但功能非常强大,用于抓取Table表格型数据时,简直是个神器,没有必要去F12研究HTML页面结构甚至写正则表达式解析字段。 #我的Pytho…

爱站小工具wordpress 邮件收发

上一篇Windows Container文章中给大家介绍了如何使用Windows Container运行一个传统的.net 4.5 web应用程序,当时我们使用了默认的Visual Studio模版创建了一个简单的项目,而且没有链接数据库。我相信使用.net进行应用开发的程序员们一定在想&#xff0c…

网站建设硬件投入表凡客诚品公司介绍

文章目录 什么是封装和分用?封装应用层传输层网络层数据链路层物理层 分用物理层数据链路层网络层传输层应用层 什么是封装和分用? 我们前面讲过协议会分层,每一层都有各自的功能。而在数据传输的过程中,得按照顺序把每一层协议都…

特色网站建设自己电脑做服务器网站吗

软硬件需求 1)Linux 操作系统要求 2)软件需求 3)开发测试环境 4)生产环境 5)注意事项 (1)FE 的磁盘空间主要用于存储元数据,包括日志和 image。通常从几百 MB 到几个GB 不等。 &a…

青岛网站建设培训班矿泉水网站模板

目录 1.创建.proto文件 1.1文件规范 1.2添加注释 1.3指定proto3语法 1.4package声明符 1.5定义消息(message) 1.6定义消息字段 2.编译contacts.proto文件 3.序列化与反序列化的使用 1.创建.proto文件 1.1文件规范 • 创建.proto文件时,⽂件命名应该使用全…

现在帮别人做网站赚钱不wordpress招商加盟

参考资料:生物统计学 从严格意义上讲,两因素试验都应当设置重复观测值,以便检验交互作用是否真实存在,对试验误差有更准确的估计,从而提高检验效率。但根据专业知识或先前的试验已经证明两个因素不存在交互作用时&…

老鹰网网站建设建博客网站

查看路由规则 [rootlocalhost cc]# ip rule list 0: from all lookup local 32765: from 10.0.19.24 lookup 4096 32766: from all lookup main 32767: from all lookup default 现在有 4 条路由规则,优先级是怎样的,0 代表最低优先级还是最高优先级 在…

网站ftp上传到空间济南网站建设公司川芎网络

在开发的时候,发现图片锯齿严重,打包到移动端或者在编辑器都这样,如下图 原因: 查了一些资料,找到了原因如下:关于为什么会发生这种情况:看起来你的源资源比你在屏幕上显示的大小大得多。所以当…

做公司月刊网站杭州最好的电商培训学校

ThinkPHP框架 访问入口文件后在application文件夹中会出现一些文件夹,其中的home文件夹是前端模块,也可以在application文件夹中新建文件夹。home文件夹模块中Conf文件夹的config配置文件,是对于当前模块的:修改当前模式conventio…

网站改版中 模板专业网站建设管理

TimeGPT:首个时间序列分析基础大模型 1. 论文解读1.1 研究背景1.2 TimeGPT详解1.2.1 时间序列预测问题基础1.2.2 TimeGPT架构1.2.3 训练数据集1.2.4 训练TimeGPT1.2.5 不确定性量化1.2.6 实验结果1.2.6.1 Zero-shot 推断1.2.6.2 Fine Tuning1.2.6.3 时间对比1.2.7 讨论2. Time…

松江做网站公司传媒网站设计公司

一、JavaScript包管理器分类 NPMYarnPNPMBun 二、包管理器的区别 1、NPM 是Node.js的默认包管理器,默认随Node.js一起安装,无需额外配置。 npm2 采用简单的递归依赖方法,最后形成高度嵌套的依赖树。然后就会造成如下问题:重复依…