目前,软件测试并不局限于测试执行,而是贯穿于整个开发生命周期,包括静态测试(如评审)和动态测试。不同的测试阶段会强调测试的目的,主要体现在:
1)发现缺陷
尽早发现被测对象中的缺陷,应该是测试人员在测试过程中最常提到的测试目标,也是所谓测试值的重要体现。发现缺陷的目的是促进开发人员定位和修复问题。测试人员通过重测和回归测试确保缺陷已经被开发人员修复,而不影响原有的正常区域,从而提高产品质量。在开发生命周期的每个阶段,都要涉及到测试,尽可能的发现这个阶段的缺陷,从而大大提高这个阶段对缺陷的包容能力,从而提高测试效率,降低成本,提高质量。
软件产品的质量是多维度的,所以软件测试的重点不仅仅是被测对象的功能,还有各种非功能性的质量属性。更多产品质量属性,请参考iso9126-软件产品质量。
2)增加信心
当在测试中发现很少或没有缺陷时,测试可以帮助建立对软件产品质量的信心。除了降低风险和在没有发现缺陷时增加信心。通过测试增强信心还体现在:
(1)验证:确认软件产品描述的要求已经正确实现;
(2)验证:被测对象可以按照用户/客户的要求工作(客户/用户是多层次的意思,不仅包括最终用户);
例如,如果我们参与用户的现场验收测试,这个测试的主要目的是确保软件产品能够正常工作,从而增加用户对所使用产品质量的信心。
3)提供信息
测试过程的每个阶段都为开发过程提供信息,包括向软件产品的不同涉众提供信息的不同维度和细节。提供信息的主要目的是帮助利益相关者做出正确的决策:
(1)评估质量:测试过程中提供的各种数据可以帮助涉众评估被测软件产品的质量。例如,根据测试过程中发现的缺陷的累积趋势、测试执行的进度数据、实施通过率和覆盖率,可以判断软件产品是否满足计划中定义的质量要求;
(2)评估进度:通过提供的各种数据,可以帮助管理者做出是否及时发布软件产品的决策,包括评估:测试执行进度是否在计划范围内,缺陷的开发和修复是否符合质量和发布要求等。
为了评估产品的质量和进度,测试期间提供的数据是非常重要的输入。
4)防止缺陷
对测试过程中发现的缺陷和用户现场遗漏的缺陷,应分析其根本原因,找出引入缺陷的主要原因。从测试的角度,也要分析为什么能发现缺陷,为什么缺陷会遗漏到用户站点。
缺陷根本原因分析的目的是从以前的软件开发和测试过程中吸取经验和教训,避免同样的问题再次发生,改进开发和测试过程。反过来,过程改进可以防止同样的缺陷被再次引入或遗漏,从而提高软件产品的质量,这也是软件质量保证的重要组成部分。
发现缺陷、增加信心、提供信息、预防缺陷四个测试目标也贯穿于整个生命周期,四个测试目标相辅相成。同时,不同的阶段和涉众对于不同的测试目标有不同的要求和细节。
分享完了,希望对你有帮助!
软件测试的目的
软件测试的目的决定了如何组织测试。如果测试的目的是找出尽可能多的错误,那么测试应该是直的
重点放在软件的复杂部分或者之前错误多的地方。如果测试的目的是为最终用户提供某些能力
可靠性的质量评估,那么测试应该直接针对实际应用中经常使用的业务假设。
不同的机构会有不同的检测目的;同一个组织也可能有不同的测试目的,可能是测试不同的领域,也可能是相同的
一个地区不同水平的测试。
说到软件测试,
很多人引用它
格伦福德迈尔斯
在
《
软件测试的艺术
》
书中的观点:
(1)、软件测试是为了发现错误而执行程序的过程;
(2)、测试是证明程序是错的,而不是证明程序是无错的。
3.一个好的测试用例是,它可以发现到目前为止还没有发现的错误;
(4)成功的测试是发现至今未发现的错误的测试。
这种观点可以提醒人们,测试应该侧重于发现错误,而不是演示软件的正确功能。但从字面上看,
认为发现错误是软件测试的唯一目的可能会产生误导,找不到错误的测试毫无价值
是的,事实并非如此。
首先,测试不仅仅是发现错误。通过分析错误的原因和分布特征,我们可以帮助项目
管理者发现当前软件过程中的缺陷,并加以改进。同时,这种分析也可以帮助我们设计有针对性的检查
测试方法,提高测试的有效性。
其次,没有错误的测试也是有价值的,完整的测试是评价测试质量的一种方法。细致严谨可以
这一点可以用性成长模型来证明。例如
贝芙利特伍德
测试后发现其中一个运行正常
n
计时制仍在继续
正常运算
n
小时的概率。
原文标题:软件测试的目的是什么,如若转载,请注明出处:https://www.saibowen.com/wenda/15734.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。