APP端测试,常见功能测试点汇总
除去每个产品和版本不同的业务需求以及功能,针对于大多数的APP的共同点和移动设备的特性,本文总结了一些APP功能测试中经常遇见,需要考虑到的测试点以共参考
一、安装和卸载
应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的权限。因此APP的安装和卸载应作为一个测试点多加重视。主要关注以下几个方面:
▲应用是否可以正常安装(命令行安装;豌豆荚/手机助手等第三方软件安装;apk/ipa安装包安装)
▲应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)
▲安装过程中是否能暂停,再次点击,是否能继续安装
▲安装空间不足时如何表现,是否有相应提示,提示是否友好
▲安装过程中断网或网络不稳定的情况下,是否有相应提示,以及网络恢复后是否能继续安装
▲是否可以正常删除应用(桌面删除;第三方软件删除;命令行删除)
▲应用卸载后所有的安装文件夹是否全部删除
▲卸载过程中出现死机,断电,重启等意外的情况,待环境恢复后是否可以继续正常卸载
▲卸载是否支持取消功能,单击取消后软件卸载情况是否正常
二、运行
(1)软件安装后需要检查应用是否能正常运行:
(2)APP安装完成后,是否可以正常打开,稳定运行
(3)APP的速度是可以让人接受,切换是否流畅
(4)网络异常时,应用是否会崩溃:在请求超时的情况下,如果程序逻辑处理的不好,就有可能发生Crash。(比如黄油相机APPV4.8.2.8版本,在无网络状态下,进入照片编辑页面,选择并拖动照片时,会发生闪退)
三、注册和登录
用户注册和登录功能是很多APP产品最基础的构成之一,而主流的登录页面大致分为三种:
(1)账号密码注册登录;
(2)手机号注册登录;
(3)第三方授权登录。
本文针对前两种注册登录方式进行阐述:
3.1账号密码注册登录
▲输入正确的账号密码,可正常注册和登录
▲已注册用户再次注册
▲未注册用户尝试登录
▲密码“****”展示
▲账号输入框对最大长度和格式应有校验(比如邮箱账号需要邮箱格式等)
▲账号或密码输入错误时建议提示“账号或密码错误”,而不是“账号错误”或“密码错误”
▲密码是否加密传输(可抓取请求查看)
▲密码更改后,登录时是否做到了有效数据的校验:修改前的密码失效;
▲未登录时对一些页面的操作,是否做了控制
▲切换账号登录,检验登录的信息是否做到及时更新
▲对于多个端都进行操作时,确保数据库操作无误,且每个端可以及时看到数据的更新
多设备同时登录同一帐号时(iOS+iOS,Android+Android,iOS+Android),检查是否将原用户剔除,弹出异地登录提示,且对一些需要登录后才能使用的页面无操作权限。
3.2手机号注册登录
▲手机号输入框格式校验检查
▲验证短信的接收是否及时;
▲用验证码可正常登录;
▲验证码错误时,登录失败+友好提示
▲验证短信文案是否符合所测APP;
▲重复发送验证码,前一个验证码正常失效
▲频繁操作验证码发送,应有操作限制
▲验证码有效期校验(超过有效期无法登录)
四、日历控件
▲目前很多包含购票功能的APP中都会设置日历控件方便选票,那么对日历控件的测试我们需要关注哪些呢?
▲月份和日期对应(比如2月有28天,7月31天)
▲闰年2月,应有29天
▲跨年时,年份应有增加。
五、权限设置
当前很多APP的使用依赖于位置,通知,网络等用户权限,例如杭州公交APP,在首次启动时会询问用户是否同意启用定位,通知,网络权限。针对用户权限,我们可以多关注以下几点:
▲首次启动APP询问是否同意启用权限
▲消息权限开启时,消息推送是否正常接收(iOS系统应用启用和后台关闭时都应该可以收到;Android系统在后台关闭进程后就不会推送)
▲消息权限关闭后,APP客户端接收不到消息推送。
▲位置权限开启时,APP可定位到当前位置(比如杭州公交APP,能自动定位到用户当前位置,展示出附近的公交站)
▲位置权限关闭后,APP需定位才可用的功能,是否有提示引导用户开启权限,比如“请打开系统设置中’隐私-定位服务’,允许“XXXX”使用您的位置”。
▲网络权限关闭时,APP是否有提示(“服务器或网络错误,请稍后重试”),是否有提示引导用户开启权限。
六、软件更新
▲强制更新(APP开启后要求必须更新,否则无法使用APP):1.多次关闭和打开APP后是否正常跳出更新弹窗,且无法关闭;2.点击更新是否正确跳转至后台配置的更新页面;
▲非强制更新(只提示一次更新):1.可正常关闭更新弹窗。2.重启APP更新提示按照需求再次显示,或者不再显示;3.点击更新是否正确跳转至后台配置的更新页面;
▲取消版本更新时,老版本可以正常使用;
▲APP更新后版本号应有更新;
▲APP更新后新增功能和老功能可正常使用。
▲当有新版本时,不删除客户端的情况下,直接更新是否成功;
▲删除APP后更新
七、网络环境
▲3G,4G,wifi 网络环境下应用的各功能可正常运行;
▲网络异常时 ,数据交换失败是否会有提醒;
▲有网到无网再到有网环境时,数据是否可以自动恢复,正常加载;
▲只允许内网访问的APP,在连接到外网时是否有友好提示。
八、兼容性测试
▲尽量覆盖该产品的主要用户(建议选取产品自己的数据,具体技术方案可以采取APP内部埋点的方法。如果是新发布的产品,可以选取竞品类产品的数据)
▲从不同系统,版本,分辨率,机型(不同厂家ROM)等纬度进行适配测试
▲通常选择在少数主流设备上执行全向的用例,在其他兼容性范围内的设备上覆盖主要功能的测试用例;
▲关注各功能界面在不同分辨率下是否存在UI展示问题(如果代码没有对不同分辨率做适配处理,就可能会出现错位,遮挡,留白,拉伸和模糊等问题)
▲基于UI自动化脚本的云测试方案(基于轻量级的UI自动化脚本,以及借助云平台大量的真机资源)
九、异常测试
▲没有内存空间时,APP能否正确响应;
▲横竖屏切换展示;
▲APP运行时网络中断;
▲反复操作某个功能(一般是比较重要的功能),不断点击和刷新,是否会出现闪退;
▲APP运行时接入电话,短信,微信,或其他消息
由于移动互联网的应用太多,更新频繁,无论如何不是个人经验所能覆盖完全的。以上几点,仅从作者测试过的APP进行总结,仅为APP应用测试新人提供思考方向。希望看完本文,您对于移动应用的测试多了一些了解。
APP端测试,常见功能测试点汇总的更多相关文章
- APP测试常见功能测试点汇总
本文总结了一些APP功能测试中经常遇见测试点,仅供参考,是好早以前看哪位前辈总结的,一直在使用,所以也稍微的修改了下放到自己的博客中,以备日后温习.1.安装和卸载安装和卸载是任何一款APP中都属于最基 ...
- 大牛浅谈Web测试基于实际测试的功能测试点总结
今天跟大家讲解的是web测试在实际测试的功能测试点的一些小总结,希望对你们有帮助,有说的不好的地方,还请多多指教! 一.页面链接检查:测试每一个链接是否都有对应的页面,并且页面之前可以正确切换. ...
- APP端测试与web端测试的区别
想要知道APP端测试与web端测试的区别 ,那么我们就要先来了解,web和app的区别. web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端.那么在系统测试测试的时候就 ...
- 网站端测试常见BUG
1.翻页 翻页时,没有加载数据为空,第二页数据没有请求 翻页时,重复请求第一页的数据 翻页时,没有图片的内容有时候会引用有图片的内容 2.图片数据为空 图片数据为空时,会保留为空的图片数据位置 3.链 ...
- Web测试基于实际测试的功能测试点总结--转载
文章来源:http://www.51testing.com/html/99/n-854599.html 好文章就该记录一下\(^o^)/~ 一.页面链接检查:测试每一个链接是否都有对应的页面,并且页面 ...
- 手机客户端UI测试常见的测试点
1.各种分辨率下,显示正常.现市场上主流的塞班V3系统手机为240*320.320*240.WM系统主要为240*320.320*480.Android系统主要为320*480,Iphone系统为32 ...
- APP主要测试类型及测试点总结
根据测试重点区分 一.功能性测试 根据产品需求文档编写测试用例: 根据设计文档编写测试用例: 根据UI原型图编写测试用例 二.UI测试 原型图/效果图对比 用户体验 数据模拟:需要考虑正式环境可能的数 ...
- PHP实现 APP端微信支付功能
1.我封装好的一个支付类文件,多余的东西都去除掉了,并且把配置参数放到了这个支付类中,只需要修改Weixinpayandroid方法内的几个参数就可以直接复制使用: class Wxpayandroi ...
- 01- APP移动端测试怎么测试?APP测试方法大全。
由于智能手机时代来临,很多产品都有了APP,作为一个测试人员掌握APP测试是必要的. 在展开APP测试之前,首先了解一下几个点: 1.基于软件测试框架之上.复习下软件测试框架. 2.框架的内容贯穿于A ...
随机推荐
- iOS获取当前连接的wifi信息
导入框架CaptiveNetwork #import <SystemConfiguration/CaptiveNetwork.h> 获取当前连接的wifi信息 // 只能获取当前的SSID ...
- 3.C++和C混合编程
最近经常看到头文件中有 #ifdef __cplusplus extern "C" { #endif ....... #ifdef __cplusplus } #endif 这样的 ...
- DPDK中使用VFIO的配置
VFIO VFIO是一个可以安全地把设备I/O.中断.DMA等暴露到用户空间(userspace),从而可以在用户空间完成设备驱动的框架.用户空间直接设备访问,虚拟机设备分配可以获得更高的IO性能. ...
- Android SDK 的SDK Manager打不开,一闪就退,无法启动,解决方法
前一分钟还能打开,在eclipse中点了更新SDK后就启不动了 看下目录的修改时间,tool目录已经是今天的时间, 在升级过程中修改过了,给他改名 tempToolsDir 改名为tool 再尝试下启 ...
- web性能优化之GZIP压缩
从服务端优化来说,通过对服务端做压缩配置可以大大减小文本文件的体积,从而使加载文本的速度成倍的加快.目前比较通用的压缩方法是启用gzip压缩.它会把浏览器请求的页面,以及页面中引用的静态资源以压缩包的 ...
- [USACO15DEC]最大流Max Flow(树链剖分,线段树)
FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N.所有隔间都被管道连通了. FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间t ...
- (解释文)My SQL中主键为0和主键自排约束的关系
上一篇我们说了关于自排如果主键是0的问题,在这里我搞清楚了原因,导致这种情况是因为在SQL中对自排设置了初始值: 从这里可以看到这两个变量一个是自增的初始值,一个是增量,这里都是1,所以在设置自增的时 ...
- linux 学习第十二天(网络会话connection、bond、ssh配置)
一.网络会话 使用 con-name 参数指定公司所使用的网络会话名称company,然后依次用ifname 参 数指定本机的网卡名称,用autoconnect no 参数设置该网络会话默认不被自动激 ...
- 使用VMware安装CentOS7
以前一直用的CentOS6,这次搭建一套CentOS7. 感觉和6还是有一些差异,在这边记录下. 一.选择典型(推荐): 二.选择安装程序光盘映像文件: 网上有几个版本,mini版,DVD版,不过mi ...
- C++ —— 非类中使用const定义常量的初始化,以及#define和typedef的区别
总结一下在非类中使用const关键字定义常量时的初始化问题,亲测VS2015.顺便记录#define宏和typedef的区别. 1 首先对const声明的常量的初始化做简单小结: , w2 = , w ...