app 测试基础
1. 安装和启动
(1) OTA安装测试
· app必须能够通过ota安装到测试设备上
· 如果app安装完后没有icon,那么必须能够通过其他的方法来启动这个app
· app安装好以后不能要求重启设备
· 如果存储空间不够,安装时必须提示信息
(2)启动时间:
· 如果app启动需要很长时间,app必须给出合理的提示
· 如果启动时间超过5秒,必须有进度条来告诉用户启动的进度。
(3)卸载app:
· app必须能够被从设备中卸载
· 所有的app文件和数据都必须被完全从设备上清除
· 云端的文件可以保留
· 额外购买的数据或者内容,需要保留在设备中
2. 功能性
主要功能的健全性检查:app的功能要与需求一致
app的隐藏功能:app没有包含任何隐藏功能,所有的功能与帮助文档一致,并不会损害设备的数据。
3. 内存使用
(1)app运行中的内存使用:
· 在app执行过程中,如果出现内存用完的异常,app需要能够正确处理。
· 当内存趋于耗尽的时候,需要一个警告提示,告知用户内存即将耗尽。
(2)多次启动:
· 能够正确suspend以及重新启动app(这里的suspend是指将app的运行放到后台)
· 当app被suspend后,能够正确的重启它(可以是从被suspend的状态,也可以是从初始状态,这个依赖于app的设计)
(3)Idle:
· app能够从自动锁屏中正确恢复
· app运行中,如果自动锁屏,解锁后app能够恢复到锁屏之前的状态。
(4)取消耗时的操作:
· app必须能够允许用户取消耗时的操作:
· 如果操作消耗的时间操作10秒,必须有能够取消这个操作的功能。
4. 网络连接
(1)发送和接收数据:
app必须能够通过http来接收和发送数据
在不同的网络环境下(2G/3G/4G/Wifi),用户在每个需要发送或接收数据的地方都能够正确的运行。
(2)网络延迟和连接丢失:
app必须能够正确处理网络延迟和连接丢失
在网络有延迟或者连接丢失的情况下,app必须给出相应的错误提示,告知用户信息。
(3)飞行模式:
当设备处于飞行模式时,app必须能够正确运行
如果app需要使用网络连接,在设备处于飞行模式的时候,需要给出有意义的提示,告诉用户app目前因为设备处理飞行模式而无法正常运行。
当网络恢复后,app必须能够恢复到原来的状态,并继续正常工作。
(4)资源下载:
当app在下载资源的时候,它必须能够处理暂停下载/继续下载和下载中断的事件
如果有暂停下载功能,这个功能必须运行正常
当网络连接断开时,下载能够正确停止
当网络恢复时,下载必须能够正确继续或者重新开始。
5.事件处理
(1)超时事件的处理
如果app内部有时间事件的功能,当这个超时事件发生时,必须能够被正确处理。
(2)App处于suspend状态时,能够正确树立超时事件
当app被放到后台后,超时时间发生时,app能够正确处理这些事件,并且正确恢复状态,继续运行
(3)当app已经退出时,超时事件能够被正确处理
app已经退出,但是app的超时事件发生时,应该提供一个start选项,或者app被启动。
启动后app能够正确运行。
(4)夏令时效果的检查。
如果一个app使用了与时间相关的数据,那么需要检查当时间切换到夏令时时,所有的功能都能正确运行。
(5)时区的处理
如果一个app使用了与时间相关的功能或数据,当设备的时区切换时,需要检查多有的相关功能都工作正常。
6. 消息和电话
发送:app能够成功发送信息
接收:app能够成功接收信息
呼入:当用户在app运行时接了一个电话的时候,当这个电话结束时,app能够正确的从原来的状态继续运行。
7.外部影响
中断操作:当有中断事件发生时(USB插入/拔出,充电器/蓝牙连接/邮件/闹钟/电量提醒/耳机/NFC等设备的连接和断开的时候),app能够从原状态继续正确运行。
8.用户界面
可读性:app的所有内容都是清晰可读的
阅读时间:app给出的信息如果是时间性的,那么用户就需要有一个舒服的时间来完成对这些信息的阅读
屏幕的重写:当app的不同界面切换的时候,不能出现闪烁,或者界面的混乱。
一致性:app的界面应该保持一致性,包括动作序列,工作结果,用于,界面布局,声音等。
按键/输入的易用性:按键的布局/硬键盘输入/软键盘输入/触摸屏输入都必须易用,同时满足左右手的习惯。
UI的速度:在app设计的使用场景下,app的速度不能太快,也不能太慢,以提供良好的使用体验。
错误信息:当需要出现错误信息的时候,信息必须清晰的解释问题,以及提供需要采取的动作
功能进度:当功能的运行需要超过5秒的时候,需要给用户提供进度条或者类似提示
动作的展现:当app在展现或者思考的时候,app不能执行不合理的动作
多种显示模式:如果app支持多种显示模式(横屏/竖屏/外接设备),所有的用户界面和控件都能正确展示。如果设备有横屏的外接输入设备,那么app需要能够哦支持横屏的展现。
不同屏幕尺寸:app需要能够支持不同屏幕尺寸的展示
多种输入方法的支持:app需要能够支持不同的输入方法
加速度计/移动感应器的响应:加速度计/移动感应器的response不能影响UI的展示和app的使用。
拼写错误:app不能出现拼写错误
文本的技术错误:所有的文本展示不能出现文本扭曲/断裂/重叠/切断等错误
9.语言
正确操作:如果设备支持不同的语言,当设备设置不同的语言时,app都要能够正确工作。
手动选择:如果app允许手动选择语言,app要能够选择所有的语言并继续正确工作。
支持的格式:app要能够支持不同的日期/时间/数字/货币等格式
国际字符:app能够正确接受并显示所有的国际字符
10. 恢复
从主菜单suspend和恢复:app能够正确suspend,并且从suspend状态恢复
运行中的suspend:app运行时,能够正确被suspend,占用的设备和资源能够被正确释放,恢复后能正确运行。
后台运行:当app被切换到后台运行时,不能影响其他app或者系统功能,不能播放任何声音,所有系统的功能都能正常运行。
资源的共享:app能够和其他app正确共享资源:比如联系人(新增/删除/修改等)
退出时恢复系统设置:app不能永久的修改系统设置,退出时应该要恢复,比如音量,语言,屏幕的方向等。
11. 多媒体
Mute功能:如果app需要操作声音或者话筒,那需要有相应的音量控制和话筒控制的功能。
设置的可理解性:app的所有设置状态都要易于理解。
设置不能影响功能:所有的app的设置不能影响功能的运行
app自己的设置能够被正确保存:退出时能正确保存,或者提示保存信息。
声音和振动不被滥用:声音和振动的使用都要提供良好的用户体验。
12. 菜单
帮助和about文档:
app需要包含帮助文档,说明如何使用该app
app需要包含about文档,用户可以看到具体的版本号
有效的动作:
选择app的每个item都应该调用相应的有效的动作
13. 按键
菜单的滚动:使用键盘或者其他导航设备的时候,菜单要能够顺利滚动
文本输入框的滚动:在help/about等文本域中,使用外设或者其他导航设备时能够正确滚动。
暂停:如果app有需要与用户进行交互的功能,那么app需要有一个暂停功能,也要有一个继续功能,比如游戏。
并发按键输入或并发触摸的支持:app需要能够支持并发的按键输入或者并发的触摸输入,如果需要提示错误信息,则信息必须清晰可理解。
设备按键:app不能改变设备的默认按键行为,比如音量控制,锁屏等
14. 稳定性
app的稳定性:app在使用过程中不能crash或者freeze
强制关闭的稳定性:当被强制关闭的时候,app必须能够保存足够的状态信息,并能正确启动并继续运行(强制关闭包括断电/手动关闭等)
15. 数据处理
保存游戏状态:app能够将游戏的状态/得分等信息保存进存储器中。
数据删除:app必须指出数据是否将被删除或者提供一个易用的数据恢复手段。
内存记录:app能够正确更新存储器中保存的数据和状态信息。
16. 安全性
当用网络连接来发送或接收敏感数据的时候,这些数据需要被加密。
密码:密码和敏感数据不会被存储到设备中,也不会在app中反馈出来,敏感数据必须被密码保护。当需要提示用户信息的时候,最多只能有25%的数据被显示出来。
17. 隐私
如果app需要访问个人信息,那么必须提供隐私条例,没有用户的允许,app不能访问隐私信息。没有访问到用户信息时,app也必须能正常工作
地点信息:如果app需要使用用户的地点信息,必须得到用户的许可
推送提示信息:app在推送信息前,必须得到用户的许可
18. 广告
app必须符合内嵌广告规则:内嵌广告不得影响用户的使用
19. 性能
网络性能:音频相关的功能必须能够识别不同的网络环境,限制访问时间和数据量(最多5分钟,最多5M),视频相关的功能也必须能够识别不同的网络环境,限制访问时间和数据量(最多十分钟)
电池性能:app不能快速的耗电。
app 测试基础的更多相关文章
- app测试基础知识之命令
app测试点:功能测试,安全测试,用户体验测试,交叉事件测试,兼容性测试,性能测试,安装/升级/卸载 ,UI测试 命令操作: adb connect 名 adb devices adb instal ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
- 安卓APP测试验证点总结
最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...
- 推荐书籍 -《移动App测试的22条军规》
在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:<移动App测试的22条军规>.黄勇是ThoughtWorks资深敏捷QA和咨询师.对于我来说,和黄勇在一起的工作的这个项目, ...
- 几个移动App测试工具
介绍几款移动App测试的工具: 腾讯测试:http://bugly.qq.com/优测:http://utest.qq.com/fir.im测试:http://bughd.com/ 大致介绍如下: b ...
- 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别
随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹.在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端 ...
- Web测试与APP测试有哪些异同?
1.相同点 不管是传统行业的web测试,还是新兴的手机APP测试,都离不开测试的基础知识,即是不管怎么变,测试的原理依然会融入在这两者当中. 1)设计测试用例时,依然都是依据边界值分析法.等价类划分等 ...
- 包建强的培训课程(4):App测试深入学习和研究
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试),长期有效
[原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试方向),长期有效 高级测试工程师(性能/自动化方向) 1.负责性能测试计划,性能需求分析,性能测试方案和用例设计,搭建性能测试环境,执 ...
随机推荐
- PHP与类有关的几个魔术方法
与类有关的其他魔术方法 序列化与反序列化技术 含义: 序列化: 就是将一个变量所代表的“内存”数据,转换为“字符串”形式并持久保存在硬盘上的一种做法. 反序列化: 就是将序列化之后保存在硬盘上的“字符 ...
- Docker 入门 到部署Web 程序- (阿里面试常用的docker命令和优点)
最近阿里的面试官问我Docker是做什么用的,我记得之前360和美团,京东的都问过,但是一直没时间看,最近有时间了,系统的学习了一下Docker,在此做一下记录,方便各位看官学习交流 一.Docker ...
- LoadRunner脚本增强技巧之自动关联
为什么要做关联,原理很简单,录制脚本的时候,服务器会给用户一个唯一的认证码来进行操作,当再次回放脚本的时候服务器又会给一个全新的认证码,而录制好的脚本是写死的,还是拿老的认证码提交,肯定会导致脚本执行 ...
- 公告:请访问我的个人博客新站点——www.huangshujia.me
我的个人博客现在在(http://www.huangshujia.me/)cnblog这里不会做任何更新了.或者关注我的个人公众号:碱基矿工
- solr源码分析之searchComponent
上文solr源码分析之数据导入DataImporter追溯中提到了solr的工作流程,其核心是各种handler. handler定义了各种search Component, @Override pu ...
- lucence学习系列之一 基本概念
1. Lucence基本概念 Lucence是一个java编写的全文检索类库,使用它可以为一个应用或者站点增加检索功能. 它通过增加内容到一个全文索引来完成检索功能.然后允许你基于这个索引去查询,返回 ...
- BZOJ3560 DZY Loves Math V(欧拉函数)
对每个质因子分开计算再乘起来.使用类似生成函数的做法就很容易统计了. #include<iostream> #include<cstdio> #include<cmath ...
- bzoj3007: 拯救小云公主(二分+并查集)
挺水的题...好多题解说是对偶图,其实感觉不能算严格意义上的对偶图吧QAQ 先二分答案r,然后以boss为中心半径为r的圆不能走,求能否从左下走到右上. 不能从左下走到右上,说明这堆圆把图隔开了,于是 ...
- OpenCV(C++版)图像读取,创建,复制,保存,显示
http://blog.163.com/yuyang_tech/blog/static/21605008320132642254689/ 一个小例子: #include "stdafx.h& ...
- Httpclient与RestTemplate的比较(比httpClient更优雅的Restful URL访问)
一.HttpClient (一)HttpClient 客户端 1.HttpClient 是 apache 的开源,需要引入两个包:httpclient-4.2.4.jar 和 httpcore-4.2 ...