欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 软件测试|App测试面试相关问题(2)

软件测试|App测试面试相关问题(2)

2025/4/19 11:44:44 来源:https://blog.csdn.net/chuanshixx/article/details/147276271  浏览:    关键词:软件测试|App测试面试相关问题(2)

一、App 稳定怎么做的?Monkey 怎么用(App 稳定测试)?

稳定性这块,我们当时用的是SDK 自动的一个Monkey 工具进行测试的,其实Monkey工具主要通过模拟用户发送伪随机时间去操作软件,通过执行Monkey 命令,它会自动出报告,执行测试大概在10 万次,每个动作的间隔时间250ms,主要就是看软件长时间,随机乱操作的情况,是否会出现异常,闪退,崩溃等现象。

一般我都是在下班的时间晚上时间执行Monkey 命令,并把生成的报告导出到电脑端,大概需要6-7 小时,第二天早上看报告,分析报告。如果出现问题,一般利用上次执行的那个种子值,再进行执行命令进行复测一下。

像monkey 命令:

adb shell monkey -p com.xy.android.junit -s 种子值–throttle 250 --ignore-crashes

–ignore-timeouts --monitor-native-crashes -v -v 100000 >

E:\monkey_log\java_monkey_log.txt

这里主要关注几个点:

  1. 指定种子值, 2. 忽略一些异常,保证能正常执行完成 3. 设置间隔时间 4.配置一些时间比例5.然后就是执行的次数。

对于报告怎么分析这块,主要看有不有CRASH(崩溃),ANR(超时无响应),Exception(异常)等的情况像看有不有空指针异常(NullPointException)啊,OOM 等现象啊等等,找到CRASH 崩溃ANR 超时无响应Exception 异常的位置,看出现错误的上一个动作是什么,什么做了什么动作导致错误出现。异常信息会详细的指出哪个Activity 出现了问题,甚至于哪个函数出问题了,具体哪个位置。然后把报告中出现的日志信息截图发给开发,开发修复完成之后,我们会根据种子值在进行复测一下。

稳定性这块我们当时就是这么做的。

二、App 弱网测试怎么做的?

弱网测试这块我用的fiddler 工具做的,通过fiddler 实现延迟发送数据或接收的数据的时间来限制网络的下载速度和上传速度,从而达到模拟2G,3G,4G 的移动网络的弱网场景。

具体操作,首先保证手机与电脑在同一个网络,然后在手机上,设置代理服务器,指定服务器为装了fiddler 的电脑,端口为8888,例外,手机端需要安装一个证书,主要为了实现对https 包的抓取,然后就是在fiddler 上设置上行,下行速率,实现对发送,接受数据的进行网络延迟。具体在fiddler 的菜单上有一个Rules->Customize Rules,打开Fiddler的ScriptEditor 文件,在其中找到m_SimulateMode 标志位。然后修改上行,下载的网络延迟时间即可。

然后把Rules->Performances->Simulate Modem Speeds 勾选上这样就可以了。

弱网测试,主要关注一下几个方面:(达到什么标准算通过)

1、页面图片在弱网环境下能不能正常加载出来(这里主要就是看图片加载逻辑是否需要需优化)比如:大图片加载,地图加载大图,高清图片,视频,都要做压缩处理,重传机制

2、对于需要模版的页面,看版式结构是否混乱(这里主要就是看模版文件在弱网环境的加载是否需要优化)

3、会不会出现页面响应时间较长的问题,并且看页面有没有友好的提示(这里主要就是关注页面显示逻辑是否待优化、重试机制加入)

4、会不会出现CRASH

5、当数据加载不出来的时候,界面有友好的提示,加载不出来,应该给到响应的缺省页

6、不会出现空白页

等等,弱网测试主要就是这么做的。

三、App 的性能测试

内容要点:

|-指标:cpu,内存,电量,流量,FPS,

|-怎么测?cpu,内存,流量android studio

cpu 不能超过10-20% 普通业务要求在10%左右,核心的业务,尤其是一些绘图的业务

要求在20%左右。指标:SE 给到,竞品分析

内存主要看有内存泄露的情况,怎么看?

流量:一致刷新使用软件,流量会逐渐增加

四、App 的性能测试怎么做的?

对于app 性能,我们具体测了2 个方面,一个就是app 的启动时间,例外就是关注软件在手机设备上运行的cpu,内存的使用情况,还有就是电量,流量,fps 的使用情况。

对于app 启动时间的测试,主要测了2 个场景,一个就是冷启动的时间,例外就是热启动的时间,我们当时用的是adb 命令来查看的,具体操作就是:首先需要查看软件的包名,及第一个activity 的名字,这里用的命令是aapt dump badging xxx.apk(apk 包名路径),然后通过执行adb shell am start -W 包名/首个activity 名字这条命令,可以查看app 的具体启动时间。

当时测出来大概冷启动的时间2.7s 的样子,热启动的时间大概是0.9s-1s 之间。而对于cpu,内存,电量,流量,fps 的使用情况,我们当时用的是PerfDog 来测的,这里我们主要测了一下几个场景:a.在低负荷的情况下,就是其他所有应用全部关闭,只运行自己的app,看性能表现b.还有就是高负荷,同时运行多个应用程序的情况,看自己的app 性能表现c.app 在退居后台的情况,CPU,内存,电量,流量,fps 的值使用情况。

具体操作的话,首先下载并在电脑上安装PerfDog 工具,然后启动,例外还需要在手机上手动安装PerfDog.apk,主要用来在手机屏幕上有实时性能数据显示,然后,打开PerfDog 工具,选择要测设备,以及要测试的应用软件(首先需要在设备上安装这个软件,再在PerfDog 工具界面左边可以选择添加要监测项目,一般主要选的的就是,cpu,内存,电量,流量,fps 这个几个指标参数。处理好了之后,然后在手机上运行对应的软件即可。

这里分别会根据软件的各个页面划分,还有就是根据功能划分,单个单个页面,单个单个功能操作,去观看性能的表现。在操作软件的时候,PerfDog 上会实时展示各个指标的性能数据,测试完成之后,保存到云端。

然后再针对不同档次的机型进行测试,比如高档机,中档机,低档机,分别进行测试,并且会去测试下同款竞品软件,进行纵向测试,并把测试数据保存到云端,然后进行对比分析。

性能测试我们当时就是这么做的。

五、对于内存具体怎么测呢?

对于内存其实主要看有没有内存泄漏的问题

具体我们是这样做的:

首先我会频繁操作同一个业务,看他的内存和cpu 是否逐步增长,最后稳定在一个固定大小的范围,如果在频繁操作同一个业务,内存一直在增长,可能存在有内存泄漏问题,尝试手动GC(手动回收内存,因为内存泄漏,系统已经回收不了,所以尝试下手动回收内存),内存明显或者断崖式的下降,基本就可以判断有内存泄漏的现象,再通过damp java 这个去分析,分析结果如果出现leaked , 就说明有了,里面可以找到是哪个对象,截图提bug,

2.使用app 过程中,内存一直在增长,那基本可以判断有内存泄漏的情况,还有看是否有内存抖动的现象:这里主要原因还是有因为大量小的对象频繁创建,频繁的回收内存,会导致cpu 频繁使用,造成cpu 使用过大,造成app 卡顿,导致内存碎片,内存泄漏等问题
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词