软件测试基础 第六篇 软件质量模型

软件质量模型

5.1软件质量概念

1,软件质量的重要性: 导致项目进度延误、预算超支或项目失败、项目终止。软件质量高降低项目开发成本,包括维护成本、修复成本等

2,软件质量的定义:

    ·ISO/IEC9126: 反映软件产品满足规定需求和潜在需求能力的特征和特性的总和

    ·MJ.Fisher:  所有描述计算机优秀程度的特性的组合

    ·ANSI/IEEE Std 1061-1992:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体

3,软件质量的特性: •用户--如何使用软件、软件性能和使用软件的效果

    •开发者--中间产品的质量以及最终产品

    •管理者--总的质量,而不是某一特性

4,ISO/IEC9126规定,软件质量可用6个特性来评价:

    • 功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度

    • 可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力

    •可用性:对于一个软件,用户在学习、操作和理解过程中所做努力的程度

    • 效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度

    • 维护性:当环境改变或软件运行发生故障时,为使其恢复正常运行所做努力的程度

    • 可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度

GB/T 16260-2006质量模型

 

5.2软件质量分层模型

 

1,  McCall模型(FCM):软件质量要素(factor),衡量标准(criteria)和量度标准(metrics)。在FCM三层模型中,软件质量概念是基于11个特性之上,这11个特性分别面向产品操作(product operation)、产品修正(product revision)和产品转移(product transition)

2,Boehm模型

• 软件质量模型第一层:功能性、可靠性、可用性、效率、可维护性和可移植性

• 第二层给出了23个质量特性: 可访问性、可说明性、准确性、可扩充性、通信性、完备性、简洁性、一致性、设备独立性、效率、人类工程、可读性、可维护性、可修改性、可移植性、可靠性、健壮性、自包含性、自描述性、结构性、可测试性、可理解性和可用性

• 第三层是软件质量度量,通过对软件开发各个阶段进行问卷调查,实现对软件开发过程的质量控制

3, ISO/IEC 9126质量模型:该模型将软件质量定义为六大特性:功能性、可靠性、可用性、效率、可维护性和可移植性,每个特性又分为一系列子特性。

4,GB/T 16260-2006质量模型:该模型在上述模型的基础上对软件质量从6个质量特性和27个质量子特性进行概念性描述。

 

5.3软件质量度量与评价

软件质量定量评价公式:通过国内外多年研究,在软件质量的定量评价方面取得了一定成果。国外著名软件质量度量和评价产品中都给出了相关的计算公式,如Panorama++,Logiscope,McCabe IQ等

    •可维护性:0.5*可测试性+0.5*可理解性

    •可测试性:0.5*结构性+0.5*McCabe复杂度

    •可理解性:0.25*结构性+0.25*McCabe复杂度+0.25*简洁性+0.25*自描述性

    •结构性:0.2*编码语句的最大嵌套层次+0.2*修改全局数据+0.2*使用Goto语句+0.2*数据习惯用法+0.2*无条件循环语句所占比例

    • 简洁性:0.4*实体的习惯用法+0.4*局部调用+0.2*被调用

    • 自描述性:0.2*B_comment + 0.3*全部注释行所占的比例 + 0.5*注释实体所占比例

    • 可移植性:0.5 * 独立性 + 0.5 * 完整性

    • 独立性:0.5 * 异常比例 +0.5 * 用户定义类型

    • 完整性:(if语句 + case语句 + 初始化对象)/ 3

    • 可靠性:0.33*完整性+0.33*模块性+0.34*可测试性

    • 模块性:0.5 * 编码行数 + 0.5 * 结构性



作者:纵有万种风情
链接:https://www.jianshu.com/p/1c134f9e8a4b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

5.1软件质量概念

1,软件质量的重要性: 导致项目进度延误、预算超支或项目失败、项目终止。软件质量高降低项目开发成本,包括维护成本、修复成本等

2,软件质量的定义:

    ·ISO/IEC9126: 反映软件产品满足规定需求和潜在需求能力的特征和特性的总和

    ·MJ.Fisher:  所有描述计算机优秀程度的特性的组合

    ·ANSI/IEEE Std 1061-1992:与软件产品满足需求所规定的和隐含的能力有关的特征或特性的全体

3,软件质量的特性: •用户--如何使用软件、软件性能和使用软件的效果

    •开发者--中间产品的质量以及最终产品

    •管理者--总的质量,而不是某一特性

