启动:
1. 启动入口:桌面正常启动,最近运行启动,所有程序列表中启动,锁屏快捷启动
2. 其他入口:从其他程序开启应用,从外部以文件形式打开应用(如果有)
3. 退回:从其他程序退回时回到被测应用,被测应用打开其他应用再从桌面图标启动
以上需要交叉组合测试。
4. 异常启动:崩溃后启动,写文件时被强制杀进程后启动,网络请求未收到回包强制杀进程后再启动,网络超时时启动(启动需要有超时机制)

功能介绍,引导图,流量提示等:
1 全新安装程序第一次启动,会有些初始化,或者弹框提示,功能介绍,当外部打开,比如第三方打开(一般不算做第一次启动)后,再启动程序,检查该有的动作是否都有。

权限:
1 当某些权限被安全软件或者系统禁止时,是否可以正常使用,需要注意的权限:麦克风/摄像头/定位/短信息等权限 ---_luguo
2 在做兼容性测试时,需要特别注意权限管理较严的Rom,比如魅族在摄像头等权限为默认关闭
3 第三方安全软件弹框请求禁止权限时,选择后,是否会影响到被测应用的正常流程

文件错误
1 使用错误的文件类型(但是有正确的后缀名),替代被测应用使用的文件
2 adb push 从pc上传到设备的文件如果有中文名,会生成一个错误的文件,被测应用需要适应这种错误情况

屏幕旋转:
1 确认哪些界面是需要允许横屏或者禁止横屏的
2 将屏幕锁定为竖屏或者横屏,在几个界面跳转,界面是否正常
3 当适应横屏时,是否对横屏进行了适配

流量:
1 首次启动应用的流量是否符合预期
2 在主界面有很多图片时,是否已经达到图片文件大小与显示效果的平衡
3 当需要使用较大的网络流量时(加载大图片,视频播放缓冲,下载更新包),显示出当前网速或者进度,对用户来说更友善

缓存(/sdcard/data/com.your.package/cache/):
1. 卸载后将删除缓存,其中是否存在不应该删除的文件(下载文件,用户资料)
2. 缓存易被360手机卫士,猎豹清理大师等清理,需检查该文件夹是否放了适合的文件

正常中断:
1. 在所有界面执行锁屏操作,解锁后观察是否正常运行
2. 在所有界面执行长时间锁屏操作,解锁后观察是否正常运行
3. 在所有界面,和所有过程,按home键切后台,再切回时观察是否正常
4. 在所有的loading过程中,按back键
5. 在所有的loading过程中,按home键
6. 界面切换动画时尝试多次按back键
7. 正常的点击动作,尝试快速按两次
8. 后摄像头和前摄像头无法同时启动,后摄像头启动还包括打开闪光灯(与手电筒类应用的兼容性)
9. 检查键盘展开和收起的时机,与home、back、锁屏组合测试
10. 从第三方启动后,home键回到桌面,再从桌面打开被测应用,显示是否正确(应确定是显示第三方启动界面,还是显示程序正常启动界面,前者如微信,后者如QQ)

异常中断:
1. 断电后重启
2. 当界面被意外崩溃,是否可以重启界面,并且恢复到崩溃之前的状态
3. 来电结束后,返回被测应用界面
4. 在某些特殊情况下,来电后,移动网络会被切断

用户体验:
1. 以最挑剔最无理的用户角度来使用应用的主打功能
2. 是否每个动作都有反馈
3. 每个按钮都有按下的状态
4. 当界面有返回按钮时,back将执行同样的操作
5. 当图片需要网络拉取,或者无图片时,是否有默认图片替代
6. 开启开发者选项,勾选显示布局边界,检查每一个按钮的可点击范围是否合理

多语言:
1. 其他语言的语言习惯(如繁体)
2. 英文注意复数
3. 多语言下,需要特别检查以图片形式展示的文案(如果功能引导,启动引导图)
4. 一致性。(一方面是代指的一致性,一方面如果有系列应用共用功能的文案也需要保持一致)
5. 如果在简体下载了一个文件or创建了一个快捷方式or进行了一笔购买,马上切换语言去做一次同样的动作
6. 检查英文语言下的切断、断行是否正确---by chenhengjie123
7. 当文字长度不一致时,UI界面是否能正常适配---by chenhengjie123

升级:
1. 是否有完整的升级策略(强制升级,灰度发布)
2. 下载升级包过程中是否可以取消
3. 升级包下载是否可以续传
4. 升级过程是否可以中断(取消按钮,back键)
5. Android系统第一次安装非官方市场应用,需要手动取消限制,此过程是否会影响到apk包安装(正对预装应用的测试)
6. 在没有更新或者网络时,需要给予用户正确的信息表达
7. 如果升级有忽略本次版本升级,那么当有新的升级版本时,是否还有提示升级
8. 收到升级提示后,下载了apk并未安装,同名替换该apk,下次再收到升级提示后,是否正常升级

应用外部升级:
1 应用如果是跳网页下载安装包升级,需要在文件名加版本号或者标识,防止浏览器下载时有缓存,而无法安装最新版本---_luguo
2 交由系统下载升级安装包,尝试进行两次版本升级

列表:
1. 列表中的文字长度超过限制
2. 点击列表项返回后的列表项的状态变化(尤其在有多个进度条存在时,需要注意状态)
3. 上下滑动时,是否可接受卡顿(帧率)

