App手工测试

目录

1.App应用架构

1)App与Web端对比

2.App环境

1)后端环境

2)前端环境

3.App应用测试要点

4.兼容性测试

1)关注点

2)应用兼容性

5.安装/卸载/升级测试

1)安装测试

正常场景:

异常场景:

2)卸载测试

3)升级测试

 6.交叉事件测试

7.Push消息测试

1)消息推送场景:

2)消息推送原理:

3)测试点

8.性能测试

1)性能测试指标

2)性能测试工具——GT

3)指标介绍

①CPU

②内存

③流畅度-FPS

④流量-net

⑤电量

⑥启动速度

9.用户体验测试

1)测试关注点

(1) ul界面测试

(2)易用性测试

(3)横竖屏测试

(4)关注手机应用上的其他辅助功能

10.稳定性测试


1.App应用架构

App客户端应用+应用服务器+数据库

1)App与Web端对比

相同点:

1 、APP和web使用的后端服务器是相同的

2、前后端都使用HTTP协议进行交互(也有部分APP用socket来交互)

不同点:

1、APP是C/S结构(C:客户端,app需要安装、更新、卸载;web浏览器是B/S结构(B:浏览器

2、APP前后端交互的数据格式以json为主,web前后端交互的数据格式以HTML为主

2.App环境

1)后端环境

一般公司内部开发、测试人员会使用不同的环境,以隔离工作过程中彼此之间的干扰。同时,上线给用户使用的产品也会单独部署环境。

①开发环境:指开发人员进行开发时调试运行的环境

②测试环境:提供测试人员使用,用于测试人员执行测试,回归缺陷。

③预发布环境:这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。

目的是测试最新的代码,应对线上复杂数据的处理情况。

注意:

1.针对基本业务进行测试

2.测试写业务,使用自己构造的数据。

3.升级时涉及到数据库的结构变化,必须将生产环境的数据备份到测试数据库来进行测试。

④生产环境:指正式提供对外服务的环境,产品的实际用户使用的环境

预发布环境过后,正式发布生产环境之前,一般会进行灰度发布
灰度发布:由于一个项目,一般线上部署时有多台机器运行,所以灰度1台至三台,看看新功能是否OK,如果失败则只需要回滚几台,比较方便。

2)前端环境

APP开发完成后,相应的开发人员会打出应用程序包,由测试人员安装测试。

-安卓:APK测试包
-lOS:IPA测试包

①应用内测发布

在实际测试工作中,为了方便测试程序包的安装和管理,可以使用一些免费的应用内测分发平台。将应用测试包上传到这些平台上,可以生成对应的二维码,直接扫码进行应用安装。
-蒲公英
-fir.im

②应用线上发布

产品测试完成后要在线上进行发布,让用户进行下载使用。
-安卓应用:豌豆荚、应用宝、360手机助手、各类手机品牌商城等;
-IOS应用:主要有App store、OTools

线上发布流程:

->Apk/ipa测试完成->提交应用市场审核->添加渠道号->渠道包测试->正式上线

3.App应用测试要点


4.兼容性测试

1)关注点

手机型号:主流机型,

系统版本:安卓系统、IOS系统,

屏幕尺寸/分辨率

网络:2/3/4/5G,WIFI

2)应用兼容性

①手机硬件兼容:home键、电源键、音量调节等

②外部硬件兼容:耳机、蓝牙等

③操作系统兼容:wlan设置、系统时间调节、LBS定位

④与其他APP兼容:后台播放音乐,与App中播放冲突

5.安装/卸载/升级测试

1)安装测试
正常场景:

1、在不同的操作系统版本上安装

2、从不同的安装渠道安装(APP商城、手机助手、直接下载apk或者ipa文件安装)

3、不同的安装路径(安装到手机上、安装到SD卡上)

异常场景:

4、安装时出现异常((关机、断网),恢复后能否继续安装

5、安装时存储空间不足

6、安装时手动取消后再次安装

7、正在运行时覆盖安装

8、低版本覆盖安装高版本

9、卸载后安装

2)卸载测试

1、正常卸载(APP手动卸载、工具App卸载)

2、运行时卸载(远程卸载

3、取消卸载

4、卸载异常中断(关机

5、卸载后无数据残留

3)升级测试

1、从临近版本升级(v1.0->v1.1

2、跨版本升级(v1.0->v1.3

3、不同渠道升级(应用商场、手机助手)

4、升级提醒成功(可不提醒、可以提示升级、强制升级)

5、应用内升级时非WlFI提醒

升级后要观察升级前的数据正常(当数据结构改变而开发没有处理好时很容易出现升级前的数据混乱)

 6.交叉事件测试

交叉测试又叫冲突测试或者干扰测试。
是指一个功能正在执行过程中,另外一个事件或操作对该过程进行干扰的测试。

例如:在App前台/后台运行同时接听来电或者下载文件等等。

交叉事件测试关注点
如何测试:模拟用户场景(所有可能会影响APP正常运行的场景)

APP运行时接打电话、收发信息、查看应用推送、接上蓝牙设备、接收文件弹窗提醒、旋转屏幕、切换网络(4G、Wi-Fi)、使用相机、计算器等手机自带应用、电量告警、插拔充电器。

7.Push消息测试

1)消息推送场景:

产品角度:功能需要,如:资讯类产品的新闻推送、工具类产品的公告推送等等

运营角度:活动需要,如:电商类产品的促销活动;召回用户/提高活跃度等等

2)消息推送原理:

pull:客户端定期向服务器发出请求,有新消息就返回给客户端
push:服务器有消息就把消息推送给客户端(更省资源)

3)测试点

