软件测试与软件质量关系的概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISO/IEC9126质量模型
ISO/IEC9126质量模型包括六个质量特性结合21个质量特性。六个质量特性:功能性、可靠性、易使用性、效率、可维护性、可移植性【1】。二十一个质量子特性:
功能性:适合性、准确性、互操作性、依从性、安全性;可靠性:成熟性、容错性、易恢复性;易使用性:易理解性、易学性、易操作性;效率:时间特性、资源特性;可维护性:易分析性、易更改性、稳定性、易测试性;可移植性:适应性、易安装性、一致性、易替换性。
软件质量度量模型
软件质量度量管理模型(SQM:Software Quality Management)也可称为软件质量评价模型,就是说从整体上来评价软件的质量,以便在软件开发过程中对软件质量进行控制,并对最终产品进行评价和验收模型。用软件度量学的方法来科学的评估软件质量,可以更有力地对软件开发过程进行管理,从而合理地组织和分配资源,制定切实可靠的软件开发计划已获得高质量的软件。下面就常见的Boehm模型、McCall模型、ISO/IEC9126模型这三种质量度量模型进行介绍。
关键字:软件测试;质量度量;质量模型;白盒测试;黑盒测试
An overview of the relationship between software testing and the software quality
Abstract:The concept of software testing and software quality are inseparable. Testing is a means, quality is the goal. Software testing can improve the quality of software, but software testing and software quality assurance exists between include and exists a relationship of cross. Software testing to identify software defects, to ensure that the software products meet the demand. But the test is not quality assurance. Test can find errors and modified, so as to improve the quality of software products. Software quality assurance is to avoid mistakes in order to high quality, and other aspects of measures to ensure the quality problem. This article is through the related concepts of software quality and software testing to discuss the relationship between the quality of software testing and software.
三种产品的不同点是,McCall模型的意义在于建立了软件质量度量项之间的关系;Boehm模型里包括了McCall模型里没有的硬件领域的质量要素;ISO/IEC9126模型的贡献在于将软件质量特征分为外部特征和内部特征。
总体来说,这些质量模型的原理都是一样的。软件质量特征被定义为:功能性、可靠性、可维护性、应用性、效率和可移植性、就是将软件质量的概念按照从上到下分为若干层次,有利于对软件质量认识的逐步深入。【2】没有一种标准可以用于所有的概念。在实际应用中,应该更具不同的需求对不同的质量特性和其子特性有所侧重,同时要考虑到由于因素之间存在逆相关,在实际开发过程中,应该根据不同需求做出不同的选择来进行测试,从而提高软件的质量。由此可以看出软件测试与软件质量相互联系,软件测试从软件质量的本质出发,根据其最小属性的特点进行测试来达到提高软件质量的目的。
Boehm质量模型
满意程度;可移植性被单独划分为一个属性。如图2-1所示。
图2-1 Boehn模型
该模型更好的为测试提供条件,测试可以从该模型的最小属性开始进行,各个击破来提高软件的质量。
McCall质量模型
在Boehm之后,McCall等人在1978年提出来软件要素(factor)到准则(criteria)再到度量(metric)的三层次软件质量度量模型,定义了11个软件质量要素,分别是:正确性(correctness)、可靠性(reliability)、效率(maintainability)、完整性(integrity)、可使用性(usability)、可维护性(maintainability)、可测试性(testability)、灵活性(flexibility)、可移植性(portability)重复使用性(reusability)、连接性(interoperability)。
三种模型的相同点是,它们都是类似于二层次的模型,质量要素、衡量标准基本相同,建立了软件质量要素和软禁啊度量之间的关系。但它们的共同缺陷是质量要素和衡量标准之间的关系是通过非形式的讨论来建立的,有的度量不是客观指标只是主观判断,另外没有从软件生存周期不同阶段的生存形态来考虑,而仅仅考虑成品形态,不利于软件产品早起缺陷发现和维护成本的降低。
第二章 软件质量
软件质量就是软件对于用户的明确和隐含需求相一致的程度。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
软件质量的定义
目前,在软件定义方面有很多定义。最主要的有以下几种。
国际标准化组织ISO在质量特性国际标准ISO/IEC 9162中将软件质量定义为反应软件产品满足规定需求和潜在需求能力的特征和特性的总和。
Key words:Software testing; Quality measures; The quality of the Leabharlann Baiduodel; White box testing; Black box testing
第一章 引言
在当今这个信息科技飞速发展的社会中,计算机已经完全渗透到人们的学习生活中。而计算机软件是是计算机应用的核心,是使用者利用和掌控计算机的有力武器,因此软件质量也成为人们关注的焦点。人们对于软件质量的要求越来越高,实现软件质量保证已成为软件工程领域一项重要任务。软件质量是软件的生命,它直接影响软件的使用和维护。因此软件质量问题一直是软件工程的核心问题。若是许多软件的开发和生产仍处于“自设计”、“自编码”、“自检测”状态的话,软件质量就会低下,必然风险大、难保障。例如:某产品测出的故障800个,其中:软件故障600个,占75%之多;硬件故障127个,占16%;其他故障73,占9%。可见软件质量的严重性,因此必须加强软件开发和生产的管理,建立和完善软件测试的手段和方法,严格按照软件工程化管理的要求进行软件开发和管理,提高软件产品的质量。
近些年来,在软件测试和方法的研究上测试过程和测试用例方面也备受人们的关注。测试过程决定测试工作的成败,而测试用例的质量决定了软件缺陷的发现率,且设计测试用例占50%的测试成本。可见软件测试在保证软件质量中的地位。
实践证明,软件测试需要消耗大量的资源,并且测试所需的工作量,通常高达软件开发周期总工作量的30%—40%。如果让测试偶然进行,既浪费时间也浪费不必要的工作量,甚至更糟的是错误仍在。因此,必须科学的制定测试策略,合理安排软件测试工作,才能有效提高测试效率,有效控制资源消耗。从而保证软件质量。这也正从侧面说明了软件测试对于保证软件质量的重要性。
GB/T 16260 软件工程-产品质量标准
软件质量管理标准
ISO 9000系列国际标准
目前,国际公认的并被世界各国和地区广泛采用的软件质量管理和质量保证标准是国际标准化组织ISO(全称为Intermational Origanization for Standardization)制定的ISO9000系列标准,该系列标准主要包括:ISO 84025 《质量术语》ISO 9000《质量管理和质量保证标准一选择和使用指南》,ISO9001《质量体系一设计开发、生产、安装和服务的质量保证模式》,ISO9002《质量体系一生产和安装的质量保证模式》, ISO9003《质量体系一最终检验和试验的质量保证模式》,ISO9004《质量管理和质量体系要素一指南》。上述六项质量标准从1987年发布1987版,后经过修订成1994版,到现在己经发展到最新的2000版。
将软件质量定义为:所有描述计算机优秀程度的特性组合。
TomMcCabe 则认为软件质量是较高的用户满意程度以及较低的缺陷等级,这常常同较低的软件复杂程度有关。
SEI的Watts Humphrey倾向于将软件质量定义为具有很高的可实用性,同需求很好吻合,并具有高的可靠性和可维护性。
按照ANSI/IEEE std 1061-1992中的标准,软件质量定义为:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的总体。
软件测试与软件质量关系的概述
软件测试与软件质量关系的概述
摘要:软件测试和软件质量的概念是分不开的。测试是手段,质量是目的。软件测试能够提高软件质量,但是软件测试和软件质量保证二者之间既存在包含又存有交叉的关系。软件测试能够找出软件缺陷,确保软件产品满足需求。但是测试不是质量保证。测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。本文是通过软件质量和软件测试的相关概念来讨论软件测试和软件质量之间的关系。
软件的设计技术,软件测试等是提高软件质量的有效方法。就提高软件产品质量的可实施性、投资回报率等方面考虑,保证软件质量的最显着的方法是实施有效的软件测试,提高软件测试的效率。目前,软件质量、软件测试和配置管理都逐渐被各软件公司重视起来,但是软件测试的方法、技术和标准都还在探索阶段。
软件测试不是保证软件质量的安全网,但软件测试毕竟是保证软件测试的有效手段,所以我们可以通过提高软件测试来保证软件质量。本文就软件测试与软件质量之间的关系进行阐述。把软件测试各个环明节和方法与软件质量进行结合明确软件测试和软件质量之间的关系从而通过软件测试环节来提高软件的质量。
1994年修订后发布的ISO9000系列国际标准从1987年仅有的六项发展到十六项。其中包括ISO9001-3;1991“质量管理和质量保证标准一第三部分:ISO9001在软件开发、供应和维护中的使用指南。”这个指南是专门针对软件的质量管理和质量保证而制定的,对软件企业和软件产品的质量管理和质量保证具有重要的意义。2000版ISO9001标准在1994版的基础上作了很大改变:1994版ISO9001标准的结构是由二十个独立的质量要素组成,而2000版则引入了全面质量管理的概念,把这二十个要素分别归类于管理职责、资源管理、产品实现及测量、分析和改进四大类,构成一种过程方法模式的结构,符合PDCA(即计划(plan)、实施(Do)、检查(Check)、处理(Action))循环规则。并且通过持续改进的环节使质量管理体系的水平不断上升,该方法逻辑清晰、结构严谨、更加容易理解和方便操作ISO9000系列标准是从整体上评价软件质量,以便在软件开发过程中对质量进行控制,并对最终软件产品进行评价和验收。
该模型的基本思想是把软件的质量的因素分成三组,每组反映软件产品质量的一个重要方面,成为质量要素,这项要素一般需要量化。每个要素又由一些准则组成,这些准则要比要素更易于理解和测量,因此真正的测量是针对准则来提出的。我们可以通过对准则的实现对因素测量。即软件测试也应该是渗透到组成软件质量的每个小要素里面去的。这样的测试才能做到从根源提高软件质量。
ISO/IEC9126质量模型包括六个质量特性结合21个质量特性。六个质量特性:功能性、可靠性、易使用性、效率、可维护性、可移植性【1】。二十一个质量子特性:
功能性:适合性、准确性、互操作性、依从性、安全性;可靠性:成熟性、容错性、易恢复性;易使用性:易理解性、易学性、易操作性;效率:时间特性、资源特性;可维护性:易分析性、易更改性、稳定性、易测试性;可移植性:适应性、易安装性、一致性、易替换性。
软件质量度量模型
软件质量度量管理模型(SQM:Software Quality Management)也可称为软件质量评价模型,就是说从整体上来评价软件的质量,以便在软件开发过程中对软件质量进行控制,并对最终产品进行评价和验收模型。用软件度量学的方法来科学的评估软件质量,可以更有力地对软件开发过程进行管理,从而合理地组织和分配资源,制定切实可靠的软件开发计划已获得高质量的软件。下面就常见的Boehm模型、McCall模型、ISO/IEC9126模型这三种质量度量模型进行介绍。
关键字:软件测试;质量度量;质量模型;白盒测试;黑盒测试
An overview of the relationship between software testing and the software quality
Abstract:The concept of software testing and software quality are inseparable. Testing is a means, quality is the goal. Software testing can improve the quality of software, but software testing and software quality assurance exists between include and exists a relationship of cross. Software testing to identify software defects, to ensure that the software products meet the demand. But the test is not quality assurance. Test can find errors and modified, so as to improve the quality of software products. Software quality assurance is to avoid mistakes in order to high quality, and other aspects of measures to ensure the quality problem. This article is through the related concepts of software quality and software testing to discuss the relationship between the quality of software testing and software.
三种产品的不同点是,McCall模型的意义在于建立了软件质量度量项之间的关系;Boehm模型里包括了McCall模型里没有的硬件领域的质量要素;ISO/IEC9126模型的贡献在于将软件质量特征分为外部特征和内部特征。
总体来说,这些质量模型的原理都是一样的。软件质量特征被定义为:功能性、可靠性、可维护性、应用性、效率和可移植性、就是将软件质量的概念按照从上到下分为若干层次,有利于对软件质量认识的逐步深入。【2】没有一种标准可以用于所有的概念。在实际应用中,应该更具不同的需求对不同的质量特性和其子特性有所侧重,同时要考虑到由于因素之间存在逆相关,在实际开发过程中,应该根据不同需求做出不同的选择来进行测试,从而提高软件的质量。由此可以看出软件测试与软件质量相互联系,软件测试从软件质量的本质出发,根据其最小属性的特点进行测试来达到提高软件质量的目的。
Boehm质量模型
满意程度;可移植性被单独划分为一个属性。如图2-1所示。
图2-1 Boehn模型
该模型更好的为测试提供条件,测试可以从该模型的最小属性开始进行,各个击破来提高软件的质量。
McCall质量模型
在Boehm之后,McCall等人在1978年提出来软件要素(factor)到准则(criteria)再到度量(metric)的三层次软件质量度量模型,定义了11个软件质量要素,分别是:正确性(correctness)、可靠性(reliability)、效率(maintainability)、完整性(integrity)、可使用性(usability)、可维护性(maintainability)、可测试性(testability)、灵活性(flexibility)、可移植性(portability)重复使用性(reusability)、连接性(interoperability)。
三种模型的相同点是,它们都是类似于二层次的模型,质量要素、衡量标准基本相同,建立了软件质量要素和软禁啊度量之间的关系。但它们的共同缺陷是质量要素和衡量标准之间的关系是通过非形式的讨论来建立的,有的度量不是客观指标只是主观判断,另外没有从软件生存周期不同阶段的生存形态来考虑,而仅仅考虑成品形态,不利于软件产品早起缺陷发现和维护成本的降低。
第二章 软件质量
软件质量就是软件对于用户的明确和隐含需求相一致的程度。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。
软件质量的定义
目前,在软件定义方面有很多定义。最主要的有以下几种。
国际标准化组织ISO在质量特性国际标准ISO/IEC 9162中将软件质量定义为反应软件产品满足规定需求和潜在需求能力的特征和特性的总和。
Key words:Software testing; Quality measures; The quality of the Leabharlann Baiduodel; White box testing; Black box testing
第一章 引言
在当今这个信息科技飞速发展的社会中,计算机已经完全渗透到人们的学习生活中。而计算机软件是是计算机应用的核心,是使用者利用和掌控计算机的有力武器,因此软件质量也成为人们关注的焦点。人们对于软件质量的要求越来越高,实现软件质量保证已成为软件工程领域一项重要任务。软件质量是软件的生命,它直接影响软件的使用和维护。因此软件质量问题一直是软件工程的核心问题。若是许多软件的开发和生产仍处于“自设计”、“自编码”、“自检测”状态的话,软件质量就会低下,必然风险大、难保障。例如:某产品测出的故障800个,其中:软件故障600个,占75%之多;硬件故障127个,占16%;其他故障73,占9%。可见软件质量的严重性,因此必须加强软件开发和生产的管理,建立和完善软件测试的手段和方法,严格按照软件工程化管理的要求进行软件开发和管理,提高软件产品的质量。
近些年来,在软件测试和方法的研究上测试过程和测试用例方面也备受人们的关注。测试过程决定测试工作的成败,而测试用例的质量决定了软件缺陷的发现率,且设计测试用例占50%的测试成本。可见软件测试在保证软件质量中的地位。
实践证明,软件测试需要消耗大量的资源,并且测试所需的工作量,通常高达软件开发周期总工作量的30%—40%。如果让测试偶然进行,既浪费时间也浪费不必要的工作量,甚至更糟的是错误仍在。因此,必须科学的制定测试策略,合理安排软件测试工作,才能有效提高测试效率,有效控制资源消耗。从而保证软件质量。这也正从侧面说明了软件测试对于保证软件质量的重要性。
GB/T 16260 软件工程-产品质量标准
软件质量管理标准
ISO 9000系列国际标准
目前,国际公认的并被世界各国和地区广泛采用的软件质量管理和质量保证标准是国际标准化组织ISO(全称为Intermational Origanization for Standardization)制定的ISO9000系列标准,该系列标准主要包括:ISO 84025 《质量术语》ISO 9000《质量管理和质量保证标准一选择和使用指南》,ISO9001《质量体系一设计开发、生产、安装和服务的质量保证模式》,ISO9002《质量体系一生产和安装的质量保证模式》, ISO9003《质量体系一最终检验和试验的质量保证模式》,ISO9004《质量管理和质量体系要素一指南》。上述六项质量标准从1987年发布1987版,后经过修订成1994版,到现在己经发展到最新的2000版。
将软件质量定义为:所有描述计算机优秀程度的特性组合。
TomMcCabe 则认为软件质量是较高的用户满意程度以及较低的缺陷等级,这常常同较低的软件复杂程度有关。
SEI的Watts Humphrey倾向于将软件质量定义为具有很高的可实用性,同需求很好吻合,并具有高的可靠性和可维护性。
按照ANSI/IEEE std 1061-1992中的标准,软件质量定义为:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的总体。
软件测试与软件质量关系的概述
软件测试与软件质量关系的概述
摘要:软件测试和软件质量的概念是分不开的。测试是手段,质量是目的。软件测试能够提高软件质量,但是软件测试和软件质量保证二者之间既存在包含又存有交叉的关系。软件测试能够找出软件缺陷,确保软件产品满足需求。但是测试不是质量保证。测试可以查找错误并进行修改,从而提高软件产品的质量。软件质量保证则是避免错误以求高质量,并且还有其他方面的措施以保证质量问题。本文是通过软件质量和软件测试的相关概念来讨论软件测试和软件质量之间的关系。
软件的设计技术,软件测试等是提高软件质量的有效方法。就提高软件产品质量的可实施性、投资回报率等方面考虑,保证软件质量的最显着的方法是实施有效的软件测试,提高软件测试的效率。目前,软件质量、软件测试和配置管理都逐渐被各软件公司重视起来,但是软件测试的方法、技术和标准都还在探索阶段。
软件测试不是保证软件质量的安全网,但软件测试毕竟是保证软件测试的有效手段,所以我们可以通过提高软件测试来保证软件质量。本文就软件测试与软件质量之间的关系进行阐述。把软件测试各个环明节和方法与软件质量进行结合明确软件测试和软件质量之间的关系从而通过软件测试环节来提高软件的质量。
1994年修订后发布的ISO9000系列国际标准从1987年仅有的六项发展到十六项。其中包括ISO9001-3;1991“质量管理和质量保证标准一第三部分:ISO9001在软件开发、供应和维护中的使用指南。”这个指南是专门针对软件的质量管理和质量保证而制定的,对软件企业和软件产品的质量管理和质量保证具有重要的意义。2000版ISO9001标准在1994版的基础上作了很大改变:1994版ISO9001标准的结构是由二十个独立的质量要素组成,而2000版则引入了全面质量管理的概念,把这二十个要素分别归类于管理职责、资源管理、产品实现及测量、分析和改进四大类,构成一种过程方法模式的结构,符合PDCA(即计划(plan)、实施(Do)、检查(Check)、处理(Action))循环规则。并且通过持续改进的环节使质量管理体系的水平不断上升,该方法逻辑清晰、结构严谨、更加容易理解和方便操作ISO9000系列标准是从整体上评价软件质量,以便在软件开发过程中对质量进行控制,并对最终软件产品进行评价和验收。
该模型的基本思想是把软件的质量的因素分成三组,每组反映软件产品质量的一个重要方面,成为质量要素,这项要素一般需要量化。每个要素又由一些准则组成,这些准则要比要素更易于理解和测量,因此真正的测量是针对准则来提出的。我们可以通过对准则的实现对因素测量。即软件测试也应该是渗透到组成软件质量的每个小要素里面去的。这样的测试才能做到从根源提高软件质量。