文档介绍:Module 2. 软件测试技术
主要内容
软件测试基本方法
静态分析
白盒测试
黑盒测试
测试模式
范围测试
说明书测试
风险测试
情景测试
组合测试
探索测试
实际练****br/>什么是静态分析?
不实际运行程序,通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。
作用
通过对代码标准及质量的监控提高代码可靠性
尽可能早地通过对源代码的检查发现缺陷
组织代码审核定位易产生错误的模块
非常有效的质量保证手段
越来越多地被采用
静态分析的主要内容
检查需求
检查设计
检查代码
需求
设计
编码
其它
缺陷产生的原因
检查需求
需求的标准
完整性
是否完整描述一个功能
正确性
是否正确反应客户要求
可行性
必要性
Gold plating?
无二义性
会引起歧义吗
可验证性
测试用例怎么写?
实施无关性
需求规格说明的标准
完整性
是否包含所有需求
FURPS
一致性
相互矛盾
重复
需求检查练****br/>例4 产品不应该提供将带来灾难性后果的查找和替换选择。
真正的需求是什么?
例5 系统对标准XYZ 。
有歧义吗?
例6 当用户选择“紧凑内存”选项时,程序通过Huffman解析矩阵方法将邮件列表数据压缩到相应的大小。
可测吗?
代码无关吗?
规格说明用语清单
绝对的肯定
总是、每一种、所有、没有、从不
注意隐含的假设
当然、因此、显然、必然
模棱两可的词
某些、有时、常常、通常、经常、太多、几乎
不可测的描述
良好、迅速、廉价、高效、稳定
隐藏的需求
已处理、已拒绝、已忽略、已消除
缺少的分支
如果…那么…(没有“否则…”分支)
检查设计
在编码开始前进行
检查功能设计说明,消除歧义
功能的用意、总体位置
输入、输出
可能的错误/例外
接口定义
交互细节
实施建议
检查代码
通过检查代码发现模块中的错误
通过代码检查能够发现大部分的错误