1 功能测试

根据产品需求文档编写用例,执行测试

App客户单的单个功能模块

需要使用等价类、边界值,考虑正常和异常情况

依据功能业务逻辑考虑功能交互

注意:功能测试点提取和用例设计方法跟web测试一致,但App又一些自己特性测试,也要额外加到测试点中

1 功能性测试:安装与卸载、软件更新升级、登录测试、离线测试、消息推送        2 UI界面测试        

3 兼容性(操作系统、屏幕尺寸、分辨率)       4 安全性测试        

5 中断测试        6 网络测试        7 性能测试

1.1 安装与卸载测试

1)软件安装前:空间不足时是否有相应提示

2)软件安装中:A安装过程中是否可以取消   B安装是否可以正常运行   C空间不足时是否有相应提示

3)软件安装后

①是否可以卸载应用:a通过桌面卸载 b通过软件设置卸载             –软件设置:360、应用宝等

②常见bug:发现在Ios手机上有个应用安装时未完全安装,终止安装后未完成安装的应用图标一直显示在手机上,并且无法成功删除

③卸载是否支持取消功能,单机取消后软件卸载功能是否正常

④安装完是否自动删除安装包—占内存

4)重复安装:A提示版本已经存在 B直接覆盖安装,但是能正常使用


1.2 软件更新升级

1)升级之前:当客户端有新版本时,是否有更新提示

2)升级之后:A更新后各个功能(新/老功能)是否能正常使用   B更新后老数据存在并正常

3)非强制升级版:用户可以取消更新,老版本正常使用,用户在下次启动App时,仍能出现更新提示

4)强制升级版:用户没有做更新时,退出客户端,下次启动App时,仍出现强制升级提示

5)在线跨版本升级:A升级后正常使用    B选择版本—用户使用量最多的版本—主流版本


问题:版本升级测试的覆盖范围有哪些?—
测试策略

①新功能       ②老功能-优化       ③数据       ④bug修复升级,回归测试-老功能(根据项目时间、bug影响程度安排)


1.3 App登录测试

1)登录方式:用户名 短信验证码 指纹 二维码 手势 语音 头像识别 第三方登录(微信/QQ/微博)–是否支持

2)未登录用户

①一些页面的操作,是否做了控制 —权限

②点击某些资源,提示登录或者跳转登录页面

③用户主动退出登录后,下次启动App时,应该进入登录页面

3)切换账户登录:检查登录的信息是否做到及时更新

4)单点登录

①不允许多点登录时,是否将原用户踢下线,且能够给出提示信息

②允许多点登录,提示信息;且确保数据库操作无误,每个端可以及时看到数据的更新

5)用户登录时需时间太长,账户信息会过期

①出现“虽然是登录状态,系统会提示用户没有登录”

②强制退出,并提示:账户信息过期,请重新登录

 

1.4 触屏及操作测试

①触屏快捷手势,两指、三指滑动 —滑屏

②长按、短按屏幕  

③手机横屏、竖屏测试    —旋转屏幕

④同时触摸不同的位置,同时进行不同操作  —异常、闪退

查看客户端的处理情况,是否会crash(崩溃/闪退)、ANR(无响应)–Application not response

注意:需要跟开发和产品确认是否支持

 

1.5 App消息推送测试 –通知设置/按手机行为进行支配

1)开关设置:

①默认状态全部打开状态,客户端可以接收到推送信息

②设置开关可以打开、关闭:App设置开关关闭时,客户端接收不到消息推送

2)手机客户端未锁屏时

①App应用后台运行,消息推送是否可以正常接收,且可以点击查看

②App应用前台使用,可以收到消息提醒,且点击可查看

3)手机客户端锁屏时:消息推送是否正常接收

4)登录状态:

①退出登录后,是否接受push推送(根据需求来)

②未登录用户再去登录:批量接收多条信息推送     红点/条数

③当push消息是针对登录用户时,需检查收到的push与用户身份是否相符,没有错误地将其他人的信息推送过来

5)消息栏(通知中心)是否可以接收到消息提醒,且点击可查看,点击后消息栏中消失

 

2 UI界面测试:

确保产品UI符合产品经理制定的原型图与UI设计效果图/切图一致

依据经验、用户使用习惯、参考其他成熟的产品,界面可优化的Bug

一般设计界面(如菜单/对话框/窗口和其他可视控件)布局、风格,文字是否正确,页面是否美观,操作是否友好

如:安装App后的加载页/动态视频显示,分享页面的产品logo显示

注意:UI界面测试和web思路基本一致

 

3 兼容性测试  —适配

①应用是否可以在不同操作系统正常使用(Android/ Ios),那在这两个平台都要做兼容性测试

②每个平台的不同系统版本:

Android版本:6、7、8、9、10(10.1)以及各种小版本

Ios版本:9、10、11、12、13以及各种小版本

③是否能适配各种屏幕尺寸:

Android系列:4.5英寸、5.7英寸(phone & pad)

Ios系列:3.5英寸、4寸、4.8英寸、5.0英寸(iphone & ipad)

④市场占有率最高:https://tongji.baidu.com/research/

⑤分辨率适配:分辨率影响界面图标、文字大小,保证主流分辨率下页面显示完整。文字不被遮挡

⑥特定用户指定要求

总结:

①兼容性测试一般覆盖:–选取市面上主流手机即可

Android系统手机:小米、华为、vivo、oppo等

Ios系统手机:6s、6plus、7、8plus、x、xs、11、11plus

