软件测试的定义:
IEEE给出了关于软件测试的标准定义:软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验被测软件系统是否满足规定的需要,或是弄清楚被测系统的预期结果与实际结果的差别。该定义从 5 个方面体现了测试工作的核心与实质。
1、软件测试的根本目的是确保软件满足用户需求
软件测试的目的在于箴言被测软件系统是否满足规定的需要,即保证被测软件符合用户需求是软件测试的最终目的,换句话说,只要软件系统不符合用户需求,就认为其存在缺陷,必须进行处理。因此,用户需求是测试的唯一依据,也是缺陷判定的依据。
无论是软件开发还是软件测试,都必须紧贴用户需求,凡是用户不认可的,都将视为缺陷。如果不能紧贴用户需求来做软件开发和测试工作,最终将导致项目失败。
另外,软件测试的最终目的是保证软件符合用户的需求,而非追求完美。随着测试量的增长,通过测试发现的软件缺陷越来越多,在一段时间内将不断降低软件缺陷导致的损失。但随着时间的继续推移,软件中的主要严重缺陷已经发现并修复之后,继续执行软件测试只能发现一些对软件功能没有重大影响的轻微缺陷,而且发现这些缺陷也变得越来越困难,反而导致测试成本的增长。因此,只要用户认为软件可以接受,就可以停止测试了。
2、软件测试的目的是要衡量软件产品是否符合预期
尽管软件测试的根本目的是确保软件满足用户需求,但如何准确地理解和表达用户需求、如何验证软件