分类: 项目管理
2008-12-19 10:23:56
前面2章讲述的是理想状态, 现实中一般是混合的模型,产品说明书也不可能完全符合客户要求,不可能做完所有的测试.
u 不可能对程序进行完整的测试
原因如下:
· 输入庞大
· 输出庞大
· 软件路径庞大
· 软件说明书的主观性
比如说windows的计算器程序,你需要测试大小不同的整数,浮点数.非法输入,比如: 1+a, z+1,
u 软件测试是有风险的
教材图3-2说明了测试量和发现的软件缺陷数量之间的关系。要据此找到最优测试量。
u 不能发现潜伏的bug.
环境一变化,可能发生其他的bug.
u Bug 一般是成堆出现的
因为某天程序员的心情不好,编码质量较差.程序员经常犯同样的错误.你发现的问题可能仅是冰山一角,后面隐藏着设计或者是架构方面等更大的问题.
u Bug 具有抗体
软件是有抗体的,要经常变换测试方法和用例
u 不是所有的Bug 需要修复
比如因时间紧,不是bug(或者把缺陷当做了新功能。),修复有很大的风险,不值得修复等.
u 什么时候才叫缺陷能以说清
u 产品说明书没有最终版本
u 软件测试员不是广受欢迎的人
要尽量做好:
早点找出缺陷;控制情绪;不要总是报告坏消息。
u 软件测试是一项讲究条理的技术专业。
u 精度和准确度(PrecVerification and Validation ision and Accuracy)
比如射3只箭,都在一起,比较精度好,都射中指定的地方,表示准确度好.
u Verification and Validation 确认和验证
Verification是根据规格说明书来验证, Validation是用户验证.要用户验证好了才是真的好。产品说明书可能有错误的。
u 质量和可靠性(Quality and Reliability)
质量表示功能多,可靠性表示多长时间会崩溃。比如跑车是质量很好,但是可靠性很差多产品。
u Testing and Quality Assurance (QA)
软件测试员:尽可能早地找出软件缺陷,并确保缺陷得以修复
软件质量保证人员:创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法。