【私有云场景案例分享②】批量装包与冒烟测试的自动化实现

news/2024/11/15 11:28:37/文章来源:https://www.cnblogs.com/AirtestProject/p/18386059

此文章来源于项目官方公众号:“AirtestProject”
版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

一、前言

在软件开发和测试过程中,批量装包冒烟测试是两个关键环节。随着项目规模的扩大和测试需求的增加,传统的手动操作方式已经无法满足效率和质量的要求。通过AirtestIDE企业版与DeviceKeeper结合的批量装包和冒烟测试解决方案,可以提高测试效率,降低人力成本,并确保测试质量。

image.png

二、痛点分析

  1. 装包耗时长:测试人员需要手动在每台设备上安装应用,耗时长且可能会出现设备漏装包等情况。
  2. 冒烟测试效率低:单一设备测试速度慢,难以快速验证多个设备上的基本功能。
  3. 人力资源浪费:重复性的装包和基础冒烟测试工作占用大量测试人员时间。
  4. 结果不一致:手动操作可能导致不同设备间的测试过程和结果存在差异。

三、通过私有云可执行批量装包并进行冒烟跑测

  1. 批量装包:通过AirtestIDE企业版执行多机安装包体的脚本,以达到批量装包的操作。
  2. 远程控制:集中管理所有测试设备,在AirtestIDE 或DeviceKeeper都可以实现对设备的远程操作。
  3. 自动化冒烟测试:可以根据自己的需求去编写自动化脚本,在批量装包后立即进行基础功能验证。
  4. 并行测试:多台设备可以同时进行冒烟测试,大幅提升测试效率。
  5. 结果汇总:自动收集和整理各设备的测试结果,生成多机聚合报告。

四、实际运用场景

场景一:

以某公司的游戏项目为例,他们有超过100台不同型号的Android设备以及iOS设备需要进行装包测试,每次版本更新都需要进行装包。

引入项目之前:

人工手动装包,点击安装出现的各种弹窗以及安装对应的patch包等,完成100+台设备装包需要耗时一周左右的时长,平均下来0.56个小时每台手机

引入项目之后:

直接引入AirtestIDE企业版与DeviceKeeper结合的批量装包的方案后,只需要编写好装包脚本后批量执行,完成100+台设备装包耗时缩减到2-3小时。

场景二:
某公司的应用APP需要在不同型号的Android和iOS设备上进行测试,这些设备数量达到500台,并且涵盖多个海内外的登录渠道区服。测试的主要目的是验证在打包后的应用能否成功登录不同的海内外渠道区服。

引入项目前

测试过程依赖于手动操作,需要手动输入白名单中的账号。每台设备平均耗时1至2分钟,并且需要手动更换不同设备去进行测试。对于500多台设备,这通常需要8至16人天的工作量。

引入项目后

采用AirtestIDE企业版,通过编写自动化脚本,实现了多设备同时进行点击自动登录测试的功能。这一改进显著提高了效率,每台设备的测试时间缩短至半分钟。因此,500多台设备的登录测试工作量减少到仅需4人天即可完成。

场景三:

使用AirtestIDE去执行批量设备覆盖装包操作,安装完成后,系统自动触发预设的冒烟测试脚本,点击打开大鱼来了游戏、简单交互并进入关卡界面等核心功能。这里只是做简单演示,在实际场景中可以加上点击登录、进行游戏初始化等更具体的操作内容。
image

五、收益和价值

  1. 时间效率提升:整个装包到冒烟测试完成的时间从原来的1-2人天缩短到一个小时左右,效率提升96%。
  2. 人力资源优化:自动化流程释放了80%的测试人员时间,使他们能专注于更复杂的测试任务。
  3. 测试覆盖面扩大:能够同时在更多设备上进行测试,设备覆盖率从20%提升到95%,大幅提高产品质量。
  4. 问题发现速度加快:可以在批量测试的聚合报告中,可以快速查找到对应跑测失败的设备以及跑测失败原因。
  5. 一致性提高:标准化的自动测试流程确保了所有设备测试的一致性,减少了人为错误和结果偏差。
  6. 成本节约:减少了额外的加班时间和人力投入,每月节省测试成本约30%。
  7. 敏捷响应:能够快速响应紧急版本更新需求,多机跑测支持更频繁的迭代发布,不再担心更长装包或冒烟的耗时。

结语:

利用AirtestIDE企业版与DeviceKeeper结合的多机跑测方案不仅解决了传统测试流程中的效率瓶颈,还为整个产品开发生命周期带来了革命性的变化。它将原本耗时、繁琐的过程转变为一个流畅、高效的自动化工作流,使得测试团队能够以前所未有的速度和准确度验证产品质量。

