软件缺陷的定义
- 软件未实现产品说明书要求的功能
- 软件出现了产品说明书中指明不应该出现的功能
- 软件实现了产品说明书未提到的功能
- 软件未实现产品说明书虽未明确提及但应该实现的目标
- 软件难以理解、不易使用、运行缓慢或者(从测试的角度看)最终用户会认为不好
1、所有不满足需求或超出需求的都是缺陷
2、没有不存在缺陷的软件,只有尚未发现的缺陷
确认(validation)和验证(verification)的区别
- 确认:通过检查和提供客观证据来证实特定目的的功能或应用是否已经实现(功能有没有,存不存在)
- 验证:通过检查和提供客观证据来证实指定的需求是否满足(功能存在,验证功能是否正确,是否满足需求)
测试和调试的区别
- 在主体、目标、方法和思路上有所不同
- 测试是从已知的条件开始,使用预先定义的过程,并且有预知的结果;调试是从未知的条件开始,结束过程可能不可预计
- 测试可以计划,可以预先制定测试用例和过程,工作进度可以度量;描述调试的过程或持续时间相对比较困难
- 测试的对象包括软件开发过程中的文档、数据以及代码;调试的对象一般来说只是代码
软件危机
- 是指落后的软件生成方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重的现象
软件工程
- 基于软件危机对于计算机发展的阻碍,提出了软件工程,从此软件生产进入工程化时代
软件工程包括两方面的内容
- 软件开发技术:软件开发方法学、软件工具和软件工程环境
- 软件项目管理:软件质量、项目估算、进度控制、人员组织、配置管理、项目计划
|