最近跟朋友讨论手机软件的时候,分析了几种常见的类型,当然都是测试工作经验的一种体现,记录下来,陆续会不断更新。
1. 网络异常
通常在网络异常的情况下,客户端发出的请求,没有在一定时间内得到恢复,但是一般都会有一个超时的概念,如果程序在没有处理好的情况下,超时之后无法处理程序的逻辑,则经常会出现Crash。这种问题在网络差的情况下,经常出现,比如浏览论坛的时候,正常网络下访问无问题,在网络极其差的情况下,经常性的崩溃就是属于。
所以测试的过程中,我会通过拔路由器的网线的方式来进行测试,提交一个接口请求之后,立即拔去路由器的线。这样数据无法正常返回到客户端,等待超时之后,看前端的处理方式。如果处理不好的情况下,就会出现崩溃发生。
2. 内存问题
通常在开发程序的时候,内存的泄露或者没有正常回收,造成程序随着操作越来越多,占用的内存越来越大,最终导致崩溃的发生。
测试的过程中,这类问题会比较麻烦,总的来说,一款内存小的手机在测试的过程中是必须的,我会选择一款256M内存,Android 2.3的机器来进行测试。
同时会使用Emmagee的小软件进行检测,当然有一个合理的测试用力也是必须的。根据测试用例来正常跑软件,测试结束之后得到一张关于内存使用的图标,慢慢进行分析,对照测试用力进行分析查看是否能发现内存泄露的操作,如果有可疑的操作就要对其进行重复性测试,还是使用Emmagee的软件,不断的检测一个点。知道确认内存泄露的功能模块。
高级的测试还会使用DDMS进行查看,原理基本相同,具体方法可以查看网上写的逻辑。
总的来说,内存泄露对于测试人员,特别是手动测试人员比较困难,但是不是没有方法来进行。