无线适配智能化测试-以图像识别之名

简介: 随着当下国内外手机厂商的百花齐放,Android和ios都呈现出一定的碎片化。同时,作为App应用载体的无线终端,在不同的系统版本、品牌、分辨率和容器等各方面也都相差甚远。因此,为了保证大多数手机用户的体验,我们在实际业务迭代变更中出现新页面、模块发布时所需要进行的适配工作也愈加繁重。

背景

随着当下国内外手机厂商的百花齐放,Android和ios都呈现出一定的碎片化。同时,作为App应用载体的无线终端,在不同的系统版本、品牌、分辨率和容器等各方面也都相差甚远。因此,为了保证大多数手机用户的体验,我们在实际业务迭代变更中出现新页面、模块发布时所需要进行的适配工作也愈加繁重。

image.png

如上图所示,我们可以看到,在适配工作的整个流转机制中,研发和测试之间最为积累的往往是bug修复、验证以及期间的沟通成本。尽管样式问题往往'食之无味',一来二去的沟通通常也会是 项目Delay人员陷入测试疲劳期 的罪魁祸首,但bug未能及时修复依然令人'夜不能寐'。 由此我们看到,适配工作亟待提效的部分,首先就需要减少测试与开发之间往复的bug修复和验收环节。减少这个环节的前置条件即,提交给测试或外包同学做质量验收的功能页面/模块在多数主流机型中已得到较为充分的自测。

除此外,我们收集了几个前台导购型项目的大改版适配bug池,发现了以下两个要素,这两大问题也直接引导我们一期方案的落地。

  • ①.研发同学缺乏自测所需的大多数主流机型,无法较为全面的了解当前页面的质量表现
  • ②.适配过程往往是发现和解决一些常见的页面问题,且这些问题基本集中在安卓手机中

    • 加载性能差(白屏、模糊、持续加载)
    • 数据/模块加载失效(空窗)
    • 组件加载失败(安卓的中低端机型常见)

一种基于图像识别提效适配工作的方法

得益于测试智能化的趋势性启发,我们看到了 图像识别 在适配中能够作为的可能性。因为既然要减少"往复"沟通的积累,又要从适配最相关的UI Check涉及的UI自动化“脚本维护成本高”的历史诟病中挣脱,还要尽可能多的检查出适配工作的常见问题。所以,我们制定出了以下的智能适配流程。

  • 流程图
    image.png
  • 步骤

    • Step1.确定 基线图 (即最标准的页面视觉图)
    • Step2:由自动化截图工具获得当前机型和系统下适配的页面,即 对比图
    • Step3:对step2中的截图进行 预处理检查(白屏、模糊、空窗等) ,如有异常,则直接过滤
    • Step4:通过直方图对比的方式 对比基线图和对比图大致的相似性 ,相似性低,则直接过滤
    • Step5:通过 图像特征对比 ,检查并标识出两张图片中存在 差异的模块
    • Step6:返回检查结果,继续适配下一个机型的对比图

在整个流程的最上层,是由我们的无线适配平台提供当前功能页面在不同机型、系统、App版本的运行截图,除了在各种真机和模拟机上所使用的截图和轮播技术略有技术方面的差别,其余无论是预处理流程还是对比检查环节,均不涉及任何脚本的维护。研发同学在适配流程前,可在我们的平台前置运行预交付功能页面,尤其可重点关注的中低端机型中的问题并提前fix。基于此,再将质量已进一步保障的页面流转给测试同学验收。整个工作的流程,在图像识别助力之下,使 '发现问题->解决问题->验收问题' 的过程得以缩减,实现提效。

核心算法技术

  • 基于直方图的图像相似性预处理技术

    • 概述

      • 先获取图像的直方图数据(即图像各像素点的数量Array)
      • 对比基准图和对比图各像素分布差异(算法处理逻辑见贴图代码)
      • 输出相似性百分比
    • 技术实现方案
      image.png
  • 基于FAST+SIFT+FLANN算法处理图像相似特征技术

    • 概述

      • 通过FAST+SIFT算法计算得到对比图和基线图的特征点向量描述算子, ReferKeyPints、CompareKeyPoints.
      • 基于FLANN特征向量匹配得到两张图片的相似特征向量 MatchPoints
      • 通过计算公式:差异特征向量=基线图特征向量-相似特征向量 得到差异特征
      • 将差异特征绘制在对比图中(即描绘出差异、缺失等情况下的模块特征点)
      • 通过比例分割对比图ROI区域,以形状显示的模式绘制差异区域
    • 技术实现方案
      image.png

落地效果

目标明确,一期方案也在我们满怀期待中浮出水面。实际落地时,我们看到,目前基于图像识别能够检测到的问题,已经较为完整地覆盖了适配测试中常见的异常。无论是开发自测,还是外包同学正式介入验收,都能够借助我们的平台,对当前的功能页面做一次针对多机的适配测试,让往日需要来回沟通的常见适配问题得以前置,也间接推进项目进度,缩减适配环节人力和精力 。

  • 常见异常问题检查
    image.png
  • 中低端机常见模块加载问题检查

    • icon缺失且有数据加载差异
      image.png


- 模块缺失

image.png

展望

经过'图像识别'去提效适配工作让我们初次感受到'智能化'真正的魅力,近来年,深度学习的概念与应用也越来越火。我们也发现:由无监督学习、聚类算法等构建起来的神经网络架构,其自适应和自学习能力或许比我们的图像特征识别来的更加智能。同时,集团也有bu对此作出一定的研究和场景应用。但尝试对比后,我们发现无论是测试领域还是我们集团,由适配场景所积累的样本几乎为0,故对于深度学习(无监督、半监督学习)而言,即缺乏其运作的养料;与此同时,适配是一项讲究速成速得的工作,于是我们初期无论是试错与否,都无法容忍深度学习(无监督、半监督学习)较长的训练周期。

