一、移动应用软件基础概念
1. 定义
移动应用软件是运行于移动设备上的一类新型软件,以图形用户界面操作、传感反馈为主要人机交互方式;属于事件驱动型软件,人机交互环境复杂、用户使用方式多样。
以Android应用为例,三大特点:
• 多样的交互方式
• 多样的移动设备
• 快速的软件版本迭代
2. 脚本编程测试两类核心方法
① 测试脚本编程技术
利用测试脚本框架+接口编写脚本,由框架自动执行测试、校验功能;提供两类编程接口:
• 获取UI界面信息接口:如读取屏幕控件层级结构
• 模拟人机交互操作接口
② 测试脚本录制回放技术
通过工具自动录制、回放测试步骤,替代纯手工编写脚本;依赖自动化测试框架,适合复杂业务、精细化操作场景。
3. 移动应用测试三大挑战
• 脚本编程测试自身存在局限性
• 网络基础设施、架构多样化
• 移动设备型号、系统版本多样性
二、移动应用软件六大测试类型(功能/性能/易用/安全/可移植/网络)
功能测试
• 测试目标:校验软件功能是否正确、符合需求预期
• 主流方法:手工测试、自动化脚本测试
性能效率测试
• 测试目标:保障流畅用户体验,覆盖三类性能:设备性能、服务器/API性能、网络性能
• 通用执行步骤:
1. 熟悉待测业务,掌握代码监控相关接口
2. 筛选兼容测试设备、系统版本
3. 编写覆盖核心场景的测试脚本
4. 使用性能工具监控指标(内存占用、界面帧率、接口响应耗时等),定位性能瓶颈
易用性测试
• 测试目标:检测系统友好度,提前识别易用性缺陷;关注维度:操作有效性、使用效率、内容准确性、界面友好度
• 主流方法:
1. 实验室环境易用测试
2. 远程易用测试(观测人员、被测用户异地)
信息安全测试
• 测试目标:防范欺诈攻击、病毒/恶意软件;挖掘安全漏洞、管控多余权限申请
• 主流方法:设计审查、白盒代码安全审查、黑盒安全审计
可移植性测试
• 测试目标:保障应用在主流移动设备上可正常安装、启动、卸载,平稳运行
• 主流方法:人工测试、众包测试、第三方自动化云测试服务
网络测试
• 测试目标:模拟各类网络环境,验证应用健壮性、易用性、稳定性;包含弱网、无网、异常机制测试
• 主流方法:
1. 移动设备直连PC开展网络测试
2. 专用服务器搭建模拟WiFi,设备接入该WiFi测试
补充分类说明
前5类(功能、性能、易用、安全、可移植)是从软件质量特性角度划分;网络测试是从移动应用独有业务特点角度划分。
夜雨聆风