您的位置:首页 > 移动开发

进行app性能和安全性测试的重要性

2018-01-17 16:22 316 查看
如何让用户感觉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来说都是通用的。

  更多文章转至如何让用户感觉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来说都是通用的。

  文章转至51Testing软件测试网(http://www.51testing.com),更多测试文章请前往51Testing软件测试网。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息