这种方案的成功实施,标志着移动应用测试领域向着智能化、自动化方向迈出了重要一步。它不仅提高了测试效率,更重要的是提升了整个团队的工作质量和产品竞争力。通过释放测试人员的时间和创造力,企业可以将更多资源投入到创新和用户体验优化中,从而在激烈的市场竞争中脱颖而出。


AirtestIDE下载:airtest.netease.com/
Airtest 教程官网:airtest.doc.io.netease.com/
搭建企业私有云服务:airlab.163.com/b2b

官方答疑 Q 群:526033840

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

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

相关文章

MySQL 延迟从库介绍

延迟从库主要适用于需要增强数据安全性和提高系统可用性的场合。通过合理配置和监控,可以有效利用延迟从库的优势来增强数据库系统的稳定性、可靠性和性能。前言: 我们都知道,MySQL 主从延迟是一件很难避免的情况,从库难免会偶尔追不上主库,特别是主库有大事务或者执行 DD…

使用open3d合并ply模型

import open3d as o3d from scipy.ndimage import binary_fill_holesdef merge_ply(ply1, ply2, output_path):# 加载两个多边形模型mesh1 = o3d.io.read_triangle_mesh(ply1)mesh2 = o3d.io.read_triangle_mesh(ply2)# 使用 + 运算符合并两个多边形模型merged_mesh = mesh1 + …

淘宝商品API接口:电商数据的金钥匙

在数字化浪潮的推动下,电商行业蓬勃发展,数据成为企业最宝贵的资产之一。淘宝,作为中国乃至全球最大的在线零售平台,其庞大的商品数据蕴含着无限商机。如何高效地获取并利用这些数据,成为电商从业者和开发者关注的焦点。本文将带您了解淘宝商品API接口的强大功能,以及如何…

DB9和DB15的引脚编号

1、DB9的引脚编号2、DB15的引脚编号

Win10笔记本,蓝牙设备自动断开

在Win10笔记本设备使用中,有些用户在使用蓝牙设备(蓝牙耳机)时常常会遇到自动断开问题,以下是参考解决方案:设置   ➡️  系统   ➡️  电源和睡眠   ➡️  其他电源设置由于默认的设置,会触发USB选择性暂停,将上图所圈出的配置,由已启用改为已禁用,然后确

[学习笔记] Splay Treap 平衡树 - 数据结构

[学习笔记] Splay & Treap 平衡树 - 数据结构 Splay 树又名伸展树,一种平衡二叉查找树,通过 \(\text{Splay}\) 操作不断把节点旋到根节点来维护整颗树的平衡。说人话,很玄学的玩意,复杂度是单 log 级别的。为啥是单 log,科学的解释请移步 OI-WIKI。不科学的解释就是,…

哈希-快乐数

解决这个问题的关键在于,判断结束遍历的条件,即当n!=1 或者 在循环过程中,没有出现过重复的数。class Solution:def isHappy(self, n: int) -> bool:def get_score(n):sum_ = 0while n > 0:end_ = n % 10sum_ += end_ ** 2 n = n // 10return sum_data_set = set()wh…

openGauss-资源池化特性说明

openGauss- 资源池化特性说明 可获得性 本特性自openGauss 3.1.1 版本开始引入。 特性简介 本特性提供主备机共享一份存储的能力,实现基于磁阵设备的资源池化HA部署形态,解决传统HA部署下存储容量较单机翻倍的问题,同时备机支持实时一致性读。资源池化架构图如下图所示。 图…

databaseId 不匹配导致Mybayis报错:Invalid bound statement (not found)

问题 后端调用Mapper方法报错:Invalid bound statement (not found) 排查过程按网上方式逐一排查,都未解决问题 网上搜不到解决方案,只能查看源码了 首先定位到com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean#buildSqlSessionFactory方法 打上一个…

nginx之ssl认证(https访问)

ngx_http_ssl_module ngx_http_ssl_module模块:  ssl on | off;            为指定虚拟机启用HTTPS protocol, 建议用listen指令代替  ssl_certificate file;         当前虚拟主机使用PEM格式的证书文件  ssl_certificate_key file;…

nginx基于用户的访问控制

ngx_http_auth_basic_module模块实现基于用户的访问控制,使用basic机制进行用户认证  auth_basic string | off;  auth_basic_user_file file;Default: —  Context: http, server, location, limit_exceptlocation /admin/ {     auth_basic "Admin Area"…

nginx输出nginx的基本状态信息

输出nginx的基本状态信息模块:ngx_http_stub_status_module 输出信息示例:Active connections: 291 server accepts handled requests #下面三个数分别对应accepts,handled,requests 16630948 16630948 31070465Reading: 6 Writing: 179 Waiting: 106 A…