软件及分类
软件包括:产品文档、程序、数据
- 按层次分类:系统软件、应用软件
- 按组织分类:商业软件(windows,qq)、开源软件(是否开放源代码)
- 按结构分类:单机软件、分布式软件
软件缺陷的定义
- 软件没有实现产品说明中的要求
- 软件实现了产品说明中不应该出现的功能
- 软件实现了产品说明中为提到的功能
- 软件未实现产品说明中未明确但应该实现的功能
- 软件难以理解,不易使用,运行缓慢,以用户的视角认为不好
所有不满足需求或者超出需求的都是缺陷
没有不存在缺陷的软件,只有迄今未发现的缺陷
软件测试的定义和目的
- 正向思维的定义:相信软件能够正常工作,然后正常测试
- 反向思维的定义:测试的目的是为了证明软件有缺陷
- IEEE定义的软件测试:
- 广义的软件测试
- 软件测试的目的
- 测试和调试的区别
- 软件测试的对象
软件测试的目的
软件工程
瀑布模型
- 优点
- 为项目提供了按阶段划分的检查点
- 当前阶段完成后,只需要关注后一阶段
- 缺点
- 强调先后顺序的严格执行,前阶段不完成,后阶段不开始
- 将测试放在了编码之后,没有体现测试贯穿软件生命周期的原则(可以避免需求的问题一直到代码完成才被发现)
- 不适应用户需求的变化