更新时间:2022-10-12 来源:黑马程序员 浏览量:
软件产品与其他产品一样,都是有质量要求的,软件质量关系着软件使用程度与使用寿命,一款高质量的软件更受用户欢迎,它除了满足客户的显式需求之外,往往还满足了客户的隐式需求。下面分别从软件质量的概念、软件质量模型先来说起。
软件质量是指软件产品满足基本需求及隐式需求的程度。软件产品满足基本需求是指其能满足软件开发时所规定需求的特性,这是软件产品最基本的质量要求;其次是软件产品满足隐式需求的程度。例如,产品界面更美观、用户操作更简单等。
从软件质量的定义,可将软件质量分为3个层次,具体如下。
(1)满足需求规定:软件产品符合开发者明确定义的目标,并且能可靠运行。
(2)满足用户需求:软件产品的需求是由用户产生的,软件最终的目的就是满足用户需求,解决用户的实际问题。
(3)满足用户隐式需求:除了满足用户的显式需求,软件产品如果满足用户的隐式需求,即潜在的可能需要在将来开发的功能,将会极大地提升用户满意度,这就意味着软件质量更高。
所谓高质量的软件,除了满足上述需求之外,对于内部人员来说,它应该也是易于维护与升级的。软件开发时,统一的符合标准的编码规范、清晰合理的代码注释、形成文档的需求分析、软件设计等资料对于软件后期的维护与升级都有很大的帮助,同时,这些资料也是软件质量的一个重要体现。
软件质量是使用者与开发者都比较关心的问题,但全面客观地评价一个软件产品的质量并不容易,它并不像普通产品一样,可以通过直观的观察或简单的测量能得出其质量是优还是劣。那么如何评价一款软件的质量呢?目前,最通用的做法是按照ISO/IEC9126:1991国际标准来评价一款软件的质量。
ISO/IEC9126:1991是最通用的一个评价软件质量的国际标准,它不仅对软件质量进行了定义,而且还制订了软件测试的规范流程,包括测试计划的撰写、测试用例的设计等。
ISO/IEC9126:1991标准所包含的6大特性的具体含义如下。
(1)功能性:在指定条件下,软件满足用户显式需求和隐式需求的能力。
(2)可靠性:在指定条件下使用,软件产品维持规定的性能级别的能力。
(3)可使用性:在指定条件下,软件产品被使用、理解、学习的能力。
(4)效率:在指定条件下,相对于所有资源的数量,软件产品可提供适当性能的能力。
(5)可维护性:指软件产品被修改的能力。修改包括修正、优化和功能规格变更的说明。
(6)可移植性:指软件产品从一个环境迁移到另一个环境的能力。
这6大特性及其子特性是软件质量标准的核心,软件测试工作就从这6个特性和27个子特性去测试、评价一个软件的。