如何让用户感觉App运行速度更快呢,这需要对App进行性能测试。限制App性能的因素按照App的系统结构分为App自身和App需要用到的后台服务。
测试App连接网络的速度
一般采用在模拟Mock环境下进行测试,测试方法更多使用的是在App的log中添加时间戳的方式计算时间,例如使用Apple公司提供的iPhone Configuration Utility中Devices的Console查看App的log。
测试App在不同网络速度下操作的流程程度
测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。
测试App对于前台页面渲染的性能
测试可以使用在App的log中添加时间戳方法验证,也可以通过使用App的直观感受来验证App性能带给用户的体验。特殊的是,当App中使用WebView,测试人员可以快速地刷新当前页面或者在使用WebView的页面间进行切换,来验证App是否有性能问题甚至发生崩溃。
测试App操作数据库的性能
iOS操作系统在设备本地存储App数据时使用的是CoreData或者SQLite数据库;Android操作系统在设备本地存储App数据时使用SQLite数据库。如果操作的数据量很大,便有可能出现App的性能问题,此时App测试就很重要,对数据库操作的功能进行大数据量的测试。测试人员也可以和开发人员一起,遵照Web端数据库优化的一些原则,如数据库启用事务,使用索引,数据的批量操作等优化方法,提高数据库的性能。
测试App的会话session是否有过期设置
对于App的会话session是否有过期设置的测试,可以在App运行中切换到别的App或者桌面一段时间,然后再次进入App,看App是否需要输入密码等验证信息。值得注意的是不同App的合理session过期时间不一样,测试人员需要和产品经理、开发人员等确认之后制定出合理的测试用例。
测试App请求中是否包含了明文的用户信息
包含了明文的信息,如同App中标示用户应该使用UUID或GUID等转码后的信息,而不是直接的用户电话号码或账户信息,当然更不应该明文传送这些信息。测试人员可以使用Apple的iPhone Configuration Utility,Android SDK自带的DDMS,Charles和Fiddler这些工具来监控App发送的请求。
测试App的请求是否加密
一般App请求可以使用HTTP,但是关系到用户敏感信息的请求,需要使用HTTPS等加密传输。
测试SQLite数据库的存储是否安全
测试人员可以通过ADB连接到root的Android蛇别,并使用SQLite来查看具体的数据库保存的信息。显然,把用户实际的登录信息明文存储在数据库文件中是不安全的,最好不要存储,如果必须存储,最好对这些信息加密后再存储。
测试App使用WebView的安全性
由于WebView的请求和在Web端请求数据是一样的,所以任何适用于Web端的攻击方式和漏洞对于WebView来说都是通用的。
网友评论