软件测试必备基础知识 一、基本概念 软件测试 在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试 软件测试的目的 发现程序中存在的错误 发现程序中存在的错误,而不是证明程序无错误
一个好的测试用例在于它能发现至今尚未发现的错误
一个成功的测试则是发现了至今未发现的错误
开始我们认为做测试无非是为了证明我们编的程序是无错误的,那是大错特错了
因为 bug 会因时间不同,条件不同而出现
永远无法证明我们的程序是绝对正确的
为反馈信息做准备 为开发者或软件项目经理提供反馈信息,以及为风险评估所准备的信息 软件测试的原则 所有的测试都应追溯到用户需求
因为软件的目的是使用户完成预定的任务,满足其需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求
应尽早地和不断地进行软件测试
由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段去
在需求分析和设计阶段就应开始进行测试工作,编写相应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,提高软件质量,测试工作进行得越早,越有利于提高软件的质量,这是预防性测试的基本原则
在有限的时间和资源下进行完全测试,找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止
因为,测试输入量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的
测试只能证明软件存在错误而不能证明软件没有错误
测试是无法显示潜在的错误和缺陷,继续进一步错误可能还会找到其它错误和缺陷
充分关注测试中的集群现象
在测试的程序段中,若发现的错误数目多,则残存在其中的错误也越多,因此应当花较多的时间和代价测