乐于分享
好东西不私藏

【软件测试】GB/T25000.51-2016可靠性(2)

【软件测试】GB/T25000.51-2016可靠性(2)

点击蓝字

关注我们

通用就绪可用软件产品

针对通用、普通的就绪可用软件产品(如常见的办公软件、工具软件、移动App等),依据 GB/T 25000.51-2016 和 GB/T 15532-2008,软件可靠性的考察项目可以精炼为以下几个最核心、最实用的方面,无需涉及高安全行业的极端要求。

核心考察项目清单

进一步梳理出的可靠性测试项清单

考察维度
对应标准特性
具体测试项目
通俗解释
长时间运行稳定性
成熟性
7×24小时或更长时间的连续运行测试。
软件会不会用着用着就变卡、闪退或死掉?
异常输入容错
容错性
输入极限值(超长文本、超大文件)、特殊字符、空值或非预期格式。
瞎点、乱输入会不会让软件崩溃?
数据恢复能力
易恢复性
模拟软件强退、断电、断网后,数据能否找回,设置是否还在。
写到一半软件崩了,再打开文档还在不在?
资源释放与内存管理
成熟性
反复执行打开/关闭功能、切换界面,监控内存和句柄是否持续增长。
会不会偷偷吃光电脑内存?
并发与冲突处理
容错性   / 完整性
同时进行多个操作(如下载+删除文件,多窗口编辑同一文档)。
同时干几件事,数据会不会乱?
错误处理与日志
依从性   / 容错性
强制制造错误(如删除配置文件),看软件是报友好提示还是直接崩溃。
出错了是弹一堆乱码,还是提示“出错了,稍后再试”?

具体操作指南(怎么测)

长时间运行(成熟性)

方法:让软件在典型环境下连续运行48或72小时,期间间隔性地执行业务流程。

检查点:响应时间没有显著劣化,无内存泄漏(任务管理器内存占用稳定),无崩溃或自动退出。

异常输入(容错性)

方法:对所有输入框、文件打开对话框、命令行参数进行边界值和异常值测试。

检查点:软件不崩溃、不卡死,能给出“输入无效”等合理提示,而不是抛出代码级错误。

数据恢复(易恢复性)

方法:在软件执行写入操作(如保存文件、提交设置)的中间过程中,用任务管理器强制结束进程。

检查点:重启软件后,原数据应完好无损;未完成的操作应有合理的临时文件或自动恢复提示;不产生损坏的垃圾文件。

资源管理(成熟性)

方法:使用Windows任务管理器或Mac的活动监视器,重复执行“打开-关闭”一个重功能(如大图浏览、复杂报表生成)100次。

检查点:内存占用和句柄数在多次循环后应能回到初始水平附近,不应持续线性增长。

并发操作(容错性/完整性)

方法:模拟用户快速交替点击按钮,或使用简单脚本同时发起几个互斥操作(如一边同步一边删除配置)。

检查点:软件不应死锁(界面卡死不动),数据最终状态应逻辑一致(不出现数据错乱或半拉子文件)。

环境扰动(容错性)

方法:在软件运行时,人为拔掉网线(对于需要网络的软件)、拔出U盘、或使磁盘空间满。

检查点:软件应有合理的错误提示,恢复正常环境后能继续工作,不需要重启。

故障注入与验收标准

对于普通软件产品,不需要追求航天级的MTBF(平均故障间隔时间)数值,核心就是验证“不崩溃、数据不丢、错误不扩散、长时间运行不卡死”。将这些项目列入测试计划,并严格执行异常测试和长时间老化测试,即可认为满足了标准中对可靠性的基本要求。

推荐的故障注入方法:

界面级:使用鼠标键盘模拟等工具模拟混乱的鼠标键盘输入。

文件级:运行时删除或锁死软件的配置文件、日志文件、缓存目录。

系统级:用线程控制等工具挂起进程线程,模拟高延迟或假死状态。

简单的验收准则:

零崩溃:在以上所有测试中,软件不应出现未处理的异常导致进程退出或系统崩溃。

数据无损:任何非正常退出后,用户核心数据(文档、设置、账户信息)应完整或可恢复。

合理反馈:对于所有可预见的用户错误或环境异常,必须给出用户能理解的提示(不能是纯代码或空指针地址)。

资源可回收:长期运行后,软件能够释放占用的临时资源,不影响系统整体性能。

更多内容请看下一篇公众号文章:

【软件测试】GB/T25000.51-2016可靠性(3):《软件可靠性测试Checklist》