4,ISO/IEC9126规定,软件质量可用6个特性来评价:

    • 功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度

    • 可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作的能力

    •可用性:对于一个软件,用户在学习、操作和理解过程中所做努力的程度

    • 效率:在规定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度

    • 维护性:当环境改变或软件运行发生故障时,为使其恢复正常运行所做努力的程度

    • 可移植性:为使一个软件从现有运行平台向另一个运行平台过度所做努力的程度

GB/T 16260-2006质量模型

 

5.2软件质量分层模型

 

1,  McCall模型(FCM):软件质量要素(factor),衡量标准(criteria)和量度标准(metrics)。在FCM三层模型中,软件质量概念是基于11个特性之上,这11个特性分别面向产品操作(product operation)、产品修正(product revision)和产品转移(product transition)

2,Boehm模型

• 软件质量模型第一层:功能性、可靠性、可用性、效率、可维护性和可移植性

• 第二层给出了23个质量特性: 可访问性、可说明性、准确性、可扩充性、通信性、完备性、简洁性、一致性、设备独立性、效率、人类工程、可读性、可维护性、可修改性、可移植性、可靠性、健壮性、自包含性、自描述性、结构性、可测试性、可理解性和可用性

• 第三层是软件质量度量,通过对软件开发各个阶段进行问卷调查,实现对软件开发过程的质量控制

3, ISO/IEC 9126质量模型:该模型将软件质量定义为六大特性:功能性、可靠性、可用性、效率、可维护性和可移植性,每个特性又分为一系列子特性。

4,GB/T 16260-2006质量模型:该模型在上述模型的基础上对软件质量从6个质量特性和27个质量子特性进行概念性描述。

 

5.3软件质量度量与评价

软件质量定量评价公式:通过国内外多年研究,在软件质量的定量评价方面取得了一定成果。国外著名软件质量度量和评价产品中都给出了相关的计算公式,如Panorama++,Logiscope,McCabe IQ等

    •可维护性:0.5*可测试性+0.5*可理解性

    •可测试性:0.5*结构性+0.5*McCabe复杂度

    •可理解性:0.25*结构性+0.25*McCabe复杂度+0.25*简洁性+0.25*自描述性

    •结构性:0.2*编码语句的最大嵌套层次+0.2*修改全局数据+0.2*使用Goto语句+0.2*数据习惯用法+0.2*无条件循环语句所占比例

    • 简洁性:0.4*实体的习惯用法+0.4*局部调用+0.2*被调用

    • 自描述性:0.2*B_comment + 0.3*全部注释行所占的比例 + 0.5*注释实体所占比例

    • 可移植性:0.5 * 独立性 + 0.5 * 完整性

    • 独立性:0.5 * 异常比例 +0.5 * 用户定义类型

    • 完整性:(if语句 + case语句 + 初始化对象)/ 3

    • 可靠性:0.33*完整性+0.33*模块性+0.34*可测试性

    • 模块性:0.5 * 编码行数 + 0.5 * 结构性



 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
软件测试X模型是一种结合了传统瀑布模型和敏捷开发模型软件测试流程模型。它将软件开发和测试分为两个轴线,分别为“验证”和“验证正确性”。其中,左半部分为传统的瀑布模型,右半部分为敏捷开发模型。下面是一些与软件测试X模型相关的名词解释: 1. 需求分析:在软件测试X模型中,需求分析是软件测试的第一步,它旨在明确软件测试的目标和范围。 2. 需求验证:需求验证是指在需求分析阶段,对需求进行检查和确认,以保证需求的正确性和完整性。 3. 设计:在软件测试X模型中,设计阶段是指根据需求分析阶段的结果,进行测试用例设计和测试策略制定的过程。 4. 构建:构建阶段是指根据测试设计阶段的结果,进行测试用例实现和自动化脚本编写的过程。 5. 集成测试:在软件测试X模型中,集成测试是指将不同的模块、子系统或者组件进行集成测试,以验证它们之间的交互是否符合要求。 6. 系统测试:系统测试是指在软件开发完成后,进行全面测试以保证软件系统的质量和可靠性。 7. 验收测试:验收测试是指在软件开发完成后,由用户对软件进行全面测试以确认软件是否符合用户需求和期望。 8. 自动化测试:自动化测试是指使用自动化工具进行测试,以提高测试效率和降低人力成本。 9. 性能测试:性能测试是指对软件系统进行压力测试,以验证其在不同负载下的性能表现和稳定性。 10. 安全测试:安全测试是指对软件系统进行安全性检测,以保证其对恶意攻击和数据泄露等安全威胁具有充分的保护能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值