• APP测试整理


     Android SDK

    2、新建一个环境变量,变量名:ANDROID_HOME,变量值:D:developAndroidsdk ,就是自己sdk的路径,点击确认。
    3、在系统变量path中添加 ;%ANDROID_HOME%platform-tools; %ANDROID_HOME% ools
     
    https://www.androiddevtools.cn/里下载了Platform-Tools
     

    解压后放到sdk的根目录下
     

     在sdk下面的platform-tools下执行cmd:

    打开夜神模拟器:

     adb的组成

    adb(Android debug bridge)是用来连接安卓手机和PC端的桥梁,通过adb服务,在PC端命令行界面对手机或者模拟器进行全面的操作。包括三部分组成:

     1.客户端client:运行在你的电脑上,你可以通过shell来调用起一个客户端。其他Androic工具,例如ADT插件、DDMS都可以创建出一个客户端 
     2.服务器server:运行在你电脑的后台,负责管理client和daemon进行通信。
     3.守护进程daemon:运行在模拟器或者Android设备的后台。

    adb在platform-tools里面,先去配置系统环境变量,path里面加入D:developAndroidandroid-sdk-windowsplatform-tools,然后连接夜神:

    adb的命令

    手机本身没有root权限。

    adb --help 查看帮助手册
    adb devices 检测连接到电脑的安卓设备,这个是我们会经常用到的检测命令
    adb pull <手机路径> <本机路径>从手机中拉取信息放到本地电脑上
    adb push <本机路径> <手机路径>从本地推送信息到手机上
    adb shell----登录设备shell (命令行的人机界面) ,进入到linux命令环境
    adb logcat--打印日志

    adb install xxx.apk--为了获取apk的安装包所在地址,可以直接把apk拖到 cmd的窗口获取,返回success就说明安装成功了!
    adb install-r xxx.apk--保留数据和缓存文件,重新安装APK
    adb uninstall com.tencent.mobileqy--卸载应用
    adb uninstall-k com.tencent.mobileqq---卸载应用但保留数据和缓存文件
    adb shell dumpsys activity | find "mFocusedActivity" ---查看前台应用activity名
    adb connect/disconnect通过wifi进行远程连接手机进行调试

     adb logcat -v time   加上时间戳打印日志

    安装apk应用:

    adb install C:UserswangyiDownloadsxfplay.apk

    卸载apk应用要靠包名来卸载。

    查看手机里所有包名:adb shell pm list packages

    查看正在运行的应用的包名:adb shell dumpsys activity | find "mFocusedActivity",然后卸载:

    真机调试:

    真机远程调试步骤: (必须要保证手机和PC连接的通过一个路由器) 
    1、还是需要将手机连接到PC端
    2, adb devices检测到设备
    3, adb tcpip 5555确定手机端和PC端的通讯端口号
    4、拔掉手机, adb connect手机IP地址

    adb disconnect取消远程调试

    monkey

    -v用于指定反馈信息级别(信息级别就是日志的详细程度) ,总共分3个级别。
    -p后面接着的对应的包名,如果是整机测试,就不需要,用此参数指定一个或多个包(Package即App名字) 。
    -s用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。用于问题重现。
    --throttle <毫秒>用于指定用户操作(即事件)间的时延,单位是毫秒,adb shell monkey-p com.lemon.lemonban--throttle 3000--randomize-throttle -v 20。
    --ignore-crashes--ignore-timeouts这里是在monkey测试的过程中遇到crash或者timeout的情况时忽略掉,一般不设置时,出现crash或者timeout时, Monkey测试会终止。这里是防止Monkey测试终止。

    次数 100000 这里是指点击的次数,根据测试的经验,对于单个app这个次数设置在1000g0圣瓣理磐了,如果是整机,一般设置在500000次。

    -v后面是事件的次数,一个操作可能由多个事件组成。

    命令整合:

    adb shell monkey -p com.xfplay.play --ignore-crashes --ignore-timeouts --throttle 200 --randomize-throttle -s 3500 -v -v -v 200 > D:developAndroidlogsmonkey_log_01.txt

    App性能测试

    性能测试(performance)
    通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能能否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。
    测试时间:与功能测试并行。
    测试范围:产品的核心功能。用户使用最频繁,与用户交互最多。
    按App构成特点,将性能测试分为客户端性能、服务器性能两大块,客户端性能这边也分为:整机性能(ROM)、硬件性能、App性能。我们关注点是客户端App性能测试。

    客户端App性能测试-一般会给定指标的范围
    性能指标:冷热启动时间、CPU、内存、流量、电量、帧率/流畅度、过度渲染。
    冷热启动时间:
    冷启动一程序完全关闭时的启动。
    热启动一程序退到后台,并未完全杀死时的启动。
    启动命令: adb shell am start-w-n com.xxzb.fenwoo/.activity.MainActivity。
    过度渲染:描述屏幕上的某个像素在同帧的时间内被绘制了多次过度渲染/绘制查看方式:打开开发者选项→调试GPU过度绘制-->显示过度绘制 域大量红色过度绘制,蓝色绿色良好。

     

     过度渲染会造成应用卡顿。

    点击模拟器设置——关于平板电脑——版本号,多单机几次版本号打开开发者选项,

     在开发者选项里可以开启调试GPU过度绘制:

     

    弱网测试背景:
      在移动互联网时代,用户会在各种网络状况下使用我们的APP,他们使用3G或4G网络,甚至还在用2G,现在的人们更习惯在上下班的路上去关注一些新闻,看看股市,小说,直播,玩游戏等等。那么就会面临一个问题,在地铁里,巴士上,甚至是电梯,车库等等的场景里。在这个时候,我们就需要针对这些场景,去关注一下软件的运行状态。以及弱网环境下,出现丢包、延时软件的处理机制。避免造成用户的流失。
      延时(fiddler) +丢包(network )

    弱网测试关注点
    丢包
    丢包应该是最常见的问题。在TCP协议中,需要不停的发送请求,来确认连接状态,一旦发生丢包,就需要重传。这个时候就需要去检查产品的处理机制,给予什么提示,如果未响应怎么处理这些。
    延时
    延时也是很常见的问题。由于网络太差,产生了网络波动,导致数据包在传输的时候出现抖动。可能导致请求出现超时的现象。这个时候就需要给予相应的提示,或者是其他的处理方式。

            

    通过fiddler来实现延时。

    先在模拟器上开启代理:

    打开设置——WLAN——长按WiredSSID——修改网络——高级——代理——手动,输入电脑的ip+端口

    打开fiddler,设置抓取端口8080,Ctrl+R进入脚本编辑器,更改响应延时时间:

    保存重启,再去模拟器打开应用可以看见延时效果,刷新个页面都要等很久。

    至于丢包:用这个工具Network Emulator Toolkit

  • 相关阅读:
    java、el表达式中保留小数的方法
    EL表达式取整数或者取固定小数位数的简单实现
    Spring框架学习之第8节
    shell脚本接收输入
    awk除去重复行
    awk过滤统计不重复的行
    Spring框架学习之第7节
    jsp中利用checkbox进行批量删除
    javaScript解决Form的嵌套
    Spring框架学习之第6节
  • 原文地址:https://www.cnblogs.com/wangyi0419/p/12089059.html
Copyright © 2020-2023  润新知