软件测试基础概念
软件测试的概念
广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认
狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致
软件测试的目的
- 测试的目的就是发现软件中的各种缺陷
- 测试只能证明软件存在缺陷,不能证明软件不存在缺陷
- 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
- 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量
软件测试原则
- Good-enough: 一种权衡投入/产出比的原则
- 保证测试的覆盖程度,但穷举测试是不可能的
- 所有的测试都应追溯到用户需求
- 越早测试越好,测试过程与开发过程应是相结合的
- 测试的规模由小而大,从单元测试到系统测试
- 为了尽可能地发现错误,应该由独立的第三方来测试
- 不能为了便于测试擅自修改程序
- 既应该测试软件该做什么也应该测试软件不该做什么
软件测试的的重点
- 测试用例的设计
- 测试用例的设计是整个软件测试工作的核心
- 测试用例反映对被测对象的质量要求,决定对测试对象的质量评估
- 测试工作的管理
- 尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
- 测试环境的建立
- 测试环境应该与实际测试环境一致