一、 手机 App 测试的范围

  • 功能模块测试
  • 交叉事件测试
  • 性能测试
  • 安全测试
  • 兼容性测试
  • 安装/卸载测试
  • 接口测试
  • 网络测试

二、 手机 App 测试的方法

1 功能模块测试

1.1 运行

  • App 安装完成后的试运行,可正常打开软件。
  • App 打开测试,是否有加载状态进度提示。
  • App 打开速度测试,速度是否可观。
  • App 页面间的切换是否流畅,逻辑是否正确
  • 注册
  • 用户名密码长度
  • 注册后的提示页面
  • 前台注册页面和后台的管理页面数据是否一致
  • 注册后,在后台管理中页面提示
  • 登录
  • 使用合法的用户登录系统。
  • 系统是否允许多次非法的登录,是否有次数限制。
  • 使用已经登录的账号登录系统是否正确处理。
  • 使用禁用的账号登录系统是否正确处理。
  • 用户名、口令(密码)错误或漏填时能否登录。
  • 删除或修改后的用户,原用户登录。
  • 不输入用户口令和用户名、重复点(确定或取消按钮)是否允许登录。
  • 登录后,页面中登录信息。
  • 页面中有注销按钮。
  • 登录超时的处理。
  • 注销
  • 注销原模块,新的模块系统能否正确处理。
  • 终止注销能否返回原模块,原用户。
  • 注销原用户,新用户系统能否正确处理。
  • 使用错误的账号、口令、无权限的被禁用的账号进行注销。

1.2 应用的前后台切换

  • APP 切换到后台,再回到 App,检查是否停留在上一次操作界面。
  • APP 切换到后台,再回到 App,检查功能及应用状态是否正常。
  • App 切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是
    对于从后台切换回前台数据有自动更新的时候。
  • 手机锁屏解屏后进入 App 注意是否会崩溃,功能状态是否正常,尤其是对于从后
    台切换回前台数据有自动更新的时候。
  • 当 App 使用过程中有电话进来中断后再切换到 App,功能状态是否正常
  • 当杀掉 App 进程后,再开启 App,App 能否正常启动。
  • 出现必须处理的提示框后,切换到后台,再切换回来,检查提示框是否还存在,有时候会出现应用自动跳过提示框的缺陷。
  • 对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏的测试,这种页面最容易出现崩溃。

1.3 免登录

  • App 有免登录功能时,需要考虑 OS 版本差异。
  • 考虑无网络情况时能否正常进入免登录状态。
  • 切换用户登录后,要校验用户登录信息及数据内容是否相应更新,确保原用户退出。
  • 根据 MTOP(淘宝无线开放平台)的现有规则,一个帐户只允许登录一台机器。所以,需要检查一个帐户登录多台手机的情况。原手机里的用户需要被踢出,给出友好提示。
  • App 切换到后台,再切回前台的校验
  • 密码更换后,检查有数据交换时是否进行了有效身份的校验
  • 支持自动登录的应用在进行数据交换时,检查系统是否能自动登录成功并且数据操
    作无误。
  • 检查用户主动退出登录后,下次启动 App,应停留在登录界面

1.4 数据更新

  • 需要确定哪些地方需要提供手动刷新,哪些地方需要自动刷新,哪些地方需要手动
    +自动刷新。
  • 确定哪些地方从后台切换回前台时需要进行数据更新。
  • 根据业务、速度及流量的合理分配,确定哪些内容需要实时更新,哪些需要定时更
    新。
  • 确定数据展示部分的处理逻辑,是每次从服务端请求,还是有缓存到本地,这样才
    能有针对性的进行相应测试。
  • 检查有数据交换的地方,均有相应的异常处理。

1.5 离线浏览

很多应用会支持离线浏览,即在本地客户端会缓存一部分数据供用户查看。

  • 在无网络情况可以浏览本地数据。
  • 退出 App 再开启 App 时能正常浏览。
  • 切换到后台再切回前台可以正常浏览。
  • 锁屏后再解屏回到应用前台可以正常浏览。
  • 在对服务端的数据有更新时会给予离线的相应提示。

1.6 App 更新

  • 当客户端有新版本时,有更新提示。
  • 当版本为非强制升级版时,用户可以取消更新,老版本能正常使用。用户在下次启动 App 时,仍能出现更新提示。
  • 当版本为强制升级版时,当给出强制更新后用户没有做更新时,退出客户端。下次启动 App 时,仍出现强制升级提示。
  • 当客户端有新版本时,在本地不删除客户端的情况下,直接更新,检查是否能正常更新。
  • 当客户端有新版本时,在本地不删除客户端的情况下,检查更新后的客户端功能是否具有了新版本的功能。
  • 当客户端有新版本时,在本地不删除客户端的情况下,检查资源同名文件如图片是否能正常更新成最新版本。如果以上无法更新成功的,也都属于缺陷。
  • 升级后可以正常使用。
  • 在线跨版本升级。

