三九宝宝网宝宝百科宝宝知识

如何在软件测试阶段有效的提高软件质量

02月23日 编辑 39baobao.com

[如何禁止在客户端安装软件的设置]一.运行gpedit.msc打开组策略在管理模板里打开windows组件,有个windows安装服务,将右边的东西你看一下,具体方法:运行gpedit.msc->计算机配置->管理模板->windows组件->ms in...+阅读

软件在没有发布之前的开发过程主要分为需求分析、设计、编码和验证四个阶段,最终的软件质量与这四个阶段的各自质量之间的关系如果用C语言来表达的话应当是: 最终的软件质量 = 需求分析质量 & 设计质量 & 编码质量 & 验证质量 即,最终的质量来自于各阶段质量之“与”,只要其中一个环节质量是差,则产品的整体质量都将是差,千万不要认为是“或”的关系。

由此看来每一个阶段的质量都起着决定性的作用。 以上提及的四个阶段的质量将引出以下几个软件质量保证的关键要素。 完备的需求分析 需求分析的目的是让项目组明白要做什么,是决定所开发出来的软件应当是“长什么样的”,显然完备的需求分析是高质量软件的前提。如果所开发出来的软件与用户所希望的并不一致,那不可能让用户说“这个软件的质量很好” 。

如果方向不对,软件开发得再“好”也没有意义。需求分析失误所带来的开发成本是高昂的,这一点在《软件工程》这类书籍中都会提及,因此,整个行业对于需求分析的重要性都具有足够的认识。当然,知道其重要性与如何获得完备的需求分析又是两回事,至于如何做好需求分析请读者参考相关书籍。 需求分析如果出现失误的话有一个特点—— 它一定会暴露!只不过存在是暴露在软件开发过程中还是在用户手中之别。

因此,需求分析所造成的问题尽管严重,但它能被发现进而能得到项目组的重视,从而也一定能被修复,只是不同阶段发现这类问题所花费的成本将有所不同。 设计 设计阶段是通过设计方法找出软件实现更好的方法,注意这里是“更好”两个字,而不是强调最好。 不良设计并不会象需求分析失误那样很容易暴露出其本质,相反,它所暴露出的更多是表象,比如逻辑复杂、维护时举步为艰等等。

如果参与者不具备一定的洞察力以发现隐藏在现象背后的不良设计本质,则很有可能身受其害却不能自拔,还以为“本来就有那么复杂”。 项目的开发是一个逐步演进的过程,项目组成员对于需求的理解也是逐步加深的,一开始合适的设计到后面看来很有可能就不够全面或显得力不从心,如果仍沿用以前的设计则自然将暴露出它的不足,进而会出现需要更高的维护成本。

重构思想的提出,就是用于帮助项目演进设计的,当然,在运用重构方法时,应尽可能保证项目有足够的单元测试用例,以预防重构时又引入新的缺陷。重构不只是一个词,其核心应当是一个方法论,一个用于优化设计的方法论。 编程好习惯 设计阶段输出的结果就是蓝图,但好的蓝图并不能保证最后的质量一定就好。拿造房子打个比方,图纸设计得再好,如果建造时用的材料不过关,那最终的房子一定好不了。

那软件开发中的“建筑材料”又是什么呢?就是程序员所编写的代码。如何保证其质量呢?这需要通过良好的编程习惯去保证。 在现实的项目中,设计有可能与编码会有一定的揉合,即通过进行一定的编码来辅助设计。这种实践方式并不影响这里将设计与编码分为两个质量保证关键要素。 验证 验证很容易让人想到质量保证的常用方法之一,即测试。

但验证应当包含更多的内涵,比如求证软件需求是用户所希望的就是其中的一种。 对于验证的理解仍需要拿房屋的建造作为一个比方,以便加深理解。在房屋的建造过程中,当建筑材料到了工地以后,需要对其进行检验,以保证它的质量是合格的,否则不能用于建造。对应于软件开发,这个阶段就是单元测试。当软件工程师编写了代码以后如何保证代码的行为是其所希望的呢?那只能通过单元测试去验证。

房子建造好了以后,还得对房子进行整体的验收以确保其最终是合格的。比如抽查墙壁所使用的水泥与沙的配比是合适的。虽然水泥和沙在进入工地时都经过了质检且是合格的,但在建造的过程中需要按一定的比例混合它们以作建筑粘合剂,而混合比例将确定粘合强度。在软件开发过程中,软件集成测试就如同房子在建造好了以后的验收。

从上面的比方能得出几个结论。第一,在软件开发过程中单元测试是必不可少的。它的缺少如同将没有检验过的建筑材料用于建造一样。第二,单元测试应当在集成测试之前完成。有的项目在一开始时并没有单元测试流程,但后来发现需要增加这个环节,于是出现了集成测试完成了以后,再进行单元测试这种情形。这种情形还是有点怪怪的,这如同房子已造好了,再将墙打掉去检查里面的砖是否是好的一样。

“将墙打掉检查砖”这种行为的勇气虽然可佳,但是如果尽早地在项目中部署单元测试就能避免这种怪现象的发生。 集成(包括开发集成和系统集成)测试在软件行业被广泛采用以保证软件质量,但单元测试对于软件质量保证的重要性在整个行业还缺乏广泛的、深刻的认识,其更多地被当作是负担而不是一种有效的质量保证手段。

以下为关联文档:

提高软件测试水平的建议测试……在我的理解是优化的前半部分,也就是优化策划,一个东西让你去测试,无非就是说要去根据客户的要求完善它,测试占的就是要把这个东西还没有符合的或者是和客户要求不一样的...

如何有效提高产品质量和安全生产水平近年来,我国产品质量和安全生产总体水平稳步提高,增强了我国产品和企业的国际竞争力。但是,2008年以来一些地方发生的重特大食品药品安全事件和安全生产事故,对人民群众健康构成...

如何有效提高产品质量提高产品质量的最佳方法是采用六西格玛管理。 一、六西格玛的核心: 六西格玛管理法是一种统计评估法,核心是追求零缺陷生产,防范产品责任风险,降低成本,提高生产率和市场占有率,提...

哪个练习英语四级词汇量的软件即快速又有效的软件???提高英语首先要提高的是英语本身的积累,包括词汇、语法和语言熟练度,这三者就像盖楼的砖,砖头不足的话不论有多好的盖楼方法和设计图纸也是没有用的。个人认为词汇量5000+,阅读...

如何有效地提高幼儿园的保教质量加强师德师风教育,培养教师良好的职业道德。 思想是行动的指南,一个幼儿教师只有对这份职业和每个幼儿充满热爱,具有了良好的职业道德,才会用心去工作,教育好幼儿。因此,园领导要...

软件测试面试题软件质量的定义是什么关于软件质量的定义,很多书籍都有定义,但到目前为止,还是没有一个标准的定义。不过,我比较赞同TQM的观点:TQM的核心是把过程质量的责任分配给过程的所有者。 面向消费者(最终用户)...

软件质量评价的标准是什么我们把影响软件质量的因素分成三组,分别反映用户在使用软件产品时的三种不同倾向或观点。这三种倾向是:产品运行、产品修改和产品转移。信息系统作为一个产品,也可以参照这三种...

软件架构设计主要应用于软件生存周期的哪个阶段软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来...

什么软件提高阅读速度跟你分享我练习提高阅读速度用的《精英特速读记忆训练软件》。我读书一般是用快速阅读法,《快速阅读》不是简单地阅读速度快,跟略读、跳读扫读等有着本质的区别。快速阅读是一...

推荐阅读
图文推荐