2021-12-10 五
基础篇
第一章 软件测试概述
1.1 为什么要进行软件测试
概念
- 由于软件是 由程序+文档+数据的结合,所以无论是在写程序或设计文档数据构建的过程中,都可能出现错误,有可能 程序中的一个符号、一个空格、一个错误逻辑,文档中的一个错误设计,或者是没有来得及更新文档,数据参数错误等。
- 由于软件开发过程中需要投入资金和人员较多,涉及知识 领域较广泛,所以需要软件测试,提高软件质量,降低软件在市场上的生产风险。
- 因此,无论是在软件、硬件、生活方方面面等都需要测试,进行质量监控。
关键字 - 程序+数据+文档、程序错误、质量监控、降低风险
1.2软件测试的定义
定义
- 传统制造业的每一道工序都有 人工检查
- 软件测试就是在规定条件下对程序进行操作,以发现错误,并对软件质量进行评估。
1.2.1软件测试定义的正反两面
定义:一个成功的测试必须是发现缺陷的测试,不然没有价值
软件测试
正向思维 | 逆向思维 |
---|
验证软件正常工作 | 假设软件有错误 | 评价程序或系统的特性功能是否达到预期结果 | 为了发现错误而对某个程序或系统执行的过程 | 规定环境下运行软件的所有功能,直至全部通过 | 发现系统薄弱、容易犯错的环节、试图破坏系统、直接找不出问题 |
小结 从以上对别来说,正向测试有利于测试人员和开发人员的沟通,逆向测试有利于测试人员的发挥。
1.2.2 软件测试依据
软件测试 依赖于用户需求规格说明书,测试软件的目的就是为了测试开发人员是否按照需求规格说明实现,是否与需求一致,与需求不一致就是存在软件缺陷。
1.3 软件测试的目的
- 早期软件测试目的是为了寻找错误,并且尽最大的可能找出最多的错误
- Myers就软件测试目的提出以下几点观点
- 为了证明程序有错,不是为了证明程序无措
- 一个好的测试用例在于它能发现至今未发现的错误
- 一个成功的测试是发吸纳了至今未发现的错误
- Hetzel 提出 测试不仅仅是为了发现软件缺陷与错误,也是对软件质量进行评估和提高软件的质量
- 软件测试目的:以最少人力 、物力和时间找出软件中潜在的各种错误和缺陷。避免软件在发布后由于潜在的软件缺陷和错误的隐患及可能带来的商业风险。
1.4 软件测试原则
- 所有软件测试都应追溯到用户需求
- 尽早展开测试
- 软件测试贯穿整个开发阶段,错误发现越早,代价越小
- 在不同阶段修改软件错误的代价
- 完全测试是不可能 ,测试需要终止
原因有3:
- 输入量大,不可能全部测试
- 输出结果太多,不可能全部进行逐一对比
- 路径运行逻辑组合太多,不可能全部执行并测试
- 充分注意群集现象
- 程序员应避免检查自己的程序
1.5通用术语
|