移动App书写Test Case时需要考虑的检查点
在测试工作中我们需要不断的总结和储备自己的知识和经验,譬如具备特定属性、环境以及场景,如:PC,手机,智能设备,特定网络环境下。
我们需要关注的功能点,容易出错的位置,这将对我们整个测试过程起至关作用,让测试变得更高效,发现较多的潜在问题。
app的安装与升级
- 升级中用户数据、设置、状态的保留,特步注意新版本已去掉的状态或设置;
- 是否可以隔开版本覆盖安装;
- 是否可以覆盖安装更低版本;
- 卸载安装,安装目录清理,SD卡存储数据不被清理;
- 在没有更新或网络时,需要给予用户正确的信息表达;
- 如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级;
- 大版本更新不升级无法使用;
app启动与停止
- 首次启动是否出现欢迎界面,可否进入app,停留时间是否合理;
- 首次启动后拉取的信息是否正确;
- 再次启动时间是否符合预期;
- 再次启动app功能是否异常;
- 再次启动后状态检查:如初始化信息、初始状态、启动对网络;
- 再次启动进程服务检查:进程名、进程数、服务名、服务数、第三方调用的SDK如GPS;
- 再次登录的应用是否再次启动的时候正常登录;
- 出现崩溃是否可以再次启动;
- 手动终止进程、服务是否可以再次启动;
- 其他系统软件工具停止进程、清理软件数据,是否可以启动
app基础功能模块
- 根据需求来对app的所有模块所有功能的触发事件逐一认证。从两方面考察,一方面是顺从需求来对模块进行操作,是否达到需求规定的预期;
- 另一方面是与需求背道而驰是否程序会有相应的异常控制等等。
文本框输入
- 正常输入,
- 输入越界,
- 特殊字符集(/n,/r等等),
- 利用复制粘贴向文本输入内容,
- 输入程序规定不让输入的字符'
事件触发
- 每一个按钮、每一次点击是否能够完成需求规定的功能
- 尝试点击页面上不可点击的区域,来验证在测试过程当中的预留测试后门是否关闭
app权限以及安全
- 需要用户确认的权限没有授权,权限默认关闭
- 联网权限被管家、系统安全类软件限制情况下的联网操作
- 权限敏感度,如通讯录等为系统的绝密权限谨慎获取
- 使用安全软件进行安全漏洞、病毒扫描、看被测app是否会被这些安全软件提示有问题而影响用户的对被测app的使用或者印象
app文件存储
- app使用过程中产生的临时文件存储途径、命名方式等
- app中涉及的下载操作产生的文件存储方式
- 存储的文件被锁、占用
- 有外置SD、内置SD卡都要考察app产生的文件是否正确
- app被安装在SD卡或者手机存储空间
- 磁盘空间不足、磁盘无权限(如读,写)
网络与流量
- 网络信号,尤其是弱网络环境下app的表现
- 不同运营商网络:电信、联通、移动、2/3/4G
- 网络中断、网络恢复场景的逻辑处理(如重试),以及网络提示
- 首次启动app的流量是否符合预期
- 统计、异常上报对流量的影响
- app中图片大小、尺寸是否有考虑对网络流量的影响
- 基于流量安全的特殊业务,如仅WiFi互联网
接口容错
- 请求网络层错误:http response返回非200状态
- 请求业务错误:接口返回内容为空、超长、字段类型不匹配
中断测试
- 锁屏中断:停留在程序操作界面进行锁屏,恢复后检查操作是否正常
- 前后台切换:停留在程序操作界面,通过home键,进行程序的前后台切换
- 加载中断:页面接口请求、界面框架加载时,通过home键、返回键、快速切换操作进行中断
- 系统异常中断:关机、断电、来电
机型适配
- 分辨了适配:UI结构、对话框基于分辨率、屏幕大小进行适配
- OS版本适配:设计api调用如获取SIM卡信息、外置SD卡设置(4.4外置SD卡不具备写的权限)
- CPU硬件配置:X86机型、V5、V6、V7、V8
系统配置
- 进程管理:省电管理、后台进程驻留管理
- 显示管理:字体大小、字体类型
- 语言环境:语言环境
- 横竖屏配置:是否支持横竖屏自适应处理
性能测试
- 性能:核心操作的性能指标是:CPU/内存、响应时长、电量、流量
- 稳定性:a选择某些场景做持续反复操作 bMoney稳定性操作,持续多个小时
- 流畅度:列表滑动、返回进入、快速点击(这个肉眼不好判断,可以借助GT)
- 软件兼容:通用软件输入法;安全软件;通信类;竞品软件同类软件,是否出现冲突
竞品对比测试
- 功能方面:与同类竞品软件在UI设计,交互体验等方面进行对比
- 性能方面:同类竞品软件在性能、耗电、流量等方面至少与对方持平,最好不要低于对方太多
移动App书写Test Case时需要考虑的检查点的更多相关文章
- Web书写Test Case时需要考虑的检查点
通常书写Test Case时需要考虑的检查点: 一. 对于屏幕显示来说包括:1.检查显示的布局:2.检查域和按钮的顺序:3.检查域的尺寸:4.检查字体的大小和风格:5.检查文本的含义:6.检查拼写错误 ...
- 使用mui框架开发App,当input获取焦点时,键盘弹出,底部导航栏上升。
转自 https://blog.csdn.net/elementFei/article/details/72917393 感谢 问题: 使用mui框架开发App,当input获取焦点时,键盘弹出,底部 ...
- eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN
eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...
- 安卓开发app在后台运行时页面数据被系统清除后操作之重启APP
在安卓开发过程中,当点击HOME键,将app运行在后台时,然后再点击app图标进入时,遇到了如下两种情况: 1.每次打开时,app的入口页面总是被执行. 2.当运行内存被其它应用占用完时,在进入app ...
- 编写高质量代码改善C#程序的157个建议——建议10: 创建对象时需要考虑是否实现比较器
建议10: 创建对象时需要考虑是否实现比较器 有对象的地方就会存在比较,在.NET的世界中也一样.举个最简单的例子,在UI中,有一个10个人的Salary列表.根据排序的需要,列表要支持针对基本工资来 ...
- C#程序编写高质量代码改善的157个建议【10-12】[创建对象时需要考虑是否实现比较器、区别对待==和Equals]
前言 建议10.创建对象时需要考虑是否实现比较器 建议11.区别对待==和Equals 建议12.重写Equals时也要重写GetHashCode 建议10.创建对象时需要考虑是否实现比较器 有对象的 ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- 用Eclipse运行Android版APP(PhoneGap)时出现:Unable to execute dex: Multiple dex files define
这两天遇到点小问题,做个记录: 症状:运行,调试时都报:Unable to execute dex: Multiple dex files define错误,发布后的APP安装到手机后一运行,就提示: ...
- 安卓App提交应用商店时遇到的两个小问题
陆陆续续做了一个半月左右的「喵呜天气」终于在今天下午成功提交到应用商店(腾讯应用宝).期间遇到两个小问题,记录如下: 1.上传安装包失败,提示「无法获取签名信息,请上传有效包(110506)」. 安装 ...
随机推荐
- python实现字符串中如果遇到连续重复的字符只出现一次非去重
需求:在一个字符串中, 如果遇到连续重复的字符只出现一个,(不是去重) 例:str1 = 'aabbccddaabbccdd' 输出结果为:‘abcdabcd’ 具体实现代码如下: def func( ...
- java线程中yield(),sleep(),wait()区别详解
1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...
- ElementUI 之 Cascader 级联选择器指定 value label
ElementUI 的 Cascader 级联选择器个人觉得很好用,但是对 :options="options" 里的数据格式是有特定要求的:input 框显示的值是 option ...
- Codeforces Round #603 (Div. 2) A,B,C,D【E题待补】
#include<bits/stdc++.h> using namespace std; #define int long long signed main(){ int _; cin&g ...
- Greenplum 查看连接与锁信息数据字典
查看系统中会话/连接/SQL与锁情况 1.查看当前活动的客户端连接数 SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_p ...
- 008_Python3 列表
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表 ...
- Python多线程笔记(二)
Lock对象 原语锁(互斥锁)是一个同步原语,状态是"已锁定"或者"未锁定"之一.两个方法acquire()和release()用于修改锁的状态.如果状态为已锁 ...
- 【luogu3950】部落冲突--树剖
题目背景 在一个叫做Travian的世界里,生活着各个大大小小的部落.其中最为强大的是罗马.高卢和日耳曼.他们之间为了争夺资源和土地,进行了无数次的战斗.期间诞生了众多家喻户晓的英雄人物,也留下了许多 ...
- List<Map<String, Obejct>>遍历
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map&l ...
- RESTFUL API 安全认证方式
一般基于REST API 安全设计常用方式有: HTTP Basic Basic admin:admin Basic YWRtaW46YWRtaW4= Authorization: Basic YWR ...