功能测试测试用例
移动设备的功能测试通常包括测试用户交互以及测试场景。与功能测试相关的各种因素是
- 应用业务类型(银行,游戏,社交或商业等)
- 用户类型(消费者,企业,教育等)
- 渠道(例如Apple App Store,Google play,直接发布)
最基本的测试场景:
- 所有必需的必填字段是否按要求运行。
- 必填字段是否与非必填字段不同的方式显示在屏幕中。
- 启动/停止时验证应用程序是否按要求运行。
- 来电时验证是否进入最小化模式。
- 是否能够在应用程序运行时存储,处理和接收SMS。
- 是否能在必要时执行所需的多任务处理要求。
- 是否允许必要的社交网络选项,如共享,发布和导航等。与微博、微信等进行交互
- 验证应用程序是否支持任何支付网关交易,如支付宝、Visa,Mastercard,Paypal等。微信支付也在考虑中,不过微信支付安全系数不高,尽量不要用。
- 是否在应用程序中根据需要启用了页面滚动方案。
- 相关模块之间的导航是否符合要求。
- 截断
- 是否收到类似“网络错误”的相应错误消息。一旦出现任何网络错误,请在一段时间后尝试。
- 是否能与其他应用程序共存,并且不会影响其他应用程序的内存。
- 在硬重启或系统崩溃的情况下,是否能恢复上次操作。
- 安装测试。
- 自动启动。
- 是否按照所有Mobile版本2g,3g和4g和wifi的要求执行。
- 回归测试。
- 用户指南
性能测试测试用例
- 是否在不同负载条件下按要求执行。
- 确定当前网络覆盖是否能够在峰值,平均和最小用户级别支持应用程序。
- 确定现有客户端 - 服务器配置设置是否提供所需的最佳性能级别。
- 识别阻止应用程序在所需可接受级别执行的各种应用程序和基础架构瓶颈。
- 验证应用程序的响应时间是否符合要求。
- 评估产品和/或硬件以确定它是否可以处理预计的负载量。
- 评估电池寿命是否可以支持应用程序在预计的负载量下执行。
- 在网络从2G / 3G更改为WIFI时,验证应用程序性能,反之亦然。
- 每个所需的CPU周期优化
- 要验证电池消耗,内存泄漏,GPS等资源,相机性能是否符合要求。
- 用户负载严格时验证应用程序的使用寿命。
- 在移动设备时验证网络性能。
- 仅在需要间歇性连接阶段时验证应用程序性能。
安全测试测试用例
- 是否能够承受任何暴力攻击,包含用户名,密码或信用卡号等。
- 否允许攻击者在没有正确身份验证的情况下访问敏感内容或功能。
- 是否具有强密码保护系统,并且不允许攻击者获取,更改或恢复其他用户的密码。
- 应用程序没有受到session 过期影响。
- 识别动态依赖关系并采取措施防止任何攻击者访问这些漏洞。
- 防止SQL注入相关攻击。
- 识别非托管代码方案并从中恢复。
- 证书是否经过验证,应用程序是否实现了证书固定。
- 保护应用程序和网络免受拒绝服务攻击。
- 分析数据存储和数据验证要求。
- 启用会话管理以防止未经授权的用户访问未经请求的信息。
- 检查是否有任何加密代码损坏并确保其已修复。
- 业务逻辑实现是否安全且不易受到来自外部的任何攻击。
- 分析文件系统交互,确定任何漏洞并更正这些问题。
- 验证协议处理程序,例如尝试使用恶意iframe重新配置应用程序的默认登录页面。
- 防止恶意客户端注入。
- 防止恶意运行时注入。
- 调查文件缓存并防止任何恶意可能性。
- 防止应用程序的键盘缓存中的不安全数据存储。
- 调查cookie并防止cookie中的任何恶意行为。
- 数据保护分析提供定期审核。
- 调查自定义创建的文件并防止自定义创建的文件中的任何恶意行为。
- 防止缓冲区溢出和内存损坏的情况。
- 分析不同的数据流。
测试工具参考:软件测试专家工具包3移动端
易用性测试测试用例
- 按钮具有所需尺寸并适合大手指。
- 按钮位于屏幕的同一部分,以避免混淆最终用户。
- 图标自然且与应用程序一致。
- 相同功能的按钮也应具有相同的颜色。
- 点击放大和缩小设施的验证。
- 适当的方式最小化键盘输入。
- 应用程序提供一种方法,用于在可接受的持续时间内触摸错误的项目时返回或撤消操作。
- 上下文菜单不会因为必须快速使用而过载。
- 文本保持简单明了以便用户可见。
- 短句和段落对最终用户可读。
- 字体不要太大或太小。
- 用户开始下载可能不利于应用程序性能的大量数据时,验证应用程序会提示用户。
- 是否从不同状态执行应用程序关闭,并验证它是否以相同状态重新打开。
- 语言翻译工具可用时将所有字符串转换为适当的语言。
- 根据用户操作同步应用程序项。
- 为最终用户提供用户手册
此部分通常要手工执行
兼容性测试测试用例
移动设备具有不同的大小,分辨率,屏幕,版本和硬件。
- 用户界面是否与设备的屏幕大小相同,则文本/控件不会部分不可见或不可访问。
- 文本对于应用程序的所有用户都是可读的。
- 应用程序运行时启用呼叫/警报功能。在呼叫发生时最小化或暂停应用程序,然后每当呼叫停止时应用程序恢复。
恢复性测试测试用例
- 崩溃恢复和事务中断
- 在意外的中断/崩溃情况下验证有效的应用程序恢复情况。
- 验证应用程序在电源故障期间如何处理事务(即电池耗尽或设备突然手动关闭)
- 连接瞬断,系统需要重新建恢复受暂停连接影响的数据。
网络的模拟推荐使用 augmented-traffic-control
参考资料
- 讨论 钉钉群21745728 qq群144081101 567351477
- 本文最新版本地址
- 本文源码地址
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
重要清单
- 安装测试(应用程序是否可以在合理的时间内安装并符合要求的标准)
- 卸载测试(是否可以在合理的时间内卸载应用程序)
- 网络测试用例(验证网络是否在所需负载下运行,网络是否能够在测试过程中支持所有必要的应用程序)
- 检查未映射的密钥
- 检查应用程序启动画面
- 在中断期间和网络问题等其他时间继续键盘输入
- 处理退出应用程序的方法
- 应用程序在后台运行时的充电器效果
- 低电池和高性能需求
- 在执行应用程序时取出电池
- 通过应用消耗电池
- 检查应用程序副作用