一、概述
1.什么是软件测试
软件测试是指在规定的条件下对软件进行评估的过程。
软件由文档,数据,程序组成,软件测试不仅仅是对程序的测试,而是对整个软件的组成部分进行测试。
资料表明60%以上的错误不是程序错误而是分析和设计的失误,所以提倡软件全生命周期测试的理念。
2.软件测试的定义
软件测试时软件生存期中的一个重要阶段,是在软件投入运行前对软件的需求分析,设计规格说明以及编码的最终评审的活动。
IEEE(美国电子与电气工程师协会)对软件测试的定义:使用人工或者自动的方式运行或测定系统或者系统部件的过程,目的是检验它是否满足需求或者是弄清预期结果与实际结果之间的差别。
3.软件测试的好处
可以发现软件错误的行为
可以界定软件错误的原因
证明软件正确的行为
4.软件测试的目的
寻找软件的缺陷
跟踪修正软件缺陷
验证修正的缺陷
5.软件测试的原则
所有的软件测试都要追溯到用户需求
软件测试需要尽早进行,越早发现缺陷,修复缺陷的成本越低
完全的软件测试是不可能的,软件测试需要终止
软件测试需要贯穿于整个软件开发的生命周期当中要做到全程测试
开发与测试要相互独立,开发人员不能测试自己的软件
软件测试要有组织,有计划,有步骤,要避免测试的随意性
有效的软件测试
是破坏性的
系统化的
开发和测试要严格分开
时间上要分开
组织结构要分开
人事上要分开
独立测试的好处
有助于发现更多的缺陷
无偏见
验证开发和设计人员的设想
具有专业测试的知识背景
6.软件测试的对象
软件测试不单是程序测试,它贯穿于软件开发的整个生命周期,所以从需求设计,概要设计,详细设计以及编码过程中的所有文档需求规格说明,概要规格说明,详细规格说明以及源程序都是软件测试的对象
7.引入缺陷的常见原因
开发过程中缺乏沟通或者缺乏有效的沟通
对开发文档的不重视
需求不断的变更(新需求于旧需求存在相互矛盾的地方)
项目的复杂度越来越高
开发工具本身隐藏的问题