什么是软件质量。在ISO9000中对质量的定义是“质量促进组织所关注的以行为、态度、活动和过程为结果的文化。通过满足客户和相关方的需求和和期望实现其价值。组织的产品和服务的质量取决于满足客户的能力,以及对相关方有益、无意的影响。产品和服务的质量不仅包括其预期的功能和性能,还涉及顾客对其价值和利益的感知。”(英文原版定义在本文2.3中有引用)。ISO对质量的定义大体分为两个部分一个是产品和服务自身的特性符合程度,一个是相关方感受到的质量。软件产品的质量也包括这两个方面,但软件是特殊的产品,是一种智慧的产物,它与用户和运行环境(其它软件或者硬件)双向交互,不仅面向最终用户,还需要面向维护人员,甚至是测试人员和开发人员,因此一般对软件质量的描述为“软件质量指对用户在功能和性能方面的需求的满足、对规定的标准和规范遵循以及正规软件公认的应该具备的本质”。软件质量主要有四个方面:
1、时效性,虽然软件质量描述中没有强调这一点,但在互联网盛行的今天,一个错过时机的“过期”软件,即使质量再好,也不会产生价值。
2、需求是软件质量的基础,不符合需求的软件就是谈不上质量。
3、标准规范的满足程度。标准规范定义了一组指导软件开发的准则,用来指导团队用工程化的方法开发软件。如果不遵守这些开发标准规范,软件的质量就得不到保证。这一点对于上万行代码的项目表现更为突出。</