软件质量的定义-「深圳软件开发公司」
发布时间:2022/01/10 丨 文章来源:未知 丨 浏览次数:
关键词:深圳软件开发公司、软件质量包含哪些
软件测试是当前软件工程学科的重要组成部分。在实际的软件开发过程中,软件测试的重要性已经被广泛地认同。软件测试是提高软件质量的重要手段,软件测试的概念相对于软件质量而存在,所以在学习什么是软件测试之前,首先要了解什么是软件质量。
软件质量的概念
质量的定义
“质量(Quality)" 这个词,如果单从汉语文字来看,是由“质”和“量”两个词构成的,字面上理解就是在质和量上的程度。然而要想给质量下个明确的定义却并不容易。先来看看一些权威机构对质量做出的解释。
在《辞海》中,对质量的解释是产品或工作的优劣程度。
1986年ISO8492给出的质量的定义是:质量是产品或服务满足明示或暗示需求能力的特性和特征的集合。IEEE在“Standard Glossary of Software EngineeringTerminology"中给出的质量定义是被普遍接受的概念,即质量是系统、部件或过程满足明确需求。世界著名的质量管理专家朱兰对“质量”给出的含义:满足使用要求的基础是质量特征,产品的任何特性(性质、属性等)、材料或满足使用要求的过程都是质量特征。
深圳软件开发公司认为,质量是一个复杂的多层面概念,如果站在不同的观点上从不同的层面或角度对质量就有着不同的理解。
先验证观点:质量是产品的一种可以认识但不可定义的性质。
用户观点:质量是产品满足使用目的的程度。
制造者观点:质量是产品性能符合规格要求的程度。
产品观点:质量是联结产品固有性质的纽带。
基于价值观点:质量依赖于顾客愿意付给产品报酬的数量。
因此,有一个很重要的概念和质量息息相关,这个概念就是“客户”,不同的客户对待质量的看法是不同的,质量和客户两者相对而存在。
客户的定义至少存在两个范畴一内部的和外部的:
外部客户是产品的实际使用者或服务的对象,是传统意义上大家所认可的客户。内部客户是更为广泛意义上的客户,客户可以被理解为下一道工序的接受者。在软件生产的环节中有关的人员都可被定义为这一类型的客户,软件的设计者是需求分析人员的客户,编程人员是设计者的客户,软件测试是编程人员的客户。
从质量的定义和不同的理解中均可以看到,质量是满足客户需求的特征这个核心含义,这样对质量的解释和说明就存在困难,传统的理性观点把世界分为主观和客观两部分,但是质量似乎被排除在这种区分之外,既不是客观的,也不是主观的。质量似乎不是客观的,因为没有什么科学仪器可以直接测出质量来;质量似乎也不是主观的,因为它不仅存在于人们的脑海中。实,质量应该是客观存在的,但是测度它的方法却是主观的。
软件质量的内涵
关于软件质量有许多好的定义。通过审视每个定义,可以正确理解什么是软件质量。以下从一个较为抽象的定义逐步转向更具体的定义,这有助于对该问题的理解。
Fisher和Light在《Definitions in Software Quality Management》中的质量定义: (表征)计算机系统卓越程度的所有属性的集合。"所有属性的集合”包括可靠性、可维护性、可用性等。“卓越”则属于软件质量的定义范畴。
在Donald Reifer 的《State of the Art in Software QualityManagement》一书,有如下定义:软件产品满足明示需求程度的一组属性的集合。这个定义中继续沿用“属性集合”的说法,但增加了满足明示需求的成分。
在《Software Quality Assurance and Measurementa WorldwidePerspective》中除了关注“明示需求”之外,还扩展到了“暗示”需求:软件产品满足明示或暗示需求能力的特性和特征的集合。
Stephen Kan 在《Metrics and Models in Software QualityEngineering》中对”需求”这个层面更加明确:在质量定义中客户的角色必须明确指出,即满足客户的需求。
这一定义与Philip B.Crosby《Quality Is Free》中“满足需求”的定义非常接近,只不过这里是“满足软件需求”。这个定义面临这样一个问题:什么是软件需求?难道软件需求仅是决定软件做什么的技术需求?还是也包括软件质量的需求?
Watts Humphrey在《Discipline for Software Engineering》中从个体实践者的角度看质量:必须认识到软件质量是分层次的。首先,软件产品必须提供用户所需的功能。如果做不到这一点,什么产品都没有意义。其次,这个产品必须能够正常工作。如果产品中有很多缺陷,不能正常工作,那么无论这种产品其他性能如何,用户也不会使用它。
"Peter J.Denning在他的文章《What is Software Quality》中提出了与Humphrey类似的观点:越是关注客户的满意度,软件就越有可能达到质量要求。程序的正确性固然重要但不足以体现软件的价值。
深圳软件开发公司逻辑思维软件对软件质量的定义是:软件质量是软件产品满足使用要求的程度。在这个定义“程度”是由软件的特征和特征集组成的。