手机App软件与Web软件系统的架构是不一样的,手机是基于CS架构,而Web系统是基于BS架构的,所以测试手机App软件那么要考虑的东西会更多一些。
手机App测试,虽然要比Web测试复杂一些,但系统整理起来后,主要也就下面几个方面:
一、App功能测试(也叫App手工测试)
APP功能测试是指测试你这个APP的所有功能点是否能够验证通过。APP功能测试的测试用例设计需要结合产品需求和开发设计文档。这里以测试微博APP为例:
1. 发布微博,从界面上看有文字长度,是否添加图片,是否有话题,是否有@别人等等。
2. 发布微博的操作是否符合用户体验,选择照片,选择要@的人是否符合人类的认知
3. 发布微博这样一个动作肯定是和服务器交互的,那么需要考虑到各种网络因素
4. 发布微博是调用哪个api?有哪些参数?失败了会怎么样?是否会自动重试?
5. 发布微博的控件是否有native的还是webview,还是混合的结构?
6. 考虑一些android特别的交互,比如home,menu,长按home,发布到一半来电,关机,待机等
7. 发布微博,从java而言调用了什么方法做请求的?httpclient?怎么判断成功,失败了又是什么逻辑
二、App兼容性测试
app兼容性要考虑的点主要包括手机型号、手机的系统版本、及屏幕分辨率(覆盖主流)除了这三个重点考虑的点还需要考虑网络(2G\3G\4G\5G\WIFI)的兼容性以及手机硬件(手机按钮及耳机蓝牙设备)兼容性和手机软件(定位、地图app等)兼容性。
三、App安装、卸载、升级
app安装需要考虑的点:在不同手机、不同系统版本上安装、从不同渠道进行安装、安装时出现异常(关机、断网)恢复后能不能正常安装,安装时内存不足、安装时手动取后再安装、运行时覆盖安装。
app卸载需要考虑的点: 正常卸载、运行app时卸载、取消卸载、卸载时关机、卸载之后遗留数据检查等。
app升级需要考虑的点:临近版本升级、跨版本升级、不同渠道升级、升级提醒成功。
四、App交叉事件测试
app的交叉事件测试主要是指多个应用之间是否有冲突,比如使用app时拔打电话、收发短信、连接耳机或蓝牙设备、旋转屏幕、电量告警、插拔充电器等等。
五、PUSH推送测试
当前手机app都会有push推送功能,而在web系统中是没有所,所以push也可以做为一个专项来进行测试,比如测试push的业务规则、push推送的用户是否正确、push推送消息的跳转、以及push推送关闭后是否正常等。
六、App稳定性测试
由于app软件是安装在手机的操作系统之上的,为了保证app能够在长时间内运行操作不会出问题,所以需要做稳定性测试,稳定性测试需要用到monkey工具,monkey工具是基于命令行的方式运行的,通过这个工具长时间来操作对应的app,以此来检测app会不会出现假死(ANR)或者崩溃的问题。
七、App弱网测试
弱网测试是指手机app在网络不好的场景下,运行操作app,以此检测app会不会出现异常闪退、假死、以及异常提示信息等各种情况,弱网测试的重点是要模拟出各种复杂的弱网环境,一般都会借助于一些工具来模拟弱网环境,比如fiddler、charles等工具。
八、App性能测试
app的性能测试主要是指app运行操作过程当中,监测当前手机系统的一些性能指标,以此来确定app的性能是否会影响到用户的体验。app的性能指标主要包括以下几个:CPU、内存、启动速度、电量、流量以及流畅度。
作者:佚名
来源:知乎