2

这里有很多关于测量和证明软件质量的问题,但是,到目前为止,Stackoverflow 上还没有对软件质量本身的正式定义:

请给出正式的、包罗万象的软件产品质量定义。

由于这个问题相当笼统,我很乐意在每次提交时继续接受更好的定义。只要您可以添加一些有价值的东西,复制之前提交的答案的要点是可以的。

4

12 回答 12

5

以下是 Wikipedia 对软件质量的评价。

文章列出了关于软件质量的几个定义和观点。最接近软件产品质量的是

符合要求或程序规范;与可靠性有关。

可靠性是“计算机程序在特定环境中特定时间内无故障运行的概率”。

除了产品质量,它还列出了:

  • 可扩展性
  • 正确性
  • 完整性
  • 没有错误
  • 容错
  • 可扩展性
  • 可维护性
  • 文档

质量因素被定义为“软件程序的非功能性需求,客户合同未提出,但仍然是提高软件程序质量的理想需求”。这是列表:

  • 易懂
  • 完整性
  • 简明
  • 可移植性
  • 一致性
  • 可维护性
  • 可测试性
  • 可用性
  • 可靠性
  • 结构化
  • 效率
  • 安全

编辑:澄清了质量因素的含义。

我曾经听说质量就像氧气。当它在那里时,你认为它是理所当然的。当它不存在时,您会注意到它并抱怨。因此,从什么是“劣质”软件的角度来定义质量可能更容易。例如,不安全的在线银行网站将是“低质量”产品。

于 2008-10-13T09:06:53.153 回答
4

软件质量的正式定义实际上以 ISO-9126 的形式提供,正如维基百科文章所引用的那样:http ://en.wikipedia.org/wiki/ISO_9126

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=22749定义了质量模型

于 2008-10-13T09:27:48.820 回答
3

优质的软件产品必须

  • 做它应该做的,只有这个(没有副作用,没有错误)
  • 可用于目标受众
  • 对于打算这样做的程序员来说是可维护的
  • 不会降低运行它的系统的安全性

编辑:(文档、可移植性、效率等都是可取的奖励值,但不需要使其成为“质量”,而是使其具有可比性,恕我直言)

于 2008-10-13T08:58:55.460 回答
2


(来源:codinghorror.com

我们的程序使用起来很有趣。

我们的说明清晰而完整。

于 2008-10-13T09:34:25.950 回答
1

软件产品质量是发现软件产品缺陷的速度的倒数。

这并不意味着如果没有报告错误,您就具有良好的质量,因为您可能使报告问题变得过于困难。此外,如果问题存在,但没有被积极注意,它不会对质量产生太大影响,但如果经常被注意,则会对质量产生重大影响。严重错位的按钮会严重降低质量,即使它不会影响功能。

由于通常是用户注意到缺陷,因此根据开发人员的说法,某事是错误还是功能也无关紧要。如果用户认为某些东西是缺陷,那么它就是缺陷,无论是在用户培训、用户文档、用户界面还是实际功能中。

于 2008-10-13T09:13:38.177 回答
1

对此没有一个答案,许多公认的答案直接相互矛盾。一些流行的包括;

“质量对某些人或某些人来说很有价值” - Jerry Weinberg,质量软件和测试,2006 年 4 月

“质量就是符合标准”——菲利普·克罗斯比

“质量是维持业务的能力”——戴明

我们在 SQAforums 上对此进行了很好的讨论。广泛的共识是质量在很大程度上是主观的。就个人而言,我和杰里温伯格一起去。

于 2008-10-13T09:16:22.167 回答
0

产品质量是其所有功能性和非功能性特征的集合。质量衡量标准取决于实际产品使用的环境。

软件产品可以具有以下特征:

  • 功能属性(或产品执行的工作)

  • 非功能属性(产品属性,而不是它执行的工作)

    a) 外观和感觉

    b) 可用性和人性化

    c) 性能

    d) 运营

    e) 可维护性和支持

    f) 安全

    g) 文化和政治

    h) 法律

James 和 Suzanne Robertson 建议的功能性和非功能性属性分类 http://www.volere.co.uk

于 2008-10-13T09:36:59.893 回答
0

我最喜欢的关于质量的报价是:

质量绝不是意外;它始终是高度意图、真诚效果、明智的方向和熟练的执行的结果;它代表了许多替代方案的明智选择。

于 2008-10-13T09:51:58.350 回答
0

如果我要为质量打一个衡量标准,我认为最好的外部衡量标准是“人们愿意为此付出多少”。没有人愿意为糟糕的产品买单。

于 2008-10-13T18:44:08.633 回答
0

温思罗普大学有一个很好的PowerPoint 演示文稿,其中包含一些很好的示例和定义。你可能会发现它很有用。

于 2012-11-17T14:59:32.423 回答
0

软件质量可能取决于两个标准,例如:

  1. 与外部用户交互的结果
  2. 与内部利益相关者互动的结果

以上两者都具有可用于确定软件整体质量的特征。简而言之,提供软件质量的通用定义可能不是一个好主意。不同的软件服务于不同的目的,可能有不同的质量要求。例如,作为搜索引擎的谷歌,从搜索的相关性、获得搜索结果的速度等方面,可以说是一款质量非常高的软件。但是,如果以外观和感觉作为标准,它并不是最漂亮的设计。

您可能想在此页面上查看有关软件质量定义的详细信息。

于 2013-02-21T12:13:03.420 回答
0

软件质量被定义为符合明确规定的功能和非功能要求、明确记录的开发标准以及所有专业开发软件所期望的隐含特征

于 2013-12-04T05:43:50.430 回答