软件缺陷的正式定义
符合下列5个规则才能叫软件缺陷:
1. 软件未达到产品说明书标明的功能
2. 软件出现了产品说明书指明不会出现的错误
3. 软件功能超出产品说明书指明范围
4. 软件未达到产品说明书虽未指出但应达到的目标
5. 软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。 软件测试员的目标
尽可能早地找出软件缺陷,并确保其得以修复。 软件测试员应具备的素质
- 探索精神(喜欢拿到新软件)
- 故障排除能手(善于发现问题的症结)
- 不懈努力(不停尝试)
- 创造性(想出富有创意甚至超常的手段来寻找缺陷)
- 追求完美(但对知道无法企及的东西也不强求)
- 判断准确(决定测试内容、测试时间、是否真正的缺陷)
- 老练稳重(知道如何将坏消息告诉程序员,知道如何跟不够冷静的程序员合作)
- 说服力(善于表达观点,通过实际演示标明缺陷为何必须修复)
![](/Emoticons/Pizza.gif)
从最初构思到公开发行软件产品的过程称为软件开发模式。
- 大棒式(要么成功,要么失败)
- 边写边改式(没有时间做好,总有时间返工)
- 流水式(创意、分析、设计、开发、测试、产品一步步进行,不能后退。前一步完成才能进入下一阶段)
- 螺旋式(主要思想是:开始不必详细定义所有细节。从小开始,定义重要功能,努力实现,接受客户反馈,然后进入下一阶段。一个螺旋包括6个步骤:1.确定目标、可选方案和限制条件;2.指出并解决风险;3.评估方案;4.本阶段开发和测试;5.计划下一阶段;6.确定进入下一阶段的方法)
![](/Emoticons/Pizza.gif)
- 准确:参照物是目标。与目标越接近,就越准确
- 精确:参照物是每次实施的结果。几次结果相互之间越接近,表示越精确。但与目标可能相去甚远
![](/Emoticons/Pizza.gif)
- 验证:保证软件符合产品说明书的过程
- 合法性检查:保证软件满足用户要求的过程。
很多时候产品说明书并没有完全反映出用户的要求!
![](/Emoticons/Pizza.gif)
- 测试:软件测试员的目标是找出软件缺陷,尽可能造一些,确保得以修复。
- 质量评判:软件质量评判人员的主要指责是创建和加强促进软件开发并防止软件缺陷的标准和方法
![](/Emoticons/Pizza.gif)
- 黑盒测试:软件测试员只需知道软件要做什么,无需知道是如何运作的。只关心输入和输出
- 白盒测试:软件测试员可以访问程序员的代码,并通过检查代码来协助测试。
![](/Emoticons/Pizza.gif)
- 静态测试:只测试不运行的部分——只是检查和审阅。
- 黑盒测试:指通常意义上的测试——运行和使用软件。