②公司与那些测试手机,就去测试那些测试手机的兼容性测试、界面测试

了解:云测平台,免费50款机型:安装、打卡App、monkey(猴子)、关闭App、卸载

          云测平台特点:①提供免费有限的操作平台  ②需要更加深入的测试–买、付钱 –人测试

 

4 App中断测试

1)App被手机行为打扰的情况:App能否正常处理,保证数据正确性  —运行,数据

2)主要对于核心功能存在实时数据交换的页面去进行中断测试,除了确保中断过程中有合理处理,还确保中断过后,恢复正常:
  ① 来电、来短信、锁屏解锁、断网重连、断电、低电量提醒、前后台切换、App切换

  ② 手机端硬件上,如:待机、插拔数据线、耳机、闹铃弹出框提示等操作

3)常见bug场景:

  ① 爱奇艺视频播放过程中,微信通话/电话中断:

   正常:App暂停状态;接听完电话之后,恢复直播正常

   异常:App卡死、音视频不同步

  ② 微信视频聊天,低电量提醒中断:(电话中断?)

   正常:聊天不中断,关掉提示后,正常通讯

   异常:App卡死/崩溃,微信聊天强行断开

 

5 网络测试

1)测试2G/3G/4G/5G/WIFI/热点,网络的切换

   例:从WiFi环境切换到4G环境提示是否启用4G网络,会产生扣费 —是否有提醒

2)测试有网/无网切换下

   ①有网到无网再到有网环境时,数据是否可以自动恢复,正常加载(网络中断重连)

   ②无网络时,各种提示信息是否友好,数据本地是否正确(比如提示当前已断开网络,请检查网络设置)

3)弱网测试(延时+丢包),关注弱网场景下超市是否有合理提示,且是否有重发机制

   ①提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒

   ②数据多次提交(支付类App),是否只能被执行一次

   ③最大尝试次数(3-5次),App是否正常工作

4)App离线测试  —缓存/刷新不ok

   ①应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离先状态下可以浏览本地数据

     对于离线(无网络)时,刷新获取新数据时,不能获取数据时会给出友好提示

     离线下,退出App再开启App时能正常浏览本地缓存数据  —不清除缓存

     离线下,切换到主屏幕再切回App应用时可以正常浏览

     离线下,锁屏后再回到应用前台可以正常浏览

   ②对于界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据

 

6 安全性测试   —权限测试

1)扣费风险:包括发短信、拨打电话、连接网络、没有网络时能否提醒   —友好提示

2)隐私泄露风险:包括访问手机信息、访问联系人信息等

3)是否允许访问相册、拍照     开放权限+不开放权限

4)是否允许录音

5)是否允许定位

6)是否允许连接通知推送

注意:默认情况下是开发的,需要提示用户选择

①一般对于大多数非支付类App来说,安全并不是一个特别的的问题,只需要保证登录鉴权的安全性即可

②没有安全性测试要求,可以不用考虑(sql注入,安全扫描等)

 

7 性能测试

1)服务器性能测试(例:loadrunner/Jmeter工具-免费):App各类功能性操作的响应时间(后台服务器的性能)

2)App客户端性能测试

   ①App安装、卸载的响应时间

   ②CPU、内存、流量、电量的占用

专门的性能测试小工具,例:GT(腾讯)、Instrunments、emmage(Android)、OneApm

   ③压力稳定性测试(monkey):100000次操作 点击 滑动 按键(专项录播视频)

App反复进行安装卸载、其它功能反复进行操作

参考博客:https://www.cnblogs.com/tudou-22/p/9213748.html

 

8 一些关于App测试的问题

1)App的测试资源准备?   —了解

   Ios设备、Android设备(选取市面上主流手机产品)

   支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等

   有秒杀专题的题目,需要规划秒杀时间表

   有优惠券使用的项目,需要添加优惠券数据

2)App的稳定性?         —了解

   了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作,一般是软件系统满足持续运行模式,进行正常情况,临界情况的测试,看系统是否有异常   —功能测试之后

   一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试

3)App测试与Web测试的区别   –重点!!面试概率高,理解记忆

相同点:

①同样的测试用例设计方法  –功能测试

②同样的测试方法:都会一句原型图或者效果图检查UI  –界面UI测试

③测试页面载入和翻页的速度、登录时长、内存是否溢出等   –性能和易用性

④测试应用系统的稳定性   –稳定性(性能)

不同点:

①App的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启)

  ②App的安装卸载升级:全新安装、升级安装、第三方工具安装/卸载、直接删除卸载

  ③消息推送测试、手机授权测试、前后台切换、网络环境(wifi/2G/3G/4G/5G/无网络),弱网测试

  ④兼容性测试:web项目考虑不同浏览器的兼容;App需要考虑手机不同操作系统、不同机型、不同屏幕、分辨率等的兼容

4)App云测试平台:百度云测、testin云测等:http://www.open-open.com/lib/view/open1463526042631.html

Android App测试和 Ios App测试的区别?   —系统

1)Android系统开源,Ios不开源,安全性;  —推送信息(Android绕过系统,Ios走系统)
2)Android版本特别多,Ios相对版本比较少,且不支持降级

3)App审核机制L应用市场描述必须Apple store –审核周期长–99块钱一个月

4)操作习惯:Android–back;Ios–home

5)暗黄卸载:安装包(apk)–系统点击安装,Ios—苹果签名,App Store,iTunes,testflight–测试版本

版权声明:本文为-Niki原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/-Niki/archive/2004/01/13/13674077.html