IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 找靓机 App 埋点 Case 自动化回归 -> 正文阅读

[人工智能]找靓机 App 埋点 Case 自动化回归

找靓机埋点 Case 自动化回归

一、背景和目的

? 线上存在埋点数量总数大于 1000 个,主流程 case 大于 300 个,在对功能迭代过程中经常会有对已有的埋点进行回归的述求,以往都是消耗大量的时间去手工回归,同时覆盖 2 端还容易出现漏测的现象。
为了改善现状,内部调研可做成 UI 自动化回归,经过实践后约能提效 50%,且只要及时补充场景,就可以大大降低漏测的场景。

二、断言方法

CASE 执行流程:

如何获取客户端上报的埋点数据:

1. Android 客户端通过 adb 命令实现:

def save_logcat_to_file(self, file_path, grep_str=``""``, extra_args=``""``, parameter=``"-d"``):
  ``""``"
  ``保存log 到指定文件 & 返回 进程
  ``adb logcat -v time > xxx
  ``:param grep_str: 过滤字符
  ``:param extra_args: 额外的参数
  ``:param file_path: log 存储路径
  ``:param parameter: logcat的额外的参数; 默认-d(将缓存的日志输出, 并且不会阻塞;)
  ``:``return``: log 进程
  ``""``"
  ``logcat_cmd = ``"shell "
  ``to_file_cmd = ``" > "` `+ file_path
  ``if` `extra_args:
    ``logcat_cmd += ``" "` `+ extra_args
  ``if` `grep_str:
    ``if` `config.is_windows:
      ``# logcat_cmd += ``"\"logcat -d -v time | grep \'"` `+ grep_str + ``"\'\""
      ``logcat_cmd += ``"\"logcat "` `+ parameter + ``" -v time | grep \'"` `+ grep_str + ``"\'\""
    ``else``:
      ``# logcat_cmd += ``"logcat -d -v time | grep \'"` `+ grep_str + ``"\'"
      ``logcat_cmd += ``"logcat "` `+ parameter + ``" -v time | grep \'"` `+ grep_str + ``"\'"
  ``else``:
    ``logcat_cmd = ``"logcat -v time"
  ``# 打印日志详细时间的简单数据
  ``return` `self.cmd(logcat_cmd + to_file_cmd, return_proc=True)

2. iOS 客户端通过 idevicesyslog 命令实现:

def save_device_log(device_id, device_log_path):
  ``""``"
  ``开始保存设备log到指定文件 & 返回保存log 进程
  ``:param device_id: 指定设备 id
  ``:param device_log_path: 设备log文件
  ``:``return``: 保存log 进程 / None
  ``""``"
  ``try``:
    ``Logger().setlog(device_id + ``" 准备收集Case 日志"``, LEVEL_INFO)
    ``if` `PLATFORM_IOS in config.operating_system:
      ``# proc = Shell.proc(``"idevicesyslog -u "` `+ device_id + ``" > "` `+ device_log_path)
      ``proc = Shell.proc(``"tidevice -u "` `+ device_id + ``" syslog> "` `+ device_log_path)
    ``else``:
      ``device = ADB(serialno=device_id)
      ``device.clear_logcat()
      ``proc = device.save_logcat_to_file(device_log_path)
    ``Logger().setlog(device_id + ``"开始收集Case 日志"``, LEVEL_INFO)
    ``return` `proc
  ``except:
    ``print(``"存储设备log异常"``)
    ``return` `None

3. H5 页面通过调用客户端 webview 能力实现:

因 H5 是初尝试实现,在落实过程中,为了保证能够有如下效果,调研设想了 3 套方案

  • 方案一「舍弃」: 通过获取 H5 的日志,对 H5 日志进行断言

    • 舍弃原因:
      • 当前线上环境的 H5 埋点,是直接上报到线上环境的,避免测试数据对统计造成影响;实现对 H5 执行日志捕获投入成本高;
    • 实现流程如下:

  • 方案二「舍弃」:写一个新的 API,供 H5 上报埋点时异步调用

    • 舍弃原因:
      • 投入资源成本高,线上会高频调用;无法保证延迟和稳定容易影响到业务
    • 流程如下:

  • 方案三「最终」:

    • H5 实现方案是在上报埋点的方法里面,同时异步调用客户端 webview 的能力,达到共用客户端实现的方法,也可以完成埋点的断言。
    • 实现流程如下:

三、实现前后测试方法对比

场景传统人工回归验证UI 自动化验回归实现后优缺点
客户端操作手动挂代理,开启彩蛋(客户端调试模式)高频重复操作 APP自动化操作优点:可以大大减小人工高频操作缺点:客户端的操作需要提前录入 case
埋点上报验证操作 APP 后,需要等待 3 分钟左右(平台数据查询有延迟),登录神策平台相关 SQL 查询设备上报记录分析每个字段的上报和时序是否和预期一致对客户端上报日志自动断言每个埋点都是 1 个 case,单独进行回归,互不影响输出相关 SQL,人工可以随机快速复核埋点优点: 1、大大降低漏测率,质效提升约 50%2、操作后实时进行断言,无需等待缺点:前期还需人工随机复核
回归频率和范围回归主流程埋点只要录入,都能覆盖回归优点:覆盖范围全,回归次数越多,质效提示越明显缺点:释放的人力,部分时间投入到了埋点 case 录入和维护

四、总结

1、梳理业务流程,明确自动化需要做哪范围

2、自动化框架造型

3、埋点测试存在哪些痛点,对比之后寻找解决思路

4、数据自动校验对比

5、提高自动化利用率,工程发布自动化触发自动化,每天定时执行检测

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 13:02:47  更:2022-03-06 13:02:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:38:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码