1.什么是软件测试无论怎样和它对软件可靠性的影响都不过分

【IT168技术文章】

1.什么是软件测试

软件测试的重要性及其对软件可靠性的影响怎么强调都不为过。在开发大型软件系统的漫长过程中,面临着极其复杂的问题,人们的主观认知不能完全符合客观现实,与项目密切相关的各种人员之间的沟通与合作也无法做到完美。,错误不可避免地发生在软件生命周期的每个阶段。我们力求在每个阶段结束前通过严格的技术审查,尽早发现并纠正错误;然而,经验表明,审查并不能检测出所有的错误,在编码过程中不可避免地会引入新的错误。如果软件中的大部分错误在软件投入生产运行前没有发现并纠正,这些错误迟早会在生产过程中暴露出来,当纠正这些错误不仅成本更高,而且往往是很糟糕的结果。测试的目的是在软件投入生产运行之前尽可能多地发现软件中的错误。软件测试仍然是软件质量保证的关键步骤,是对软件规范、设计和编码的最终审查。软件测试跨越软件生命周期的两个阶段。必要的测试(称为单元测试)通常在每个模块编写完成后进行。模块的作者和测试人员是同一个人,编码和单元测试属于软件生命周期的同一阶段。此阶段结束后,还应对软件系统进行各种综合测试,

大量统计表明,软件测试的工作量往往占软件开发总工作量的40%以上。在极端情况下,测试与人类生命安全相关的软件的成本可能相当于软件工程中其他开发步骤的总成本。成本的三到五倍。因此,我们必须高度重视软件测试的工作软件测试说话正确的是,千万不要以为程序写完,软件开发工作就已经接近完成了。事实上,需要完成的开发工作量大致相同。仅就测试而言,它的目标是发现软件中的 bug,但发现 bug 并不是我们的最后一天。软件工程的根本目标是开发完全满足用户需求的高质量软件。

2.软件测试的目标

以下规则也可以被视为测试的目标或定义:

(1)测试是执行程序以发现程序中的错误的过程;

(2)一个好的测试计划是一个极有可能发现迄今为止未被发现的错误的计划;

(3)成功的测试是发现了迄今为止未被发现的错误。

从以上规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这与某些人通常认为的“测试是为了证明程序是正确的”、“成功的测试是没有发现错误的测试”等完全相反。正确理解程序是非常重要的。测试目标,它决定了测试程序的设计。如果做测试表明程序是正确的,它会设计一些不太可能暴露bug的测试方案;相反软件测试说话正确的是,如果测试是为了发现程序中的bug,它会尽量设计出暴露最多的bug。

由于测试的目的是暴露程序中的错误,所以从心理学的角度来看,程序编写者自己执行测试是不合适的。因此,在综合测试阶段,通常由其他人组成测试团队来完成测试工作。此外,应该认识到,测试决不能证明程序是正确的。即使经过最严格的测试,程序中仍可能潜伏着未被发现的错误。测试只能发现程序中的错误,它不能证明程序中没有错误。

【文章来源】

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论