软件错误用例研究<br>
迪斯尼的狮子王,1994-1995<br>
英特尔奔腾浮点除法缺陷,1994
美国航天局火星极地登陆者号探测器,1999<br>
爱国者导弹防御系统,1991
千年虫问题,大约1974
危险的预见,2004
软件缺陷<br>
术语
缺点defect<br>
故障fault<br>
问题problem
错误error<br>
事件incident<br>
异常anomaly
偏差variance
失败failure
矛盾inconsistency
特殊feature
缺陷bug
定义<br>
1)软件未实现产品说明书要求的功能<br><br>2)软件出现了产品说明书指明不应该出现的错误<br><br>3)软件实现了产品说明书未提到的功能<br><br>4)软件未实现产品说明书虽未明确提及但应该实现的目标<br><br>5)软件难以理解,不易使用,运行缓慢或者——从测试员的角度看——最终用户会认为不好
软件测试员
目标:尽可能早的找出软件缺陷,并确保其得以修复<br>
应具备的素质:1)他们是群探索者。软件测试员不会害怕进入陌生环境。他们喜欢拿到新软件,安装在自己的机器上,观看结果。<br>
2)他们是故障排除员。软件测试员善于发现问题的症结。他们喜欢解谜。<br>
3)他们不放过任何蛛丝马迹。软件测试员总在不停地尝试。他们可能会碰到转瞬即逝或者难以重现的软件缺陷。他们不会当作是偶然而轻易放过,而会想尽一切可能去发现它们。<br>
4)他们具有创造性。测试显而易见的事实,对软件测试员来说还不够。他们的工作是要设想出富有创意甚至超常的手段来寻求缺陷。<br>
5)他们是群追求完美者。他们力求完美,但是当知道某些无法企及时,不去苛求,而是尽力接近目标。<br>
6)他们判断准确。软件测试员要决定测试内容,测试时间,以及看到的问题是否是真正的缺陷。<br>
7)他们注重策略和外交。<br>
8)他们善于说服