文档测试
哪些文档需要测试
国家有关计算机软件产品开发文件编制指南中共有14种文件,可分为3大类。
- 开发文件:可行性研究报告、软件需求说明书、数据要求说明书、概要设计说明书、详细设计说明书、数据库设计说明书、模块开发卷宗。
- 用户文件:用户书册、操作手册,用户文档的作用:改善易安装性;改善软件的易学性与易用性;改善软件的可靠性;降低技术支持成本。
- 管理文件:项目开发计划、测试计划、测试分析报告、开发进度月报、项目开发总结报告。
用户文档测试的方法
- 校队测试
- 功能测试
- 其他辅助方式
文档测试要点
- 文档的读者群
- 文档的术语
- 文档的正确性
- 文档的完整性
- 文档的一致性
- 文档的易用性
- 样例与示例
- 文档的语言
- 印刷与包装质量等等
文档测试的过程
- 文档测试主要是查看文档并且进行相关的交流讨论。
文档测试与静态测试的关系
- 静态测试只针对代码
- 文档测试也用于设计文档
- 静态测试与单元测试一样,是检查代码在功能上的正确性;针对代码的文档测试更注重代码与设计的一致,而代码在功能上的正确性则更多的由针对设计的文档测试来保证
文档测试与评审的区别
-
评审人的范围比较广,可以包括主管、项目经理、其他开发人员等
-
评审的时间相对较短
-
评审的随意性较大,系统性不强,评审人从各自的角度提出意见
文档质量较差时,评审人很难提出实质性的意见
总体设计的验证点
- 检查需求中规定的功能点如何实现
- 需求中列出的所有功能点都能实现
- 检查需求中规定的性能指标如何保证
- 需求中列出的所有性能指标都能保证
- 检查普遍性的功能点(强壮性、容错性、安全性)如何实现
- 系统部分失效(断线重连、断线重启)
- 异常的输入数据
- 异常业务量(零负荷、超负荷)
- 非法入侵
- 检查普遍性的性能指标(可靠性、稳定性)如何保证
- 业务处理能力
- 业务预期响应时间
- 最大支持用户数
- 检查模块定义是否正确
- 模块的功能描述明确
- 模块与模块的关系与现实关系一致
概要设计的验证点
- 检查功能点(包括接口)如何实现
- 界面的输入项齐全
- 界面的输入项的数据类型、输入方式正确
- 界面的输出项齐全
- 界面的输出项的数据类型、输出方式正确
- 接口的输入参数齐全
- 接口的输入参数的数据类型正确
- 接口的输出参数齐全
- 接口的输出参数和返回值的数据类型正确
- 接口的输出参数和返回值能反映异常情况
- 本模块与其他模块的通讯与总体设计一致
- 算法和流程正确
- 检查性能指标如何保证
- 算法和流程高效
- 检查类定义是否正确
- 类的功能描述明确
- 类不可以再分为两个类
- 类与类的关系与现实关系一致
- 没有使用友类
- ......
详细设计的验证点
- 检查类实现是否正确
- 输入正常的数据并经过正常的处理能得到正常的结果
- 输入异常的数据或处理过程中出现的异常能在输出参数或返回值中反映,或抛出异常
- 检查类实现是否容易理解
- 函数或方法用于正常处理的逻辑分支(循环和分支语句的个数)不会过多(最好5个以内,尽量不超过10个)
- 函数或方法用于正常处理的操作不会过多(最好8个以内,尽量不超过15个)
- 函数或方法将产生的代码行不会过多(最好30行以内,尽量不超多60行)
- 代码的验证点
- 检查设计中规定的类和方法是否正确定义
- 类齐全
- 方法齐全
- 输入参数齐全
- 输入参数的数据类型正确
- 输出参数齐全
- 输出参数和返回值的数据类型正确
- 检查代码中的算法和流程是否与设计一致
- 设计中的流程分支有对应的代码分支
- 代码中不存在多余的分支
- 设计中描述的步骤有对应的代码
- 设计中描述的步骤有对应的注释
- 检查纠错机制是否完善
- 函数或方法的开始处有检查输入参数的合法性
- 调用函数或方法前有检查输入参数的合法性
- 调用函数或方法后有检查输出参数和返回值的合法性
- 指针操作前有检查指针是否为空
- 检查异常处理机制是否完善
- 函数或方法可能抛出的所有异常都有处理
- 未知的异常也有处理
- 检查数据初始化有否进行
- 局部变量有初始化
- 类属性有初始化
- 全局变量有初始化
- 未知的异常也有处理
- 内存申请后有初始化
- 检查代码的可读性、可修改性
- 文件名、类名、属性名、方法名、变量名、常量名等等命名符合规范
- 代码的缩进符合规范
- 代码的注释符合规范
- 类的声明符合规范
- 各种特定的值被定义为常量
- 函数或方法的输入参数和输出参数没有被作为工作变量使用
用户文档的验证点
- 读者对象——主要是文档的内容是否能让该级别的读者理解
- 术语——主要是检查术语是否适合读者
- 内容和主题——检查主题是否合适、是否丢失、格式是否规范等
- 图标和屏幕抓图——检查图表的准确度和精确度
- 样例和示例——是否与软件功能一致
- 拼写和语法
- 文档的关联性——是否与其他相关文档的内容一致,例如与广告信息是否一致
今天太阳也东升,而后西沉,早晨盛开的花儿也将凋谢;今天的太阳也西沉,而后东升,阳光照射之处遍地花开,但却已非昨日之花。