软件测试保证软件质量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测试可以决定软件质量
测试达人一句话我印象很深:“软件质量保证关乎我们的生活质量,而软件测试是打开软件质量保证大门的金钥匙。”既然将软件测试形容是金钥匙,那么软件测试对于软件质量的影响,乃至于对我们生活的重要性和必要性不言而喻。
好的软件测试可以保证软件的良好运行,从而给人们的生活带来巨大的帮助。同时,不好的软件测试对于人们的生活来说,有时候是灾难性的。实例最具有说服力,首都机场由于软件缺陷影响到通信传输,造成航班无法起飞,大批旅客滞留,对于公司信誉和经济都带来了极大损失;北京奥运会的购票系统对于实际用户数量估计不足,性能问题使网站瘫痪,成为开发中没有做好良好测试的生动例子;经济上,迪士尼对于系统兼容性的缺乏考虑,Intel 芯片的测试缺陷都带来了上亿美元的经济损失……诸如此类的事情不胜枚举,每一次较大的软件灾难的发生,软件测试的不足都是其中的重要原因,更不用说哪些性命攸关的项目,武器、国防软件的测试更是一点都马虎不得,没有充分的进行测试,加大了重大事故和增加牺牲的惨痛结果,因此,软件测试的重要性和必要性成为越来越多的软件开发者所必须要考虑的重点。
软件测试的目的其实就是保证软件质量,然而,越来越多的实际经验和教训告诉我们,软件测试可以决定软件质量。现在人们普遍认为软件测试贯穿整个软件生命周期,从需求评审、设计评审开始,测试就介入到软件产品的开发活动或者软件项目实施中。V模型中,需求验证对应验收测试,客户需求的确认测试;系统架构设计的验证对应系统非功能测试;产品详细设计的验证对应功能测试;代码的验证对应单元测试和集成测试。目前比较流行的敏捷方法(Scrum方法和极限编程等)中的方法“测试驱动开发(TDD)”就把测试放到了最前面的位置,就是考虑到了测试对于整个软件开发质量的重大影响。
就实际的个人开发经验来言,从最初的不在意软件测试,从而吃了严重软件质量缺陷的亏,到事先设计好足够的测试用例,从开发的每个阶段都进行测试的这样的一个转变,也可以体会到测试对我们开发习惯的影响。没有考虑太多测试重要性的开发过程基本都是随意的开发,重点完成功能的需求,不在意某些地方的小漏洞,但久而久之就会发现,自己的设计和编码有很多bug,而且改动起来非常麻烦,有时候必须要完全改动才能满足要求。然后开始慢慢接触软件测试,力求在开发初期就把所有开发的不足解决,因为前期的一个小小的无论是需求的缺陷还是设计的缺陷,改动起来是费时费力的。但是效果也很明显,往往充分的测试能得到比较高的软件质量,使用起来也很少崩溃或者不满足需求。因此,可以说,是软件测试创造了软件的高质量,决定了软件带给我们的生活质量的改善。