自动化测试介绍及崩溃日志说明更新时间: 2024-10-23 10:52:00

本文档介绍了自动化测试及崩溃日志说明的内容,您可在阅读文档后,了解自动化测试的相关问题。

小米应用商店所有新提交的应用都需要经过自动化测试检测。测试过程中会有不插入SD卡、不插入SIM卡、未ROOT等情况,目的是为了检测应用在任何情况下都可以稳定的运行,不出现FC或者ANR的情况。本文档将详细介绍小米应用商店自动化测试流程及崩溃日志—FC_log文件说明。

一、什么是自动化测试?

测试内容包括:兼容性测试、安全性测试。

1、兼容性测试

需要覆盖 android 10,11,12 版本的测试。

每个待审核的app根据区域、Android SDK适配范围、以及是否适配pad来选择对应测试机型,在每个机型上面均会进行以下三项测试:

  • 安装测试
  • Monkey稳定性测试
  • 卸载测试

自动化测试通过流程或标准:以上三项测试全部通过,才会被判定为机型适配测试成功。

无界面检测(不作为自动化测试审核标准):在应用进行Monkey的过程当中检测是否为无界面应用,检测方式是启动Monkey测试当中是否提示No Activities。在将审核结果回传给商店服务的过程中,会同时返回无界面检测结果以便进一步处理。

在安全性上,接入国内多家安全厂商的安全引擎进行扫描,能够检测到“通知栏广告”、“悬浮窗广告”、“积分墙广告”、病毒等问题。

2、安全性测试

在安全性上,接入国内多家安全厂商的安全引擎进行扫描,能够检测到“通知栏广告”、“悬浮窗广告”、“积分墙广告”、病毒等问题。

二、自动化测试失败

进行自查

自动化测试失败,即未通过机器测试,此时您将收到系统自动发送的通知邮件。针对这种情况,您可以根据邮件中提供的应用崩溃日志—FC_log文件说明进行对应的修改。

以下将向您介绍,如何从FC_log文件中得到相应的崩溃信息,并作出修改。如果您不熟悉此项内容,可交由相关的工程师进行处理。

:自动化测试失败是由于开发者自身apk包可能存在问题,例如apk包体设置了支持的sdk版本(如Android7),而应用商店自动化测试目前只支持Android9、10、11, 这样就会造成因没有合适的安卓测试版本而被直接判定为失败。

1、FC_log文件的下载

如果您的应用没有通过单apk的测试,您会收到一封反馈邮件,邮件内容如下图所示,点击“下载FClog测试”后可以下载FC_log文件。

上传文件

2、FC_log 文件的说明

开发者下载的FC_log文件为一个名为report.zip的压缩包文件,解压缩后,如果存在txt文件,则为自动化测试最终的测试日志文件(bugreport.txt日志文件);如果存在mp4或jpg文件,则为测试过程录制文件。

txt文件一般使用model + [miuiVersion] + result + random code的形式命名,其中:

  • model表示测试手机的名称,如Redmi Note 7;
  • miuiVersion表示测试手机miui系统版本,如5-V10.3.6.0.PFGMIXM;
  • random code表示生成的随机码,如6875410759309119599。

压缩包文件结构如图所示,txt文件即为bugreport日志文件,mp4文件即为测试过程录制文件:

上传文件

3、bugreport分析方法

开发者可直接使用文本编辑器打开日志文件,由于日志文件较大,使用系统自带的编辑器易发生卡死和无响应,推荐使用VimVS Code(本教程默认使用VS Code)打开日志文件。打开日志文件后,可看到应用测试过程中的详细记录,如图所示:

上传文件

hhh

开发者亦可使用chkbugreport工具分析日志信息。分析bugreport日志文件需要一个开源工具,从https://github.com/sonyxperiadev/ChkBugReport下载开源代码,按照构建方式生成chkbugreport.jar可运行jar包,或直接下载已构建好的chkbugreport.jar文件。将chkbugreport.jarbugreport.txt文件放在同一目录下,准备解析日志文件。

由于历史原因,新版测试的bugreport日志文件需要删除前面的WARNING和IGNORING提示语句才能保证最终解析成功。

使用VS Code打开txt日志文件,找出WARNING和IGNORING警示语,删除选中部分后保存,删除前后对比如下图所示:

  • 选中需要删除的内容
上传文件
  • 删除后
上传文件

hhh

在bugreport日志目录中打开命令行工具,运行java -jar chkbugreport.jar bugreport.txt(需要Java 8+运行环境),在本目录中会生成bugreport_out文件夹,如图所示:

  • 运行命令
上传文件

hhh

  • 运行后在当前目录生成bugreport_out文件夹
上传文件

hhh

  • 使用浏览器(推荐chrome浏览器)打开index.html,即可查看日志解析结果
上传文件

hhh

Error处为此应用存在的BUG,其中您只需要修改属于您应用的BUG(根据BUG的包名判断),点击相关错误后,在右边的界面点击Link to log,如下图所示:

上传文件

4、测试的Monkey参数

测试的脚本目前不能对开发者开放,但是下面的monkey的参数,开发者可以做下参考:

hh

adb shell monkey -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 -p '%s' 1000

如果在FC_Log文件里面没有找到对应app的error信息,请开发者检查manifest文件中的launchable-activity信息,我们的测试是通过launchable-activity来启动应用的。请在Linux环境下进行编译打包,windows环境可能会造成launchable-activity名字出错的问题。

使用云测服务

如果您参照以上的信息仍然不能找到应用的BUG所在,可以使用https://testit.miui.com/中的云测服务自行进行测试。

自动化结果驳回操作操作路径:

点击进入云测服务平台https://testit.miui.com/?cUserId=IQk73BUnit2AE3GFwiUEj48ES7c 若自动化测试结果驳回,可以在云测服务平台中的“兼容性测试”或“商店组合套餐测试”任选其一进行测试;安卓系统版本可选择被驳回的安卓系统版本进行测试,机型可随机选择;

方法一:点击“兼容性测试”进行测试:

上传文件

上传文件

方法二:点击“商店组合套餐测试”进行测试:

上传文件

上传文件

以上是自动化测试介绍及崩溃日志说明的全部内容,如果您看完此文档后仍有问题,可与我们取得联系。应用开发者请联系客服进行反馈。

以上内容对您是否有帮助?

文档内容是否有帮助?
有帮助
无帮助