服务器配置:

1、Push消息是否按指定业务规则发送

2、当Push消息是针对特定用户时,检查收到的Push与用户身份是否相符;

手机配置:

3、设置不接收推送消息时,用户是否会收到Push消息;

4、设置push消息显示的位置,是否与配置一致。

5、收到push消息,是否能正常打开

APP不同状态下push消息测试:

6、APP在前台使用时,收到push消息如何提示

7、APP在后台运行时,收到push消息如何提示

8、APP离线,是否能收到push消息。

8.性能测试

1)性能测试指标

2)性能测试工具——GT

性能测试工具GT的作用:

  • 监控常见的性能指标:CPU、内存、流量、电量、流畅度
  • 抓取 log日志
  • 抓包

安装:

  • 单独安装(APK,ios,无单独安装包)
  • 集成SDK ( android,ios 都可以,集成到被测app代码)
     

使用:

安装:手机有root权限
(1)进入AUT界面,配置要监控的指标

(2)进入参数页面,选择要统计的参数,选择需要实时监控
的数据

(3)配置日志开头为logcat为on

(4)进入APP进行测试

(5)回到GT界面,在参数界面看查看监控指标的数据统计

(6)进入日志,查看响应的日志记录

3)指标介绍
①CPU

CPU出现问题的现象:

1 CPU使用长时间处于90%以上工

2手机发热、耗电量增加

3反应变慢、引起ANR (Application Not Responding)

②内存

指标:

  • 私有内存:进程独占的内存,在进程销毁的时候同步回收私有内存
  • 实际使用内存:除了私有内存以外,与其他进程共享的内存空间,在进程销毁的时候不能回收。
     

内存问题:

  • 内存泄漏:内存泄露memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。(程序实际使用的内存PSS持续增长)
  • 内存溢出:内存溢出out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory。memory leak会最终会导致out of memory!(程序出现闪退)
     
③流畅度-FPS

1.想达到流畅的效果,至少需要每秒24帧
2.60帧每秒的流畅度是最佳的,我们的目标就是让程序的流畅度能接近60帧每秒

④流量-net

常用流量测试方法:
1.统计测试法
获取应用程序收发的数据报文,统计出对应的流量
2.抓包测试法
主要是利用工具Tcpdump或者fiddler抓包,导出 pcap文件,再在wireshark 中打开进行分析。

流量优化的方法:
>1、数揭压缩
>2、不同的数据格式
>3、控制访问的频率-
>4、只获取有效的数据
>5、缓存
>6、针对不同的网络情况使用不同的策略

⑤电量
⑥启动速度

-两种启动方式:

冷启动:指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动。

热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次去打开这个app,这种启动方式叫热启动。

-测试方法:

使用命令adb shell am start -W -n包名/Activity名,查看App启动耗时。


三个重要时间指标:
Thistime:当前activity的时间
Totaltime: APP启动时间:包括创建进程、APP初始化、activity初始化到界面显示。
waittime: totaltime+前一个activity pause时间

9.用户体验测试

1)测试关注点
(1) ul界面测试

对照UI交互设计文档,检查每个界面设计菜单、对话框、窗口、风格、布局等

注意事项:图片、按钮(选中效果)、字体大小、颜色、居中对齐等等

(2)易用性测试
  • 是否有空数据界面设计,引导用户去执行操作
  • 菜单层次是否太深
  • 交互流程分支是否太多
  • 完成业务操作的步骤是否过多
  • 界面中按钮可点击范围是否适中
  • 是否定义Back的逻辑。涉及软硬件交互时,Back键应具体定义
(3)横竖屏测试

横竖屏的切换是否正常(针对每个页面都要做横竖屏测试)

特别要关注APP中有表格,因为横竖屏的显示宽度不一样

(4)关注手机应用上的其他辅助功能

可以重点关注"放大字体”、“反色”、“语音转换”、多点触碰等功能

10.稳定性测试

通过长时间对应用程序进行无序操作,检验应用程序是否会出现异常。

如闪退crash、无响应ANR等。


稳定性测试工具——Monkey

Monkey是一个命令行工具,是由安卓官方提供的。
测试人员可以通过Monkey来模拟用户的触摸、点击、滑动以及系统按键等操作(操作事件都是随机的),从而实现对APP压力的测试和稳定性测试。
开发人员结合monkey打印的日志和系统打印的日志,修改测试中出现的问题。

稳定性测试的时机
一般需要等产品稳定了,bug比较少的时候,再用monkey去测试待测试应用的稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值