一、测试原则
1. 完全测试程序是不可能的
原因:
(1)输入量太大
(2)输出结果太多
(3)软件实现途径太多
(4)软件说明书没有客观标准。从不同的角度看,软件缺陷的标准不同
2. 软件测试时有风险的行为
如果决定不去测试所有的情况,那就是选择了风险。
如果试图测试所有情况,费用将大幅增加,而软件缺陷漏掉的数量并不会费用上涨而下降。如果减少测试或者错误地确定测试对象,那么费用很低,但是会漏掉大量软件缺陷。我们的目标是找到最合适的测试量,使测试不多不少。
软件测试员要学会的一个主要原则:如何把无边无际的可能减少到可以控制的范围,以及如何针对风险指定作出明智抉择,去粗存精。
3. 测试无法显示潜伏的软件缺陷
4. 找到的软件缺陷却多,就说明软件缺陷越多
5.杀虫剂怪事
“杀虫剂怪事”:用于描述软件测试越多,其免疫力越强的现象。
为了克服“杀虫剂怪事”,软件测试员必须不断编写不同的新测试程序 ,对程序的不同部分进行测试,以找出更多软件缺陷。
6. 并非所有软件缺陷都能修复
项目小组需要对每一个软件缺陷进行取舍,根据风险决定哪些要修复,哪些不要修复。
不需要修复软件缺陷的原因如下:
(1)没有足够的时间。
(2)不算真正的软件缺陷。----在某些特殊场合,错误理解、测试错误或者说明书变更会把软件缺陷当作附加功能来对待。
(3)修复的风险太大。
(4)不值得修复。----不常出现的软件缺陷和在不常用功能中出现的软件缺陷可以放过;可以躲过和用户有办法预防或避免的软件缺陷通常不用修复。----这些都要归结为商业风险决策
7. 难以说清的软件缺陷
只有看到了,才能断言软件缺陷。
尚未发现的软件缺陷只能说是未知软件缺陷。
8. 产品说明书不断变化
软件测试员必须要想到产品说明书可能改变。未曾计划测试的特性会增加,经过测试并报告软件缺陷的特性可能发生变化甚至被删除。
9. 软件测试员在产品小组中不受欢迎
10. 软件测试是一项讲究条理的技术专业
二、软件测试的术语和定义
1、精确和准确
软件测试要精度还是准确度很大程度上取决于产品是什么,最终取决于开发小组的目标
2、验证和合法性检查
验证:保证软件符合产品说明书的过程
合法性检查:保证软件满足用户要求的过程
3、质量和可靠性
可靠性只是质量的一个方面。
软件用户对质量的看法可能包括功能是否齐全,产品能否在各种机型上运,软件公司有没有技术支持,甚至包装盒的色彩。
4、测试和质量评判(QA)
软件测试员;软件质量评判员