Overview
纵观笔者的测试生涯,以Linux测试环境稍微偏多,此次汇总一下PC端应用程序在Windows环境下的通用功能测试点,FYI。
PC端产品测试关注点
测试项 | 一级测试点 | 二级测试点 |
---|---|---|
安装测试 | 首次安装(exe和msi格式的不同) | 安装程序权限检查 |
软件安装包的描述和属性信息 | ||
静默安装和非静默安装测试 | ||
有UAC安装、无UAC安装 | ||
联网安装、断网安装 | ||
对必要软件环境的提示 | 如对软硬件、系统版本的约束性限制提示 | |
多次覆盖安装,查看覆盖安装后已有数据是否有影响 | 检查软件组件覆盖更新、检查配置文件覆盖更新、检查安装日志完整性、检查新旧版本覆盖兼容性 | |
卸载后安装,查看已保留的数据是否正常 | 卸载通常有两种策略:完整卸载和保留配置数据卸载,要分别测试 | |
自定义安装 | 安装路径、磁盘空间、系统配置环境要求等 | |
手动输入路径安装(不存在的路径、存在的路径) | 不存在路径自动创建(无权限则友好提示);已存在路径则提示目录下文件被覆盖的风险 | |
磁盘空间不足时安装 | 友好提醒,优先检测空间,避免在安装过程中发现空间不足报错,影响用户体验 | |
缺少目录创建权限安装 | 友好提示创建目录失败,并给出可能的原因,引导用户解决问题 | |
安装过程中退出安装(断网、死机、取消安装)情况 | 能够回退到安装前状态,正常终止安装 | |
安装后是否会影响系统软件,常用软件 | 如果软件调用了系统级接口,就要对此接口的稳定性、健壮性进行测试 | |
安装过程中界面信息提示“安装说明、版本号、软件名称”是否正确 | ||
不同操作系统下进行软件安装 | 验证不同操作系统的兼容性 | |
安装向导的前进和后退测试 | 检查安装向导在各步骤之间能否正确前进和后退 | |
快捷方式:桌面,菜单,任务栏,系统栏,控件面板,系统服务列表等 | 检查安装后快捷方式是否正确生成 | |
对杀毒软件进行兼容 | 对杀毒软件,不光要进行兼容性测试,还要进行安全性测试 | |
卸载测试 | 卸载过程中,显示软件版本号、软件名称是否正常 | 卸载实例互斥检查 |
卸载过程中的特殊情况处理 | 卸载确认测试 | |
有UAC卸载、无UAC卸载 | ||
联网卸载、断网卸载 | ||
卸载过程中的“终止/停止”按钮是否生效 | ||
卸载过程中,出现(断网、死机)情况 | ||
正常卸载后,软件进程应该不存在; | ||
正常卸载后,查看注册表是否删除 | ||
正常卸载后,安装文件是否删除(需考虑系统盘中的安装文件是否被删除) | ||
正常卸载后,应删除以下内容:快捷方式,菜单,任务栏,系统栏,控制面板,系统服务列表等; | 无误删、无残留 | |
卸载方式应支持:程序自带卸载程序,系统控制面板,其他第三方卸载工具,如360,优化大师等; | ||
是否支持命令行卸载,是否支持静默卸载; | ||
非正常卸载:程序运行,暂停,终止状态时卸载; | ||
非正常卸载:卸载过程中取消,重新使用软件,能否正常使用; | ||
破坏性卸载:卸载过程中,断电,重启后,卸载软件,若不能卸载则应提醒用户重新安装软件,然后能正常卸载软件; | ||
卸载完成后是否对系统常用软件有影响 | ||
卸载后是否需要重启系统的提示? | ||
卸载完成后(如果保留用户数据),查看是否保留 | ||
升级测试 | 升级的文件是否齐全 | 升级接口的稳定性和健壮性 |
升级配置的正确性和容错性 | ||
升级行为对服务器的影响评估和测试 | ||
升级请求与行为的合法性与有效性校验 | ||
升级策略(什么时间升级、以什么模式升级、升级某个组件或者完整升级、或者升级捆绑)的有效性、正确性、健壮性 | ||
升级行为的安全性(是否被360拦截或阻止等) | ||
有UAC升级、无UAC升级 | ||
升级包的有效性检查和校验,升级链接的有效性检查和校验 | ||
是否支持跨多个版本升级 | 比如从A版升级到D版本,是不是需要从A版升级到B版,再从B版升级到C版,再从C版升级到D,理应是从A版直接升级到D版 | |
注册表信息是否更新 | ||
升级完成功能是否正常 | ||
升级完成后,已有数据是否正常 | 历史数据正确且新版本兼容历史数据 | |
升级过程中(断网、死机)情况 | ||
升级失败后,软件是否可以再次升级 | 如不支持再次升级,是否回退到了升级前的版本,回退后功能是否正确、数据是否正确 | |
客户端程序入口 | 多种入口方式 | 菜单进入、快捷键进入、快捷方式进入等 |
性能 | 响应时间 | 应用程序在各个阶段(安装、交互使用、卸载等)的响应时间应在可接受范围内 |
资源占用 | 安装、卸载程序的CPU占用、内存占用、磁盘I/O等 | |
长时间运行 | 长时间运行(如连续运行超过24小时)的性能表现 | |
带宽 | 与服务器交互是否会产生太大流量 | |
并发用户 | 测试应用程序在多用户环境下的表现 | |
输入处理速度和资源占用 | 处理输入的速度和占用的资源情况 | |
资源争夺能力 | 软件竞争使用各种资源的情况 | |
UI测试 | 不同分辨率下的运行 | 基础分辨率、宽屏分辨率、方屏分辨率等 |
功能测试 | 产品功能的实现 | 根据需求进行功能测试,确保产品功能与需求文档一致 |
功能组合测试 | 不同功能组合使用是否能正常运行 | |
边界测试 | 确保每个功能在其运行范围内的稳定性 | |
错误处理能力测试 | 检查软件在遇到异常情况时的处理能力 | |
稳定性测试 | 长时间运行的稳定性 | 长时间的运行测试 |
高负载环境下稳定性 | 高负载下软件的稳定运行 | |
异常情况下的稳定性 | 软件在异常情况下的表现 | |
网络异常 | 断网或大数据传输过程中的断网 | 网络异常情况下的软件表现 |
网络波动 | 网络慢速、抖动等情况下的软件稳定性 | |
服务器维护 | 服务器维护期间客户端交互测试 | |
兼容性测试 | 操作系统兼容性 | 在不同版本操作系统下进行使用 |
硬件兼容性 | 确保应用程序在不同硬件配置上正常工作 | |
第三方软件 | 检查与常用第三方软件的兼容性 | |
安全性测试 | 数据保护 | 确保用户数据的安全和隐私 |
权限和访问控制 | 验证应用程序的权限和访问控制机制 | |
漏洞扫描 | 定期进行安全漏洞扫描 |