手机app测试用例怎么写?手机app测试点有哪些?只有干货没有水分,错过绝对后悔!
一、前言
在当今竞争激烈的市场上一个APP的成功离不开一个可靠的测试工程师。因此,对功能和用户体验有特殊关注的App进行全面测试是必不可少的。如何做到测试用例的百分百覆盖一直是测试用例编写过程中的难点,首先在测试时我们经常会遇见一些常见的bug,那么我们可以在编写测试用例时考虑到这些点。以下是笔者总结的通用的手机app测试用例关注点!目录如下:
二、安装卸载测试点
笔者来自公众号:软测之家 | ||
安装测试 |
安装方式 | 通过浏览器下载安装包进行安装包 |
通过手机端的应用商店进行安装 | ||
通过手机自带的应用商店进行安装 | ||
通过连接电脑进行安装(如91助手,手机管家等) | ||
通过电脑传送到手机的安装包 | ||
通过手机之间的互传进行安装 | ||
扫码安装 | ||
安装步骤界面 | 安装页面语义无二意检查 | |
安装过程中提示信息的正确性检查 | ||
安装是否可以随时退出操作界面检查 | ||
安装过程中的控制/ 异常情况 |
安装的空间本来足够,但在安装过程下载文件到手机,使空间不足 | |
同时运行两个相同的安装程序 | ||
同时运行两个不同的安装程序一个语记另一个其他的 | ||
在没有网的情况下能否安装 | ||
有网情况下能否安装 | ||
安装时网突然断了能否安装 | ||
安装时切换到其它应用,让安装程在后台运行安装 | ||
安装过程中接听电话 | ||
升级安装 | 在已经安装的情况下,卸载原软件,安装高版本,能否正确安装 | |
在已经安装的情况下,卸载原软件,安装低版本,能否正确安装 | ||
在已经安装的情况下,不卸载原软件,直接安装高版本,能否正确安装 | ||
在已经安装的情况下,不卸载原软件,直接安装低版本,能否正确安装 | ||
软件不升级是否能正常运行 | ||
升级安装是否需要重启手机 | ||
升级安装后原来的数据是否仍在 | ||
安装环境(2020年) | 在Android6.0版本下安装app | |
在Android7.0版本下安装app | ||
在Android8.0版本下安装app | ||
在Android9.0版本下安装app | ||
在ios6.0系统版本 | ||
在ios7.0 系统版本 | ||
在ios8.0 系统版本 | ||
在ios9.0系统版本 | ||
在ios10.0 系统版本 | ||
在ios11.0 系统版本 | ||
在ios12.0 系统版本 | ||
安装后检查 | 成功安装app后,是否有新图标,检查app功能是否正常 | |
跨版本升级安装后,检查原有图标是否消失,新图标是否会出现 | ||
app更新提示检查 | 客户端有新版本,自动弹出提示更新 | |
版本为非强制升级,取消后,app正常使用 | ||
版本为强制升级,取消后,退出app,再次打开app再次弹出升级提示。 | ||
卸载测试 |
卸载方式 | 软件自带卸载程序能否正确卸载 |
长按图标卸载 | ||
卸载状态 | 卸载正在运行的软件 | |
没有网的情况下卸载 | ||
正在卸载中取消了能否正确卸载 | ||
卸载中途断网是否能正确卸载 | ||
卸载中途重启是否能正确卸载 | ||
卸载中途关机是否能正确卸载 | ||
卸载提示 | 卸载时是否有相应的卸载提醒 | |
卸载过程中进度条是否正确显示 | ||
卸载时否有拒绝卸载,狠心卸载,修复提示 | ||
卸载时是否显示相关信息 | ||
卸载环境 | 在Android6.0版本下卸载app | |
在Android7.0版本下卸载app | ||
在Android8.0版本下卸载app | ||
在Android9.0版本下卸载app | ||
在ios6.0系统版本卸载app | ||
在ios7.0 系统版本卸载app | ||
在ios8.0 系统版本卸载app | ||
在ios9.0系统版本卸载app | ||
在ios10.0系统版本卸载app | ||
在ios11.0系统版本卸载app | ||
在ios12.0系统版本卸载app | ||
卸载后检查 | 卸载完成后,查看是否对其他软件有影响 | |
卸载完成后,app桌面快捷方式是否已删除 | ||
将软件卸载后,观察app的安装路径是否有残留文件 | ||
卸载后原来安装的插件是否删除 |
三、登录注册测试点
笔者来自公众号:软测之家 |
|||
登录测试点 |
正常登录 | 用户名登录 | 输入正确的用户名和密码,查看能否成功登陆 |
手机号码登录 | 输入正确的手机号码和验证码,查看能否成功登陆 | ||
第三方登录 | 查看此app支持的第三方登录方式(如:QQ,微信)能否登录成功,前置条件:用户已有账号并绑定了QQ和微信 | ||
异常登录 | 用户名密码登录各种异常情况 | 用户名不输入,输入正确的密码,查看能否成功登录 | |
输入正确的用户名,密码不输入,查看能否成功登陆 | |||
用户名和密码都不输入,查看能否成功登陆 | |||
输入含有非法字符的用户名如¥#@*&*,正确的密码,查看能否登录成功 | |||
输入的用户名是大写的(原来是小写的),正确的密码查看能否登录成功 | |||
输入的用户名含有空格(原来没有空格),正确的密码查看能否登录成功 | |||
输入错误的用户名,正确的密码,查看能否登录成功 | |||
用户名其他长度或组合规则限制异常 | |||
输入正确的用户名,密码含有空格(原来没有空格),查看能否成功登录 | |||
输入正确的用户名,密码大写(原来小写),查看能否成功登录 | |||
输入正确的用户名,错误的密码,查看能否成功登录 | |||
查看密码是否支持复制粘贴功能。 | |||
查看密码是否使用加密。 | |||
密码其他长度或组合规则限制异常 | |||
手机号码登录各种异常情况 | 获得验证码后手机号码不输入,输入正确的验证码,查看是否成功登录。 | ||
输入正确的手机号码,验证码不输入,查看能否登录成功。 | |||
手机号码和验证码都不输入,查看能否登录成功。 | |||
获得验证码后输入11位的手机号码含有空格,输入正确的验证码,查看是否成功登录。 | |||
获得验证码后手机号码输入11位中文,输入正确的验证码,查看是否成功登录。 | |||
获得验证码后手机号码输入11位字母,输入正确的验证码,查看是否成功登录。 | |||
获得验证码后手机号码输入11位特殊字符,输入正确的验证码,查看是否成功登录。 | |||
获得验证码后手机号码减少一位数字,输入正确的验证码,查看是否成功登录。 | |||
获得验证码后手机号码增加一位数字,输入正确的验证码,查看是否成功登录。 | |||
输入正确的手机号码,获取验证码(含有空格),查看是否成功登录。 | |||
输入正确的手机号码,获取验证码,输入错误的验证码,查看是否成功登录。 | |||
输入正确的手机号码,获取验证码,输入大小写不一致的验证码,查看是否成功登录。 | |||
输入正确的手机号码,获取验证码,5分钟后输入正确的验证码,查看是否成功登录。 | |||
输入正确的手机号码,获取两次验证码,输入第一次获取的验证码,查看是否成功登录。 | |||
第三方登录各种异常情况 | 在未安装QQ的手机,使用第三方QQ登录。 | ||
在已安装QQ但是未登录QQ的手机,使用第三方QQ登录。 | |||
用户从未注册,使用QQ第三方登录。 | |||
在未安装微信的手机,使用第三方微信登录。 | |||
在已安装微信但是未登录微信的手机,使用第三方微信登录。 | |||
用户从未注册,使用微信第三方登录。 | |||
密码错误超出次数账号锁定 | 输入正确的用户名,错误的密码(密码输错3次(5次)以下),查看能否成功登录 | ||
输入正确的用户名,错误的密码(密码输错3次(5次)以上),查看用户是否会被锁定 | |||
多点登录 | 在一台手机上登录后,在使用另一个手机登录同一个账号 | ||
注册测试点 |
正常注册 | 按照提示,正常进行注册操作,查看能否成功注册 | |
异常注册 | 用户名长度问题 | 输入超过用户名规定长度的字符,查看能否成功输入 | |
输入用户名小于规定长度的字符,查看能否成功注册 | |||
密码长度问题 | 输入超过密码规定长度的字符,查看能否成功输入 | ||
输入密码小于规定长度的字符,查看能否成功注册 | |||
手机号为空 | 不输入手机号,直接点击下一步, | ||
验证码为空 | 输入手机号:188........,不输入验证码,点击下一步 | ||
在手机无网络的情况下进行注册 | 断开手机网络,输入手机号:189........,查看能否获取验证码 | ||
三次点击获取验证码 | 输入正常的手机号,3次点击获取验证码,输入第1次获得的验证码,查看能否进行下一步 | ||
输入正常的手机号,3次点击获取验证码,输入第2次获得的验证码查看能否进行下一步 | |||
输入正常的手机号,3次点击获取验证码,输入第3次获得的验证码查看能否进行下一步 | |||
输入验证码间隔时间 | 输入正常的手机号,点击获取验证码,立即输入验证码 | ||
输入正常的手机号,点击获取验证码,在手机上提示后过5分钟,输入验证码 | |||
验证码大小写 | 输入验证码时使用大小写切换,查看能否进入下一步 | ||
手机号错误 | 输入正常的手机号,点击获取验证码 | ||
已停机的手机 | 输入已停机的手机号,点击获取验证码 | ||
已销户的手机号 | 输入销户的手机号,点击获取验证码 | ||
注册一个已经注册过的手机号 | 输入手机号:189........,点击获取验证码,查看能否获取 |
四、更新推送测试点
笔者来自公众号:软测之家 | |||||
数据更新 |
手动刷新 |
确认有数据更新后,是否需要手动更新 |
|||
自动刷新 |
确认有数据更新后,是否自动更新 |
||||
前后台切换 |
确认从后台切换回前台时,该页面是否需要进行数据更新 |
||||
从服务端请求实时响应 |
该数据是否从服务端请求实时响应 |
||||
缓存到本地的数据 |
该数据是否缓存到本地的数据 |
||||
消息推送 |
默认开关 |
观察默认开关状态 |
|||
设置开关 |
打开 |
观察设置开关是否可以自由打开 |
|||
观察开关打开状态下,消息推送是否可正常推送 |
|||||
关闭 |
观察设置开关是否可以自由关闭 |
||||
观察开关关闭状态下,消息推送是否可正常推送 |
|||||
后台未打开APP |
后台未打开APP客户端时,手机消息栏是否可以接受到消息提醒 |
||||
接收到提醒后,点击查看后,提醒是否会在消息栏消失 |
五、还有易用性,兼容性,安全性太多了!
如果你对此文有任何疑问,如果你觉得此文对你有帮助,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入软件测试技术群:695458161,群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
作者:诸葛
出处:https://www.cnblogs.com/csmashang/p/12781588.html
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。
手机app测试用例怎么写?手机app测试点有哪些?只有干货没有水分,错过绝对后悔!的更多相关文章
- 会写网页 就会写手机APP -- Hybrid Mobile Apps for ASP.NET Developers
您好,这篇文章是我的BLOG发出,原始出处在此: 会写网页 就会写手机APP -- Hybrid Mobile Apps for ASP.NET Developers http://www.dotbl ...
- 会写网页 就会写手机APP #2-- 范例修正 , Hybrid Mobile Apps for ASP.NET Developers (Apache Cordova)
原文出处:会写网页 就会写手机APP #2-- 范例修正 , Hybrid Mobile Apps for ASP.NET Developers (Apache Cordova) 这是我的文章备份 ...
- 【PC桌面软件的末日,手机移动端App称王】写在windows11支持安卓,macOS支持ios,龙芯支持x86和arm指令翻译
面对这场突如其来的变革,作为软件开发者,应该如何选择自己今后的发展方向?桌面软件开发领域还有前景吗? 起源 自从苹果发布m1处理器,让自家Mac支持IOS移动端app运行之后,彻底打破了移动端app和 ...
- 【HBuilder】手机App推送至Apple App Store过程
一.前言 最近由于公司同事离职,顶替这位同事从事手机App的研发工作,BIM数据平台部门采用的是HBuilder作为手机App的制作环境.本篇介绍我是如何将HBuilder的Releas ...
- ios真机调试教程(不上架App Store安装到手机)
原文 不上架App Store安装到手机调试测试,需要用到ios真机调试证书打包的ipa才能安装到非越狱的手机使用. 2017年最新整理的ios真机调试的详细图文步骤流程,轻松的把你开发的ios ap ...
- 手机扫描二维码下载APP,根据操作系统不同自动下载
Android和IOS手机扫描二维码下载APP,根据OS不同,自动处理相应下载操作.IOS自动跳转至AppStore应用下载页,Android自动下载应用的apk包. <script type= ...
- 手机APP有三类:原生APP,WebAPP,HybridApp
搭建 AngularJS+Ionic+Cordova 开发环境并运行一个demo 目前的手机APP有三类:原生APP,WebAPP,HybridApp:HybridApp结合了前两类APP各自的优点, ...
- Android:后台给button绑定onClick事件、当返回项目到手机页面时提示是否退出APP
上一篇文章我们学习了android通过findViewById的方式查找控件,本章将了解button控件,及btton如何绑定控件. 通过android的ui设计工具设计一个登录页面: <Rel ...
- ios-判断手机上是否安装了某个App
方法一 1.获取手机中安装的所有App 1.1.runtime中的方法,所以要导入 #include <objc/runtime.h> 1.2.在 AppDel ...
随机推荐
- IEnumerable和IQueryable在使用时的区别
最近在调研数据库查询时因使用IEnumerable进行Linq to entity的操作,造成数据库访问缓慢.此文讲述的便是IEnumerable和IQueryable的区别. 微软对IEnumera ...
- JVM中垃圾回收机制如何判断是否死亡?详解引用计数法和可达性分析 !
因为热爱,所以坚持. 文章下方有本文参考电子书和视频的下载地址哦~ 这节我们主要讲垃圾收集的一些基本概念,先了解垃圾收集是什么.然后触发条件是什么.最后虚拟机如何判断对象是否死亡. 一.前言 我们 ...
- F - 我们什么时候能见面? POJ - 2028
F - 我们什么时候能见面? POJ - 2028 ICPC委员会希望尽快召开会议,解决下一届比赛中的每一个小问题.然而,委员会的成员都忙于疯狂地开发(可能是无用的)程序,以至于很难安排他们的会议日程 ...
- SWUST OJ 1012哈希表(链地址法处理冲突)
哈希表(链地址法处理冲突) 1000(ms) 10000(kb) 2676 / 6911 采用除留余数法(H(key)=key %n)建立长度为n的哈希表,处理冲突用链地址法.建立链表的时候采用尾插法 ...
- 非参数估计——核密度估计(Parzen窗)
核密度估计,或Parzen窗,是非参数估计概率密度的一种.比如机器学习中还有K近邻法也是非参估计的一种,不过K近邻通常是用来判别样本类别的,就是把样本空间每个点划分为与其最接近的K个训练抽样中,占比最 ...
- C++头文件中的模板类
C++头文件中的模板类 这已经是我的第三篇关于头文件的博客了,没想到我还是踩了个巨坑. 大家都知道要在头文件里声明类成员,在源文件中实现. 但是今天写数据结构作业,在头文件(Stack.h)定义了一个 ...
- shell编写一个批量添加用户脚本
shell编写一个批量添加用户脚本 5.1问题 本例要求在虚拟机server0上创建/roo ...
- 【php】文件的上传与下载
一. 生活中常见的地方: a) 例如邮箱.空间.文库.百度云.微爱等地方,都可以看到文件的上传和下载的应用,因此,上传和下载的功能非常重要!二. PHP当中的文件上传和下载 a) 我们需要进行一些设置 ...
- Gradle系列之初识Gradle
原文首发于微信公众号:躬行之(jzman-blog) 学习 Android 有一段时间了,开发中经常使用到 Gradle ,但是不知道 Gradle 构建项目的原理,计划花一点时间学习一下 Gradl ...
- Python之 module安装
如出现这种错误 ModuleNotFoundError: No module named 'numpy' 这种错误通常不会出现,因为Python的模块,通常在你安装Python shell的时候,就已 ...