利用大数据和人工智能彻底改变移动测试

移动应用程序是按需提供的公司品牌。它是了解组织提供的任何服务或产品的窗口。在 Kobiton,他们明白这一点 — 他们的使命是通过测试改进移动应用程序。Kobiton 是一个移动测试平台,允许客户在世界任何地方对真实移动设备执行手动和自动测试。它最初是一项云服务,但最近利用 MinIO 提供具有 AI 功能的本地解决方案。

云端真实设备测试

从 CI/CD 管道中在真实的移动设备上进行测试似乎是不可能的,但事实并非如此。这就是使用 Kobiton 的工作原理。管道在合并代码时启动。第一步是创建用于移动测试的 build。这是 Android Package Kit (APK) 文件或 iOS App Store Package (IPA) 文件。这些文件包含应用程序在设备上安装所需的所有元素,并且它们是需要创建以提交到应用程序商店的相同文件。构建版本通过 API 调用上传到云中 Kobiton 的应用程序存储库。(Kobiton 与 Jenkins、CircleCI 和 Bitrise 集成,这使得这很容易。上传后,下一步是启动之前在 Kobiton 中设置的自动化测试套件。有多种自动化框架可用于设置这些测试。Appium 是最受欢迎的,因为它同时支持 Android 和 iOS。但是,客户也可以使用原生 iOS 框架 XCUITest 和原生 Android 框架 Espresso。执行测试后,客户可以通过调用 Kobiton 的 API 来检查结果,然后确定是否在其 CI-CD 管道中继续进行。当您考虑到移动应用程序必须在多个操作系统和各种设备上运行时,事情就会变得有趣。例如,一个应用程序必须支持 Android 操作系统的最后 5 个版本和 iOS 的最后 5 个版本。每个版本都需要一台设备,在本例中为 10。但是,当您需要测试不同的设备版本时,这个数字会像滚雪球一样越滚越大,而当您想要测试各种操作系统和设备组合时,这个数字会增加更多。归根结底,这需要管理大量设备,并且每个测试都需要在每个设备上运行 - 因此也有很多测试需要管理。好消息是,Kobiton 云中的测试可以访问一机架上准备好进行测试的真实移动设备,并且 Kobiton 管理测试。

本地解决方案的市场

当 Kobiton 开始时,他们在 Amazon Web Services (AWS) 中设计了他们的产品。但是,他们很快意识到本地部署有市场,因此他们着手创建 Kobiton 的本地版本。上一节中提到的设备耗尽存储在 AWS S3 中。因此,他们的代码利用了大量 S3 接口。他们还发现,当您还要负责从裸踏板开始的所有事情时,设计性能要困难得多。在云中,硬件被抽象出来,因此更容易获得所需的性能。为了解决存储问题,他们寻求具有 S3 接口且高性能、可扩展、可扩展和容错的产品。这就是他们来到 MinIO 的原因。当他们开始深入研究 MinIO 时,突出的主要因素是容错和性能。它的容错能力超出了他们从 RAID 解决方案中获得的能力。他们还发现,他们可以扩展或扩展存储容量,而不会对性能产生不利影响。

使用 AI 进行移动测试

当 Kobiton 测试移动应用程序时,会生成大量数据,因为 Kobiton 的作用不仅仅是保存测试结果。相反,它们会保存与测试运行时每个设备内发生的所有情况相关的指标。设备耗尽是 Kobiton 所说的设备在测试期间发出的所有数据。这包括:

  • 使用 XML 格式的详细信息测试步骤

  • 屏幕截图

  • 以每秒 30 帧的速度拍摄完整视频

  • 设备日志

  • 系统指标

  • 网络负载

  • 设备运行状况统计信息

Kobiton 的差异化因素之一是他们能够在运行测试时有效地提取这些废气。只要有数据,就有机会使用 AI 提供更深入的见解。然后,Kobiton 使用所有这些设备耗尽(存储在 MinIO 中用于其本地产品)来创建能够修复失败脚本的模型。当测试脚本因开发人员更改了应用程序中的某些内容而失败时,脚本不会失败,而是在先前测试的设备上耗尽训练的模型可以自动更正并找出允许脚本继续的最佳匹配元素。他们还使用深度学习模型来帮助识别应用程序用户界面的问题。例如,许多与 UI 相关的测试使用基线屏幕截图来表示特定屏幕的正确外观。运行 UI 测试时,它将截取屏幕截图并将其与基线进行比较。通常,当 UI 没有问题时,这两个屏幕截图会略有不同。如果您想防止烦人的假阴性,可以帮助您明智地了解差异的模型非常重要。

结果

如今,Kobiton 可以为希望在自己的数据中心进行测试的客户提供本地解决方案。使用 MinIO 进行符合 S3 的对象存储,Kobiton 的本地解决方案具有容错、可扩展和高性能。使用 MinIO 中存储的所有设备耗尽,他们可以创建机器学习模型来改善测试结果。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu环境中RocketMQ安装教程

参考教程 https://blog.csdn.net/weixin_56219549/article/details/126143231 1、安装JDK,并配置环境变量(略) 2、下载RocketMQ安装包 RocketMQ下载地址,选择二进制包下载 unzip rocketmq-all-5.0.0-ALPHA-bin-release.zip 使…

基于JAVA的旅游网站系统设计

摘 要 自改革开放以来, 我国国内旅游业发展迅速,覆盖面广,但总的来说仍然处于一种低消费、大众化、低水平、 中近距离旅游的状况。旅游基础设备、服务设施建设发展很快,但仍然不能适应国内旅游发展速度的要求。我国的 旅游业是在…

服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例

服务器存储数据恢复环境: 存储中有一组由12块硬盘组建的RAID6阵列,上层linux操作系统EXT3文件系统,该存储划分3个LUN。 服务器存储故障&分析: 存储中RAID6阵列不可用。为了抢救数据,运维人员使用原始RAID中的部分…

论文笔记-WWW2024-ClickPrompt

论文笔记-WWW2024-ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction ClickPrompt: CTR模型是大模型适配CTR预测任务的强大提示生成器摘要1.引言2.预备知识2.1传统CTR预测2.2基于PLM的CTR预测 3.方法3.1概述3.2模态转换3.…

循环神经网络(RNN)详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

【微服务】Nacos

一、安装 1、官网地址:https://nacos.io/download/nacos-server/ 2、启动:找到bin目录下的startup.cmd双击启动,或者打开一个命令窗口输入: startup.cmd -m standalone双击启动后如下:可以访问控制台地址 访问后的…

混沌工程/混沌测试/云原生测试/云平台测试

背景 私有云/公有云/混合云等具有复杂,分布式,环境多样性等特点,许多特殊场景引发的线上问题很难被有效发现。所以需要引入混沌工程,建立对系统抵御生产环境中失控条件的能力以及信心,提高系统面对未知风险得能力。 …

DM-VIO(ROS)+t265配置运行记录(ubuntu18.04+ros melodic)

在工作中需要对DM-VIO算法进行测试,于是配置并记录了一下: 首先运行ros接口的dm-vio,一定要先配置源码 https://github.com/lukasvst/dm-vio在这个网址把源码下载下来并解压,并安装一下依赖: sudo apt-get install …

自动化运维(k8s)之微服务信息自动抓取:namespaceName、deploymentName等全解析

前言:公司云原生k8s二开工程师发了一串通用性命令用来查询以下数值,我想着能不能将这命令写成一个自动化脚本。 起初设计的 版本一:开头加一条环境变量,执行脚本后,提示输入:需要查询的命名空间&#xff0c…

【数据分析】布朗运动(维纳过程)

文章目录 一、概述二、数学布朗运动2.1 数学定义2.2 布朗运动的数学模型2.21 标准布朗运动2.22 布朗运动的路径2.23 布朗运动的方程 三、布朗运动在金融学中的应用四、数学构造(以傅里叶级数为例)4.1 傅里叶级数的基本思想4.2 构造布朗运动 一、概述 布…

Mybatis Plus 增删改查方法(一、增)

先定义一个简单的测试表,执行脚本如下: create table user(id bigint primary key auto_increment,name varchar(255) not null,age int not null default 0 check (age > 0) ); 根据Spingbootmybatisplus的结构根据表自行构建结构,大致…

基于Matlab的图像去噪算法仿真(二)

在信息化的社会里,图像在信息传播中所起的作用越来越大。所以,消除在图像采集和传输过程中而产生的噪声,保证图像受污染度最小,成了数字图像处理领域里的重要部分。 本文主要研究分析邻域平均法、中值滤波法、维纳滤波法及模糊小…

鸿蒙Next星河版基础代码

目录: 1、鸿蒙箭头函数的写法2、鸿蒙数据类型的定义3、枚举的定义以及使用4、position绝对定位及层级zIndex5、字符串的拼接转换以及数据的处理(1)字符串转数字(2)数字转字符串(3)布尔值转换情况(4)数组的增删改查 6、三元表达式7、鸿蒙for循环的几种写法7.1、基本用…

Node.js的url模块与querystring模块

新书速览|Vue.jsNode.js全栈开发实战-CSDN博客 《Vue.jsNode.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 4.3.1 http模块——创建HTTP服务器、客户端 要使用http模块&#xff0…

Conda 管理python开发环境

同步发布于我的网站 🚀 故事起因: 在公司使用Requests多任务并行开发时遇到了问题,使用 ProcessPoolExecutor 时不能正常发出网络请求,会卡在网络请求发不出去,但是善于用 ThreadPoolExecutor 时是可以的,纠结了很久,一…

LLamafactory 批量推理与异步 API 调用效率对比实测

文章目录 背景数据集构造LLamafactory 批量推理yaml 参数设置批量推理启动 LLamafactory API 部署结论项目开源 背景 在阅读 LLamafactory 的文档时候,发现它支持批量推理: 推理.https://llamafactory.readthedocs.io/zh-cn/latest/getting_started/inference.html…

Android通过摄像头检测心率

话不多说,先看效果 Android通过摄像头测量心率 借鉴文章如下 Android通过摄像头计算心率、心率变异性 该文章的核心功能点已经很全了,为了方便使用,我这边整理成了工具类可直接使用 该功能全网文章还是比较少的,还是要感谢下借鉴…

测绘坐标数据封装处理

1、测绘数据 2、数据处理 public void dealData() {List<Map<String, Object>> shyqzdMapList 截图数据;Map<String, List<Map<String, Object>>> groupMap shyqzdMapList.stream().collect(Collectors.groupingBy(item -> String.valueOf…

一个开源轻量级的服务器资源监控平台,支持告警推送

大家好&#xff0c;今天给大家分享一款开源的轻量级服务器资源监控工具Beszel&#xff0c;提供历史数据记录、Docker容器统计信息监控以及多种警报功能&#xff0c;用于监控服务器资源。 项目介绍 Beszel由hub&#xff08;中心服务器端应用&#xff0c;基于PocketBase构建&…

SVG无功补偿装置MATLAB仿真模型

“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 模型简介 SVG&#xff08;又称ASVG 或STATCOM&#xff09;是Static Var Generator 的缩写&#xff0c;叫做静止无功发生器。也是做无功补偿的&#xff0c;比SVC 更加先进。其基本原理是将自换相桥式电路通过电抗器或…