1.7 定位、照相机服务

  • App 有用到相机,定位服务时,需要注意系统版本差异。
  • 有用到定位服务、照相机服务的地方,需要进行前后台的切换测试,检查应用是否正常。
  • 当定位服务没有开启时,使用定位服务,会友好性弹出是否允许设置定位提示。当确定允许开启定位时,能自动跳转到定位设置中开启定位服务。
  • 测试定位、照相机服务时,需要采用真机进行测试。

1.8 时间测试

  • 客户端可以自行设置手机的时区、时间,因此需要校验该设置对 App 的影响。
  • 中国为东 8 区,所以当手机设置的时间非东 8 区时,查看需要显示时间的地方,时间是否展示正确,应用功能是否正常。时间一般需要根据服务器时间再转换成客户端对应的时区来展示,这样的用户体验比较好。
  • 比如发表一篇微博在服务端记录的是 10:00,此时,华盛顿时间为 22:00,客户端去浏览时,如果设置的是华盛顿时间,则显示的发表时间即为 22:00,当
    时间设回东 8 区时间时,再查看则显示为 10:00。

1.9 PUSH 测试

  • 检查 PUSH 消息是否按照指定的业务规则发送。
  • 检查不接受推送消息时,检查用户不会再接收到 PUSH. - 如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到 PUSH。
  • 在非免打扰时间段,用户能正常收到 PUSH。
  • 当 PUSH 消息是针对登录用户的时候,需要检查收到的 PUSH 与用户身份是否相符,没有错误地将其它人的消息推送过来。一般情况下,只对手机上最后一个登录用户进行消息推送。
  • 测试 PUSH 时,需要采用真机进行测试。

2 交叉事件测试

  • 又叫事件冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰测试。如:App 在前/后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。
  • 执行干扰的冲突事件不能导致软件应用软件异常、手机死机或者花屏等严重问题。
  • 多个 App 同时运行是否影响正常功能。
  • App 运行时前/后台切换是否影响正常功能。
  • App 运行时拨打/接听电话。
  • App 运行时发送/接收信息。
  • App 运行时发送/收取邮件。
  • App 运行时切换网络(2G/3G/WIFI). - App 运行浏览网页。
  • App 运行时使用蓝牙传送/接收数据。
  • App 运行时使用相机、计算器手机自带设备。
  • App 运行时插拔充电器。
  • 注意各交叉事件的优先级别,检验系统是否能依据各事件的优先级别依次进行
    处理。不能因执行优先级别高的事件而导致优先级别较低的事件吊死。
  • 有中英文模式切换的手机要注意中英文模式切换后的功能实现存在的问题。

3 性能测试

3.1 响应时间和资源占用测试

  • 测试 App 中的各类操作是否满足用户响应时间要求。
  • App 安装、启动、卸载的响应时间。
  • App 各类功能性操作的响应时间。
  • 在各种边界压力情况下,如电池、存储、网速等,验证 App 是否能正确响应。
  • 内存满时安装 App。
  • 运行 App 时手机断电。
  • 运行 App 时断掉网络。
  • 评估典型用户应用场景下,系统资源的使用情况。
  • Benchmark 测试(基线测试):与竞争产品对比测试,产品演变对比测试等。

3.2 压力测试

  • 反复/长期操作下、系统资源是否占用异常。
  • App 反复进行安装卸载,查看系统资源是否正常。
  • 其他功能反复进行操作,查看系统资源是否正常。
  • 大数量的测试
  • 在特定环境下,客户端一次性更新大量的数据及人员列表时,客户端能否正常
    处理,分为三种情况:
  • 客户端第一次使用,第一次就更新大量数据及人员列表。
  • 客户端在平时更新中,更新大量的数据。
  • 客户端已经在手机本地下载很多数据后,再次更新大量数据。

3.3 特定场景测试

  • 通过模拟终端低电量(例如 5%电量)的状态来测试功能在该状态下的正确性。
  • 通过模拟终端处于特殊地理位置(例如上海)来测试功能在该状态下的正确性。
  • 通过模拟终端处于特定网络状态下(例如 3G)来测试功能在该状态下的正确性。

