最近面试了一些测试候选人,聊到app的稳定性测试相关话题时,比如什么是app稳定性测试,app稳定性测试的目的,在什么时候执行稳定性测试最佳等,发现还是有很多的测试同学对app稳定性测试了解比较浅,甚至还会理解错误。为此给大家说说APP的稳定性测试。
一、什么是APP稳定性测试
app的稳定性也可以理解为app的健壮性、可靠性。通俗的说就是对app进行破坏性测试,app也能达到稳定的一个状态。
对被测应用进行长时间的操作,在各种场景使用过程中都可以正常使用,不出现或极少出现崩溃/闪退、无响应等问题
好比一个健康的成年人,出现了普通发烧感冒也不会影响其正常的生活,那么我们会认为其身体还是健康的。回到APP测试也是一样,如果对被测应用进行各种操作,长时间操作,也不会影响APP的正常使用,我们就会认为这款APP在稳定性方面是符合预期的。
二、APP稳定性测试的目的
测试APP是否达到一个稳定的状态
三、APP稳定性测试什么时候执行
在面试时问到候选人app稳定性测试在什么时候执行效果最好?大部分候选人都是回答等app稳定后再开始进行稳定性测试。
如果理解了app稳定性测试的目的,都不会这么回答。app稳定性测试目的是测试app是否达到一个稳定的状态,结合缺陷越早发现修复的成本越低的原则,越早发现app在稳定性方面的缺陷,越早暴露修复,上线后对用户的影响就会越小。所以 APP稳定性在测试前期就开始执行测试,比如APP提测后,每天利用晚上的时间来执行,第二天早上看结果,既不会占用测试时间,也可以尽早发现问题。
四、APP稳定性测试如何执行
面试过程中问到APP稳定性测试怎么执行,大部分候选人都能回答出来使用monkey工具。Monkey测试是最常用的一种测试手段。monkey的安装使用教程见文章:https://blog.csdn.net/dou_being/article/details/93422657
五、APP稳定性判断
APP稳定性判断的常用的指标是崩溃率、ANR率。
如果用计算公式来说明那就是:1-崩溃率/ANR率来衡量,崩溃率/ANR率越小,稳定性越好。测试阶段可以用公式:崩溃率/ANR率 = 崩溃次数(ANR次数) / 总操作次数 * 100%
上线后使用的公式:崩溃率/ANR率 = 一段时间内崩溃用户数 / 一段时间内总用户数 * 100%
六、影响APP稳定性的因素
常见影响APP稳定性的原因有以下几种:
-
内存问题
-
app所需内存超过设备限制(如可用内存过低时),导致app崩溃闪退
-
app内存泄漏,耗尽设备全部内存导致整个系统崩溃
-
app内存越界,使用了非授权的内存位置导致app崩溃
-
程序逻辑错误
-
数组越界,如负数索引、超过数组长度的索引
-
堆栈溢出,如堆栈区缓冲区被填满,堆栈空时取数据等
-
并发操作,如并发时调用了一个已释放的指针
-
逻辑错误,如0除作为除数问题
-
交互逻辑
-
app界面交换操作滑动导致app崩溃
-
未处理等中断及异常
-
app在使用过程中面临很多中断、如切后台、接听电话、切换网络、断网以及用户的一些非预期操作
-
网络因素
-
比如网络不佳、弱网环境,无法达到app所需的快速响应时间,导致app崩溃
-
不同网络的切换
希望本次的分享可以帮助大家更好的理解APP的稳定性测试以及更好的掌握APP稳定性测试。
欢迎关注公众号:测试记