高校移动应用(APP)课题的专项验收测试是保障科研成果从理论模型转化为可用产品的重要步骤。超过了简单的功能证实,是一套按照软件工程标准、为了考虑软件产品在功能完整性、环境适应性及安全性等方面是不是达到设定质量目的的系统性测试。
测试质量要求
移动应用的专项验收测试应围绕功能性-、兼容性、安全性三个重要方面展开,并满足《GB/T 25000.51-2016 系统和软件工程 系统和软件质量要求和评价(SQuaRE)第51部分:就绪可用软件产品(RUSP)的质量要求和测试细则》中的基础要求。
功能性:软件产品在指定条件下使用时,提供满足确定和隐含要求的功能的能力。安装卸载升级、交叉事件、用户体验(UI/易用性)、接口和业务思路测试。
兼容性:软件产品和一个或多个指定系统(硬件、软件、网络)共享相同的硬件或软件环境并执行所需功能的能力。设备兼容、网络兼容、应用间兼容、跨版本升级兼容。
安全性:软件产品保护信息和数据,以使未授权人员或系统无法阅读或修改它们,而不拒绝授权人员或系统对它们的访问。用户认证和授权、数据传输安全、本地数据安全、代码和依赖安全。
专项测试实施
一、 功能性验收测试
-
功能性测试为了证实应用是不是实现了需求规格说明书中定义的所有业务需求。
安装、卸载和升级测试:
安装:测试从不同渠道-(官方应用商店、内测分发链接、扫码下载)的正常-安装。证实安装过程中断(如来电、断网、取消、存储空间不足)后的处理是不是符合预期。安装后证实文件是不是写入正-确目录,应用能否正常启动。
卸载:测试正常卸载流程,证实卸载后所有相关用户数据、缓存文件是不是被完全清除。同样需测试卸载过程中的异常中断处理。
升级:包括从旧版本到当前版本的正常升级(包括跨版本升级),证实用户数据在升级后是不是得到完整保留和正确迁移。需测试升-级包下载中断后的续传机制,以及升级前后重要功能的连续性。
干扰/冲突测试:
模拟真实用户情形下应用被系统或其它应用中断的情形,证实应用的健壮性。主要包括:
系统事件干扰:应用运行时接听来电、接收短信、切换网络(Wi-Fi/4G/5G/弱网)、切换屏幕方向(横竖屏)、低电量提醒、插拔充电器/耳机。
应用间切换:前台运行时启动相机、相册、蓝牙、手电筒等其他手机自带应用,证实返回后应用状态是不是正常。
消息推送:在应用不同状态下(前台、后台、关闭)接收应用推送消息,点击后是不是能正确跳转。
用户体验(UI/易用性)测试:-
根据UI设计稿和交互文档,考虑用户界面的直观性和操作效率。
UI界面:检查所有界面元素的布局合理性、风格一致性、文字清晰度和正确性。
易用性:考虑操作流程是不是符合用户直觉,菜单层级是不是过深,在无数据、加载失败等异常状态下是不是有友好提示。
横竖屏适配:对于支持横竖屏切换的应用,需测试两种方向下的界面布局合理性,尤其是列表、表格等复杂控件的-显-示。
接口和业务思路测试:
对于涉及服务端交互的应用,必须进行接口测试。
接口正确性:使用Postman等工具证实客户端和服务端接口的请求和响应数据是不是符合契约(如API文档),保证功能思路正确。
数据一致性:测试客户端更新数据后,和服务端的数据是不是保持同步一致。
异常处理:模拟服务端异常(如超时、返回错误码、服务不可用)、客户端网络中断等情况,证实应用的容错机制和用户提示是不是合理。
兼容性验收测试
设备兼容性:
操作系统和版本:包-括当前市场主流的Android(如Android 10及以后主流版本)和iOS(如iOS 13及以后主流版本)系统。高校课题可根据目的用户群体选择更加有代表性的版本范围。
硬件和屏幕:在不同品牌、型号的主流真机上进行测试,应用在不同屏幕尺寸、分辨率、像素密度(DPI)下的测试。
网络兼容性:
模拟用户可能遇到的各种网络环境。
网络类型:在Wi-Fi、2G/3G/4G/5G等不同网络下测试应用的加载、刷新、上传下载等功能。
弱网和断网:使用-网络模拟工具,在高延迟、低带宽、网络抖动甚至断网情况下测试应用的响应、超时处理和重试机制,测试数据不会因丢失或损坏。恢复网络后,测试应用是不是能自动重连或给出确定提示。
应用兼容性:
和其他应用共存:测试应用和手机中其他常用应用(如社交、地图、音乐等)同时运行时,是不是存在资源(如音频焦点、内存)-冲-突-导-致的功能异常。
权限冲突:测试应用申请的系统权限(如相机、定位、存储)被其他应用占用或用户手动关闭时,应用的应对方法。
安全测试
认证和授权安全:
证实用户密码的复杂度要求、错误登录次数限制、会话超时和重新认证机制。
测试不同用户角色(如普通用户、-管理员)的权限隔离是不是有效,保证用户无法越权访-问或操作数据。
数据传输和存储安全:
传输安全:检查所有客户端和服务端之间的网络通信是不是采用TLS/SSL等加密协议,防止数据在传输过程中被窃听或篡改。可抓包证实是不是存在明文传输敏感信息(如密码、个人身份信息)的情况。
本地存储:检查保存在本地设备(如SQLite数据库、SharedPreferences、本地文件)中的敏感数据(如用户证据、个人资料)是不是经过加密处理。避免以明文形式存储重点信息。
代码和组件安全
组件:对于Andro-id应用,检查Activity、Service、Broadcast Receiver、Content Provider四大组件是不是被不必要地暴露,防止被恶意应用调用。
依赖库安全:检查项目引用的第三方开源库(尤其是网络、图片加载、数据库等重要库)是不是存在已知的安全漏洞。
验收测试流程和成果-评判
测试流程建议:按照“检查文档 -> 执行测试 -> 记录问题 -> 回归证实 -> 出具报告”的通用流程。根据课题任务书、需求规格说明书、设计文档等验收资料制定详细的测试计划和用例。所有问题需由开发方修复后,进行回归测试确定。根据完整的测试和分析,形成《软件验收测试报告》。
引入权威第三方测评的作用:对于国家级、省部级重点课题,或计划将成果用于创业孵化、产品发布的课题,引入有国家认可资质的第三方测评机构进行-验收测试,能极大提升成果的公信力和权威性。