3.4 深度性能测试

  • 获取 App 在典型使用场景及待机状态下消耗的电量流量消耗。
  • 获取 App 在典型使用场景及待机状态下消耗的流量。
  • 获取 App 在典型使用场景及待机状态下的 CPU 占用率。
  • 获取 App 在典型使用场景及待机状态下内存量。
  • 获取 App 冷启动和热启动耗时内容。
  • 获取 App 特定页面的内容加载耗时。
  • 获取 App 退出的耗时。
  • 获取 App 在典型使用场景下帧率。

4 安全测试

4.1 软件权限

  • 扣费风险:包括发送短信、拨打电话、连接网络等。
  • 隐私泄露风险:包括访问手机信息、访问联系人信息等。
  • 对 App 的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检
    测。
  • 限制/允许使用手机功能接入互联网。
  • 限制/允许使用手机发送接收信息功能。
  • 限制/允许应用程序来注册自动启动应用程序。
  • 限制/允许使用本地连接。
  • 限制/允许使用手机拍照或录音。
  • 限制/允许使用手机读取用户数据。
  • 限制/允许使用手机写入用户数据。
  • 检测 App 的用户授权级别、数据泄漏、非法授权访问等。

4.2 安装与卸载安全性

  • 应用程序应能正确安装到设备上。
  • 能够在安装设备上找到应用程序的相应图标。
  • 是否包含数字签名信息。
  • JAD 文件和 JAR 包中包含的所有托管属性及其值必须是正确的。
  • 下载 JAVA 程序是通常会发现是两个文件,即 JAR 和 JAD。
  • JAR 文件:是许多信息经过封装后形成的捆绑体,是一个压缩文件。
  • JAD 文件:是 Java 应用程序描述器文件。
  • JAD 文件显示的资料内容与应用程序显示的资料内容应一致。
  • 安装路径应能指定。
  • 没有用户的允许,应用程序不能预先设定自动启动。
  • 卸载是否安全,其安装进去的文件是否全部卸载。
  • 卸载用户使用过程中产生的文件是否有提示。
  • 其修改的配置信息是否复原。
  • 卸载是否影响其他软件的功能。
  • 卸载应该移除所有的文件。
  • 高/低版本覆盖安装。
  • 安装、卸载、更新错误报告。

4.3 数据安全性

  • 当将密码、信用卡明细或其他的敏感数据输入到应用程序时,其不会被储存在设备
    中,不以明文形式将数据写到其它单独的文件或者临时文件中,以防止应用程序异
    常终止而又没有删除它的临时文件,文件可能遭受入侵者的袭击,然后读取这些数
    据信息。
  • 输入的密码将不以明文形式进行显示,同时密码也不会被解码。
  • 不同的应用程序的个人身份证不能相互使用。
  • 个人身份证和密码长度等必须有设定的要求。
  • 备份应该加密,恢复数据应考虑恢复过程的异常。

5 兼容性测试

  • Android、iOS 版本的兼容性。
  • 手机不同操作系统版本的支持。
  • 手机不同厂家系统的支持。
  • 手机不同尺寸的支持。
  • 手机分辨率兼容性。
  • 网络的兼容性:2G/3G/4G/5G/Wifi,弱网下、断网时。
  • 不同浏览器兼容性。
  • 与其他 APP 兼容性。

6 安装、卸载测试

  • 生成 apk 文件在真机上可以安装及卸载。
  • Android 手机端通过使用安装工具,如豌豆荚。

7 网络测试

  • 外网测试主要实现模拟客户使用网络环境,检验客户端程序在实际网络环境中使用情况进行业务操作。
  • 外网测试主要覆盖到 WiFi/2G/3G/4G/5G/wap、电信/移动/联通、所有可能的组合进行测试。
  • 模拟信号屏蔽时候。
  • 在高山、丘陵、火车上等特殊环境下进行全面测试。

8 接口测试

  • Client 端和 Service 端的交互。
  • Client 端的数据更新和 Service 端的数据是否一致。
  • Client 端更新时断开。
  • Client 端更新时,Service 端挂掉。