双卡双待:
1. 当手机为双卡双待时,影响到的功能有:需要获取手机号码的功能,如支付;自动读取短信息

网络:
1. 是否以较好的体验从网络问题导致的数据问题中恢复界面展示数据
2. 是否每个需要网络请求的操作,都有做超时处理,并且测试出他的超时时间
3. 检查每一个需要网路请求的动作在网络延迟,服务器发生错误时,界面的响应

monkey测试:
1. 必跑monkey,不要仅跑一次,不要到测试后期才跑
2. 更换不同的界面和不同的参数跑monkey
3. 记得记录所有日志,如果能有日志筛选的工具更好

性能测试:
1. cpu占用,内存,流量,耗时等数据,必须有标准和参考值(可以是市场上同类应用的类似操作的表现,或者同应用的不同版本测试)
2 特定操作(一般为主打功能)的压力测试,一般长时间大批量执行某个动作或者组合,尤其为该动作是通过JNI实现,或者使用了其他第三方sdk。一般写脚本或者录制脚本。

<转>安卓应用测试checklist的更多相关文章

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

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

  2. 安卓BLE测试apk

    安卓蓝牙测试APP 文件下载:蓝牙测试.apk

  3. 安卓 unit 测试与 instrument 测试的代码共享

    假如你有一款安卓应用,其包含一系列测试类,其中一部分是unit 测试(位于 src/test),其余为instrument 测试(位于 src/androidTest). 那么问题来了:你有一些想在所 ...

  4. 免费安卓IOS测试API接口,后续会陆续增加接口

    各位博友好!开发的安卓或者ios的朋友们,经常会遇到想测试但是没有公开的api接口进行进行测试.但自己又不会开发服务端或者没有服务器,这里我免费提供了一整套API接口.欢迎大家调用,目标是方便大家. ...

  5. 安卓APP测试容易忽略的地方

    我们手机APP测试,主要针对的是android和ios两大主流操作系统,总体上来说android手机型号.版本多,bug也多:ios相对bug少.下面就针对Android说一下最容易忽略的测试点吧. ...

  6. react-native-contact 安卓已测试,

    1. 下载模块    npm install react-native-contacts --save 2.安卓配置: a.在android/settings.gradle include ':rea ...

  7. 安卓渗透测试工具——Drozer(安装和使用)

    移动端渗透测试工具相比丰富的web端真的是少之又少,最近在做app的安全测试,用到了drozer,drozer的安装过程真的是太心酸了,中间报错了有6次才成功安装.. 一.环境准备 首先准备以下环境: ...

  8. Genymotion--最快的安卓模拟器 测试与模拟APP应用必备

    命令行工具,Eclipse插件,多操作系统 1 易于安装,易于运行 超过10个虚拟设备 您很匆忙?您想测试市场的主要设备?使用我们的虚拟设备! 2 控制功能强大的传感器来测试您的应用程序 自定义你的测 ...

  9. 【实战分享】安卓app测试的一些记录

    一.app代码未混淆1.使用7zip解压apk文件2.执行命令:dex2jar.bat apk解压后文件夹中的classes.dex文件3.上述命令执行后会在apk文件夹中生成java源码文件clas ...

随机推荐

  1. 美丽渐变色的Form

    一直都非常喜欢渐变色的界面,但是没想到漂亮的渐变Form原来这么简单...实在是没想到...看来我不仅技术水平低,脑袋里的创意也是空空如也... --------------------------- ...

  2. Delphi是座宝山,有待挖掘

    Delphi是座宝山,有待挖掘1. VCL源码是座宝山,把纷繁复杂的Windows编程封装到短短几个类里,不超过8000行代码,还额外包括许多其它的技巧2. RTL是座宝山,方便程序员使用底层运算,不 ...

  3. JavaWeb笔记——利用过滤器实现页面静态化

    1.说明 页面静态化是把动态页面生成的html保存到服务器的文件上,然后再有相同请求时,不再去执行动态页面,而是直接给用户响应上次已经生成的静态页面. * 核心思路为拦截请求,实现请求转发指向静态页面 ...

  4. UML系列02之UML类图(1)

    类图介绍 类图,是UML(统一建模语言)中用于描述"类"以及"类与类"之间关系的示意图.它形象的描述出了系统的结构,帮助人们理解系统.类图是在"所有的 ...

  5. 313. Super Ugly Number

    题目: Write a program to find the nth super ugly number. Super ugly numbers are positive numbers whose ...

  6. Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错

    ——> Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错. ok -->直接使用以下代码,自己保存mat,从而可以跟 ...

  7. Getting Started Synchronizing Files

    https://msdn.microsoft.com/en-US/library/bb902813(v=sql.110).aspx Sync Framework includes a file syn ...

  8. HTTP 请求方式: GET和POST的比较

    GET和POST是HTTP的两个常用方法.   什么是HTTP? 超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议 ...

  9. 【转】Android 使用ORMLite 操作数据库

    Android 使用ORMLite 操作数据库   用过ssh,s2sh的肯定不会陌生 ,应该一学就会 第一步: 下载ormlite-android-4.41.jar和ormlite-core-4.4 ...

  10. JavaScript 高级篇之闭包、模拟类,继承(五)

    本篇主要分享我对闭包的理解及使用闭包完成私有属性.模拟类.继承等,结合大量例子,希望大家能快速掌握!首先让我们先从一些基本的术语开始吧     一.javascript中的闭包 1.我们一起先来理解什 ...