- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
论软件测试对软件质量影响
论软件测试对软件质量的影响
由于人们对于软件质量的重视程度越来越高,就导致了软件测试在软件开发中的地位越来越重要。软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担,过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。E.W.Dijkstra的一句名言说明了这一道理:“程序测试只能表明???误的存在,而不能表明错误不存在。”可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。 近20来年的时间,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了很大的突破,同时人们的要求也在不断增加。软件测试和软件质量是分不开的。测试是手段,质量是目的。对比国外可以看到,国外软件开发机构会把40%的工作花在测试上,测试费用则会占到软件开发总费用的30%到50%,对于一些要求高可靠性、高安全性的软件,测试费用则相当于整个软件项目开发费用的3至5倍。因此,软件测试在软件生存期中占有非常突出的位置,是保证软件质量的重要手段。软件项目的实践一再说明,为了确保软件产品能够符合用户的需要,必须着眼于整个软件生存周期,在各个阶段进行验证、确认和测试活动,使软件不致在开发完成后,才发现和用户的需求有较大的差距。
软件在很多领域广泛使用,然而软件是人编的,难免存在各种各样的缺陷。下面给出几个著名的案例。
案例1:
大概从九月初以来,当在易趣拍得某一卖家的物品后,我在易趣注册使用的电子信箱中就会立即收到一封由易趣系统自动发来的告知买家成功购得该物品的通知信件(此时买家还未付款)。该通知信件中“卖家信息 联系电话”一项中所显示的确是买家的联系电话,而卖家的联系电话在该通知信件中根本就没有出现过。试想,当买家在购买过程中出现了问题怎么办呢,他们首先想到的肯定是联系卖家,跟卖家交流来解决彼此的问题。
由这个案例我们可以得出易趣在将这个系统投入到市场上用时,就必须先对该系统进行全面的测试,因为测试是程序的执行过程,目的在于发现错误,而且尽早的不断的进行测试将大大减少由于软件出错对公司造成的损失。虽然说这个案例上出现的只是一个很小的问题,只是一字之差,但是它的影响力还是相当大的,所以在软件测试时,我们在关注大的软件缺陷时也不能忽略一些小的缺陷。
案例2:
目前,F/A-22战斗机的软件可靠性问题正困扰着洛克希德·马丁公司,这两年正处于试验阶段,但是由于软件导致的故障却频频发生,例如座舱系统的可靠性问题:在航空电子系统装载F-22飞机上试验之前,由于软件的问题,座舱系统每运行两小时就要关闭一次,现在则可以连续运行21小时以上。在试验过程中发现航空电子软件不稳定,改进版本的软件安装在F-22上后非常显著的改善了座舱系统的可靠性;航空电子软件可靠性(不稳定)的问题:美国空军称,自2001年1月以来F/A-22出现了航空电子软件可靠性(不稳定)的问题,这种不稳定表明软硬件出现异常,这种异常不会影响飞机的飞行控制,但使得试飞效率大大降低。这些异常可以造成部分航空电子系统如雷达处于异常状态,甚至完全不能运行。在这种条件下,试飞员必须重新起动F/A-22航空电子系统。
因此,在为解决航空电子软件可靠性问题时,他们经过一次又一次的试验,导致软件开发的延迟迫使空军延长了项目发展阶段,造成超过8亿美元费用超支。所以在整个软件的开发周期,软件测试工作将影响到软件开发的全过程,软件开发之前和完成之后都要持续进行测试,在开发之前要了解测试需求,不断进行模型测试;在应用程序完成后还得测试是否能完成应用需要。只有在整个生命周期中坚持测试,才能不断提高应用程序质量。加大软件测试在软件生命周期中的地位是保证软件质量的关键,做好软件测试工作才是解决软件质量问题的根本。同时还需引入第三方的测试产品,甚至是用户的实际测试,只有这样才能更快、更好的提高国内软件产品开发的质量。案例3:
Oracle曾分析过这样一个故障案例:当某人从自动柜员机中取钱时,在输入信息后,系统开始交易并已经从数据库中扣除了10 0元,但在柜员机吐出钱之前,突然由于某些硬件的原因导致故障。这样顾客没有拿到钱,而在其账户中却已经被扣除了100元。为了解决这类问题,Oracle提出了”有效交易”概念,即交易中的每一步都要在上一步完全有效下才能进行。为此,研发人员在产
文档评论(0)