APP测试要点详细整理相关推荐

  1. centos7使用蓝牙_Nmon的使用和APP测试要点

    一.Nmon的使用 授权 chmod +x nmon_x86_64_centos7 运行nmon ./nmon_x86_64_centos7 nmon的常用命令 C CPU ; M 内存:N 网络:D ...

  2. APP测试要点提取和分析(文字说明,需要耐心阅读)

    APP测试要点提取和分析 APP测试要点 安装与卸载测试 APP升级测试 APP登录测试 触屏及操作测试 APP消息推送测试 UI界面测试 兼容性测试 -- 适配 APP中断测试 网络测试 安全性测试 ...

  3. App测试要点提取和分析

    1 功能测试 根据产品需求文档编写用例,执行测试 App客户单的单个功能模块 需要使用等价类.边界值,考虑正常和异常情况 依据功能业务逻辑考虑功能交互 注意:功能测试点提取和用例设计方法跟web测试一 ...

  4. 手把手教你APP测试要点

    ​ 本文主要总结一下APP测试需要关注哪些要点.当然,手把手是不可能滴-- 一.功能测试 1.首先需要整理功能测试的要点(不同的软件功能不同,不做赘述) 2.可使用流程测试法.如商城app,可从浏览商 ...

  5. APP测试基本流程以及APP测试要点梳理,成功入职就靠它了

    目录:导读 前言 一.APP测试 二.操作系统 三.模拟器 四.APP测试实战 五.MonKey测试 六.APP的性能 七.兼容性 八.消息推送测试 九.渠道包测试 十.总结 前言 APP要做哪些测试 ...

  6. 转载:app测试要点

    虫师博客:https://www.cnblogs.com/fnng/p/8679185.html APP测试点总结(全面) 原文地址:https://www.jianshu.com/p/3b8ee29 ...

  7. APP测试基本流程以及APP测试要点梳理,不看了不后悔系列!

    前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢! 一.APP测试基本流程 1.流程图 2.测试周期 测试周期可按项目的开发周期来确定测 ...

  8. 手机app测试要点(复制文)

    一.简介 移动应用App已经渗透到每个人的生活.娱乐.学习.工作当中,令人激动.兴奋且具有创造性的各种App犹如雨后春笋般交付到用户手中.各类智能终端也在快速发布,而开发者对于全球移动设备的质量和性能 ...

  9. APP测试基本流程以及APP测试要点梳理,保证您看了不后悔!

    前言:相信很多刚刚步入测试行业的小伙伴对于APP测试不是很熟悉,这次我为大家提供一篇宝藏文章,希望大家喜欢,谢谢! 一.APP测试基本流程 1.流程图 2.测试周期 测试周期可按项目的开发周期来确定测 ...

最新文章

  1. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  2. bim建筑绘图计算机要求,BIM考试报名条件:想要成为一级BIM建模师需要达到哪些要求?...
  3. [html] iframe框架都有哪些优缺点?
  4. 泡泡提示加强版 完美支持XHTML(JavaScript)--zhuan
  5. 我,27岁,程序员,今年无情被辞:该转行还是降薪和年轻人抢饭碗?
  6. Docker教程小白实操入门(3)--如何启动一个已经停止的容器
  7. inno setup安装之前关闭mysql_inno setup 安装前判断进程是否存在,以及停止相应进程转...
  8. html css底部弧度,CSS实现底部弧度效果
  9. onpropertychange oninput兼容性
  10. 用matlab求excel表中平均值,matlab如何将符合特定条件的数据导入excel并求出平均值...
  11. centos7.5安装snipe-it v5.1.2版本开源资产管理软件
  12. [Android Studio 日常奇怪问题记录] 之Failed to resolve: com.github.chrisbanes:PhotoView:1.2.6
  13. 脚手架开发(2)-注册阶段
  14. java语言商场打折_Java封装商场打折策略(Strategy模式)
  15. 2022起重机司机(限桥式起重机)考题及在线模拟考试
  16. 计算机网络速成课【体系结构】
  17. 前端学习小demo:使用HTML+CSS+bootstrap+Vue2.0编写一个简易的音乐播放器(仿网易云)
  18. 03 汽车以太网如何影响ECU和传感器设计
  19. T3-总账查询账表报错:运行时错误6,溢出
  20. 举办第十届Revit开发实战训练课程(2019.4.1-6)

热门文章

  1. 6.juc包下的原子类AtomicInteger,AtomicLong等AtomicXXX介绍
  2. 零基础2小时入门彩铅——花卉
  3. 神途boss_神途boss刷新点一举一动都显出了足够的萌属性
  4. 请销假php源码,基于PHP MySql的学生请销假管理系统的设计(笔记3)
  5. openscad 利用2D创建3D
  6. 低学历如何get满意offer
  7. 决战平安京怎么在电脑上玩 决战平安京模拟器教程
  8. 编程模板中给出了一个字符串,其中包含了含有重复的人名,请直接输出出现最多的人名。
  9. 最好的生活方式,说得太对了!(收藏这10句话)
  10. 三大运营商重回4G起跑线 资费大战一触即发