第1章 软件测试的基本概念
软件质量,是贯穿软件生命周期的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的*终体现。因此,在软件生命周期中要特别重视质量的保证,以生成高质量的软件产品。
1.1.1 软件质量的定义
关于软件质量,软件工程界经历了长时间讨论,提出过不少好的定义。
1 990年,Norman、Robin等在Software Quality Assurance
and Measurement:a Worldwide
Perspec—tire中进一步提出:软件质量是“表征软件产品满足明确的和隐含的需求的能力的特性或特征的集合”。它除了关注“明确的需求”外,还扩展到了“隐含的需求”。
1994年,国际标准化组织公布的国际标准IS0
8402综合定义软件的质量为“反映实体满足明确的和隐含的需求的能力的特性的总和”。此处,实体是“可以单独描述和研究的事物,如产品、活动、过程、组织和体系等”。
综上所述,软件质量是产品、组织和体系或过程的一组固有特性,反映它们满足顾客和其他相关方面要求的程度。我国的**标准GB/T
ll457--2006~软件工程术语》定义软件的质量为:
(1)软件产品中能满足给定需要的性质和特性的总体。例如,符合规格说明。
(2)软件具有所期望的各种属性的组合程度。
(3)顾客和用户觉得软件满足其综合期望的程度。
(4)确定软件在使用中将满足顾客预期要求的程度。
1.1.2 软件质量的属性
为满足软件产品的各项**定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。
软件产品应满足客户的功能需求,这是首要的。性能需求包括处理和响应时间。约束条件则表示外部硬件、可用存储或其他现有系统对软件的限制。功能、性能和约束必须在一起进行评价。当性能限制不同时,为实现同样的功能,开发工作量可能相差一个数量级。如果功能保持相同而性能可变,则开发软件需要的工作量和成本将有显著的差异。
……