51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2765|回复: 3

【转】手机软件的测试主要有哪些方面去测试,性能测试用什么去测试好?

[复制链接]
  • TA的每日心情
    无聊
    7 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2016-7-19 14:45:37 | 显示全部楼层 |阅读模式
    作者:武海峰
    来源:知乎

    有很多方面需要考虑到,我列几点有明显特征的(我这里特指跟网络有交互的移动互联网应用,不是那种单机版的应用):
    • 功能测试:手机软件的基本功能。倒不一定完全由测试人员来完全执行,但却是所有测试中最重要的,需要测试人员做很好的测试策略和职责划分。
    • 稳定性测试:大多数手机应用是需要保证能够稳定运行一定时间的(尤其是对于一些记事类应用),而且在应用的运行状态发生切换后需要继续保持当前的状态,不出现闪退。
    • 性能测试:这部分分为两个方面,一部分是后台服务的性能测试(API的响应时间和响应报文大小),一部分是应用自身的性能情况(占用CPU、内存、I/O、电量情况,以及页面到页面之间的切换速度,如果是游戏或动画,还要保证能够在一定的帧率以上)。
    • 安全测试:关键的机密数据连接有没有走加密连接;本地数据库有没有做加密处理,是否会被其他恶意应用读取;后台服务的接口是否安全,会不会受SQL注入的影响;应用有没有做混淆,会不会被逆向以及会不会在渠道方被修改重新签名挂马;敏感数据是否存在了SD Card上等等。
    • 地理位置定位测试:大多数业务软件(电商类)都支持获取用户的地理位置信息,方便做一些本地业务的定制(尤其是对于O2O行业),至少需要考虑到三方面:1. 城市是否能准确定位;2. 定位位置精度是否符合要求;3. 地理位置名称解析过程无误。
    • 应用升级兼容性测试:需要保证应用能够在升级或跨版本升级后一些关键数据得以保留,而不必用户重新设置,诸如用户账户认证信息、亮度设置、用于标示设备的UUID和一些关键的应用功能开关设置等等。
    • 设备兼容性测试:随着Android设备的快速分化以及iOS设备的缓慢分化,应用需要适配在不同配置的硬件平台上(不同的CPU体系结构、不同的RAM配置、不同的Flash存储、不同的传感器配置、不同的网络模式等等),同时还要兼顾不同的OS版本,所以需要很大的精力放在系统兼容性和设备兼容性测试上。
    • 耦合应用测试:对于今天的移动应用,“孤岛”模式的应用已经不复存在。大多数应用需要跟其他应用进行交互,从而达到“社交化”或“分享”以及“支付”的功能,这样,它在运行时跟其他软件的交互就存在一定的不确定性,这时如果应用有版本升级,我们需要关注升级后的耦合应用跟我们的应用之间的交互是否还依旧有效。
    • PUSH跳转测试:现今的移动应用同样还存在通过推送服务来让用户到达特定页面的特征。这样我们需要对PUSH服务能否到达特定页面并正确展示特定页面做测试。
    • 统计上报测试:对于大多数应用来说,收集一些用户数据有助于他们对用户行为作出分析,从而对比是不是一些新功能的加入能提高用户的活跃度或转化率。这些信息都需要一定的上报方案才能获取、入库和分析。所以对于QA来说,这部分工作并不弱于一般功能测试。
    ---------------------------------------------

    补充说的网络环境,我再补充一下网络相关的。网络方面可以重点关注三类测试:

    • 功能测试(用户体验方面)。在有些2G/3G网络上请求延迟会比较大,建立连接速度慢,以及不断进行大量的分散请求也会导致功耗增大、反复建立连接导致完成所有请求/响应时间长,这些都需要关注到。同时,应用内提供一套支持节约流量的使用模式也是一种可取的途径。另外,应用自身也可以考虑加上一定的离线工作模式,如将一些关键数据在WiFi连接时或有网时进行预取。参考豆瓣电台离线模式或虾米的歌单离线收听。不过此类测试可以通过一些工具来模拟网络延迟大或是丢包严重的情况,用2G/3G网络直接测试的环境构造成本会比较大。
    • 适当的性能测试。功能测试已经能发现很多用户体验方面的问题,但这是大概的。如果要特别精细地定位问题瓶颈,需要通过性能测试详细分析延迟出现在哪里,是在建立连接的过程还是服务端响应的过程,或者是应用本地处理返回的数据上。
    • 由于运营商在2G/3G网络环境上的复杂配置,很多情况下应用到服务端的连接会出现各种各样的怪象,导致用户无法在操作应用端时成功将请求发往服务端。这部分无法直接通过测试来保证(除非你**真的**有足够的资源可以做好众测)。建议跟运维组联系部署或租用全国范围内的电信、联通、移动网络监控(监控到关键域名下URL的响应)。



    回复

    使用道具 举报

  • TA的每日心情
    无聊
    7 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

     楼主| 发表于 2016-7-19 14:46:30 | 显示全部楼层
    有人把手机端、web端都叫做前端,我觉得是有道理的,手机端和web端都是负责数据的展示,只是展示的平台不一样,手机端在不同的OS上展现,web端在不同的浏览器。
    不同的平台就有不同的技术栈,测web端时我们要掌握HTML/HTML5、JS、CSS,对应的我们在测试android就要求掌握java,测试iOS就要掌握swift和OC。
    在有这些前提下,我们再来回答题主的问题,手机端要测什么?答案是我们在web端要测的,在手机端一样要测。
    性能测试用什么工具?抛开服务器端的性能,只说APP的性能,先说性能有哪些指标,CPU/MEM/IO/电量使用率,还有个容易被忽略的是页面流畅性也就是FPS。用哪个工具?iOS有自带的调试工具可以明确显示到每个方法使用的CPU和MEM,至于FPS自己写两行代码就可以解决了。但是,重要的来了,性能测试中的数据收集并不是目的,而是手段,终极目标是性能优化,所以你看如果要做手机端的性能测试,先学好如何开发一款高性能的APP吧。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    7 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

     楼主| 发表于 2016-7-19 14:47:25 | 显示全部楼层
    Bugtags ,移动时代首选 Bug 管理系统
    1、UI测试
    2、功能测试
    3、交叉事件测试
    4、容量性测试
    4.1 负载测试
    4.2 强度测试
    5、用户手册测试
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 17:13 , Processed in 0.074963 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表