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 测试基础的更多相关文章

  1. app测试基础知识之命令

    app测试点:功能测试,安全测试,用户体验测试,交叉事件测试,兼容性测试,性能测试,安装/升级/卸载 ,UI测试 命令操作: adb connect 名 adb devices adb  instal ...

  2. APP测试入门篇之APP基础知识(001)

    前言        最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...

  3. 安卓APP测试验证点总结

    最近较懒,加之闺女出生后记忆没完全恢复,总是忘东忘西,关于安卓APP测试的验证点还是总结一下,方便设计测试用例时查阅,也给各位博友参考! 1.除APP的正常功能点外,还有以下验证点: 安装/卸载(考虑 ...

  4. 推荐书籍 -《移动App测试的22条军规》

    在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:<移动App测试的22条军规>.黄勇是ThoughtWorks资深敏捷QA和咨询师.对于我来说,和黄勇在一起的工作的这个项目, ...

  5. 几个移动App测试工具

    介绍几款移动App测试的工具: 腾讯测试:http://bugly.qq.com/优测:http://utest.qq.com/fir.im测试:http://bughd.com/ 大致介绍如下: b ...

  6. 手游与App测试如何快速转型? —— 过来人科普手游与App测试四大区别

    随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹.在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端 ...

  7. Web测试与APP测试有哪些异同?

    1.相同点 不管是传统行业的web测试,还是新兴的手机APP测试,都离不开测试的基础知识,即是不管怎么变,测试的原理依然会融入在这两者当中. 1)设计测试用例时,依然都是依据边界值分析法.等价类划分等 ...

  8. 包建强的培训课程(4):App测试深入学习和研究

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  9. [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试),长期有效

    [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试方向),长期有效 高级测试工程师(性能/自动化方向) 1.负责性能测试计划,性能需求分析,性能测试方案和用例设计,搭建性能测试环境,执 ...

随机推荐

  1. 我的 MyBatis 实现的 Dao 层

    学了 Mybatis 之后,发现用 Mybatis 写 Dao层实在是简便多了,主要是在表的映射这块简单了很多.下面是我实现的使用 Mybatis 实现的简单的操作用户表的 Dao 层. 使用 Myb ...

  2. 使用 Maven 管理项目

    最近的练手项目使用的是 Maven 在管理项目,在使用 Maven 管理项目时,三层的开发时分模块开发的,parent-dao-service-web,所有的spring+struts + Hiber ...

  3. python的N个小功能(高斯模糊原理及实践)

    原理: 二维高斯函数 1)         为了计算权重矩阵,需要设定σ的值.假定σ=1.5,则模糊半径为1的权重矩阵如下: 2)         这9个点的权重总和等于0.4787147,如果只计算 ...

  4. hdu 6400 Parentheses Matrix

    题目链接 Problem Description A parentheses matrix is a matrix where every element is either '(' or ')'. ...

  5. Collections带有的排序方法 传入的元素类型 需是子类或者这个类的实例

  6. 【uoj#48】[UR #3]核聚变反应强度 数论

    题目描述 给出一个长度为 $n$ 的数列 $a$ ,求 $a_1$ 分别与 $a_1...a_n$ 的次大公约数.不存在则输出-1. 输入 第一行一个正整数 $n$ . 第二行 $n$ 个用空格隔开的 ...

  7. LeetCode 696. Count Binary Substrings

    Give a string s, count the number of non-empty (contiguous) substrings that have the same number of ...

  8. eclipse启动报错: No Java virtual machine

    在 scala-ide下载集成scala包的eclipse版本使用,启动时报错: A java runtime environment (JRE) or java development kit (J ...

  9. Redis学习笔记一:Redis安装

    Redis安装 1.下载进入redis官网下载redis-xxx.tar.gz包 2.将redis-xxx.tar.gz拷贝到Linux某一目录下并对其进行解压 tar -zxvf Redis-xxx ...

  10. LINUX内核设计与实现第三周读书笔记

    LINUX内核设计与实现第三周读书笔记 第一章 LINUX内核简介 1.1 Unix的历史 1969年的夏天,贝尔实验室的程序员们在一台PDR-7型机上实现了Unix这个全新的操作系统. 1973年, ...