也正是如此,我们发现,由我们平台所带来的,除了基于图像识别去解决适配的问题,我们还能形成一个自取自存的页面异常大数据样本库。而形成这个库的时间和人力成本,不过是举手之劳而已( 将适配平台中标识error的页面留存即可,见下图右部 ) 。有了这个大数据样本库,似乎感受到了深度学习在适配提效未来以及我们大数据库开源的可能性。

激动之余,不忘再复习一下无线适配的定义。即验证所需功能在不同机型、系统中功能、交互、性能、安全等指标的正常表现。所以,我们所做的基于图像识别提效无线适配的方法,仅仅只是无线适配工作所覆盖的一部分。所以,真正能将适配能力建立一套较为完整的解决方案,让页面功能冒烟、页面在不同终端的性能表现、页面的安全指数等指标都能归一地输出给研发、测试、外包甚至PM,相信这会是一件功德圆满的事情。

image.png

很高兴地是,以上的设想,已由我们的天云平台小组成员合力设计产出,设计的简要模式如上图所示,大家可以见个预告。目前天云平台已在逐个功能模块发布内测,相信不久的未来,天云平台会给大家带来一份更大的惊喜。

项目成员

基于图像识别提效适配的方法(专利)

  • 御之、赚俭、玄扬、初枝

天云平台

  • 西涯、玄扬、赚俭、园直、静阳、御之
  • 如有合作需求和疑问,欢迎联系我们
目录
相关文章
|
3月前
|
人工智能 自然语言处理 JavaScript
利用MCP Server革新软件测试:更智能、更高效的自动化
MCP Server革新软件测试:通过标准化协议让AI实时感知页面结构,实现自然语言驱动、自适应维护的自动化测试,大幅提升效率,降低脚本开发与维护成本,推动测试左移与持续测试落地。
|
3月前
|
安全 数据管理 测试技术
告别蛮力:让测试数据生成变得智能而高效
告别蛮力:让测试数据生成变得智能而高效
478 120
|
4月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
4月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
6月前
|
JavaScript 前端开发 测试技术
Playwright自动化测试系列课(4) | 异步加载克星:自动等待 vs 智能等待策略深度解析​
本文深度解析Playwright自动化测试中的等待策略,对比自动等待(零配置防御机制)与智能等待(精准控制异步场景)的核心差异。通过实战案例讲解等待机制的选择标准、常见失效原因及调试技巧,帮助开发者有效解决页面异步加载问题,提升测试脚本的稳定性和执行效率。
|
6月前
|
人工智能 物联网 测试技术
智能化测试基础架构:软件质量保障的新纪元
本文介绍了智能化测试基础架构的核心构成与优势。该架构融合AI、领域工程与自动化技术,包含智能测试平台、测试智能体、赋能引擎和自动化工具链四部分,能自动生成用例、调度执行、分析结果,显著提升测试效率与覆盖率。其核心优势在于实现专家经验规模化、质量前移和快速适应业务变化,助力企业构建新一代质量保障体系。建议从构建知识图谱和试点关键领域智能体起步,逐步推进测试智能化转型。
|
9月前
|
人工智能 自然语言处理 JavaScript
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
Magnitude是一个基于视觉AI代理的开源端到端测试框架,通过自然语言构建测试用例,结合推理代理和视觉代理实现智能化的Web应用测试,支持本地运行和CI/CD集成。
1211 15
测试工程师要失业?Magnitude:开源AI Agent驱动的端到端测试框架,让Web测试更智能,自动完善测试用例!
|
数据采集 人工智能 自动驾驶
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
VSI-Bench是由李飞飞和谢赛宁团队推出的视觉空间智能基准测试集,旨在评估多模态大型语言模型(MLLMs)在空间认知和理解方面的能力。该基准测试集包含超过5000个问题-答案对,覆盖近290个真实室内场景视频,涉及多种环境,能够系统地测试和提高MLLMs在视觉空间智能方面的表现。
508 16
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
|
机器学习/深度学习 人工智能 自然语言处理
智能化软件测试:AI驱动的自动化测试策略与实践####
本文深入探讨了人工智能(AI)在软件测试领域的创新应用,通过分析AI技术如何优化测试流程、提升测试效率及质量,阐述了智能化软件测试的核心价值。文章首先概述了传统软件测试面临的挑战,随后详细介绍了AI驱动的自动化测试工具与框架,包括自然语言处理(NLP)、机器学习(ML)算法在缺陷预测、测试用例生成及自动化回归测试中的应用实例。最后,文章展望了智能化软件测试的未来发展趋势,强调了持续学习与适应能力对于保持测试策略有效性的重要性。 ####
|
机器学习/深度学习 人工智能 供应链
探索自动化测试的边界:从脚本到智能
在软件质量保障的竞技场上,自动化测试以其高效、一致性和可重复性的特点,成为提升开发流程效率的关键工具。本文将深入自动化测试的核心,探讨它如何从简单的脚本化任务,演变为一个集成了机器学习、人工智能和持续集成/持续部署(CI/CD)的复合型解决方案。我们将一起见证自动化测试如何突破传统边界,实现从线性脚本到自适应智能体的飞跃,并在此过程中重塑软件开发的未来。
184 31

热门文章

最新文章