ISO/IEC9126软件质量模型是一种评价软件质量的通用模型,包括3个层次:
1、质量特性
2、质量子特性
3、度量指标
其中各六个质量特性与二十七个质量子特性的关系如下表:
适合性:软件产品为指定的任务和用户目标提供一组合适功能的能力。(1、软件提供了用户所需要的功能 2、软件提供的功能是用户所需要的)
准确性:软件提供给用户功能的精确度是否符合目标。(例如:运算结果的准确,数字发生偏差,多个0或少个0)
互操作性:软件与其它系统进行交互的能力。(例如:PC机中WORD和打印机完成打印互通;接口调用)
保密安全性:软件保护信息和数据的安全能力。(主要是权限和密码)
功能性的依从性:遵循相关标准(国际标准、国内标准、行业标准、企业内部规范)
成熟性:软件产品为避免软件内部的错误扩散而导至系统失效的能力(主要是对内错误的隔离)
容错性:软件防止外部接口错误扩散而导致系统失效的能力(主要是对外错误的隔离)
易恢复性:系统失效后,重新恢复原有的功能和性能的能力。
可靠性的依从性:遵循相关标准。
易理解性:软件交互给用户的信息时,要清晰,准确,且要易懂,使用户能够快速理解软件。
易学性:软件使用户能学习其应用的能力。
易操作性:软件产品使用户能易于操作和控制它的能力。
易用性的依从性:遵循一定的标准。
时间特性:软件处理特定的业务请求所需要的响应时间。
资源利用性:软件处理特定的业务请求所消耗的系统资源。
效率依从性:遵循一定的标准。
易改变性:软件产品使得指定的修改容易实现的能力。(降低修复问题的成本)
稳定性:软件产品避免由于软件修改而造成意外结果的能力。
易测试性:软件提供辅助性手段帮助测试人员实现其测试意图。
维护性的依从性:遵循相关标准。
适应性:软件产品无需作相应变动就能适应不同环境的能力。
易安装性:尽可能少的提供选择,方便用户直接安装。
共存性:软件产品在公共环境中与其它软件分享公共资源共存的软件。
易替换性:软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
可移植性的依从性:遵循相关的标准。
按照ISO 9126的定义,软件的质量通常可以从以下六个方面去衡量(定义)
1.功用性(Functionality),即软件是否满足了客户功能需求;
2.可靠性(Reliability),即软件是否能够一直在稳定的状态上满足可用性;
3.可用性(Usability),即衡量用户能够使用软件需要多大的努力;
4.效率(Efficiency),即衡量软件正常运行需要耗费多少物理资源;
5.可维护性(Maintainability),即衡量对已经完成的软件进行调整需要多大的努力;
6.可移值性(Portability),即衡量软件是否能够方便地部署到不同的运行环境中。
1,确定质量方针
2,确定质量目标
3,编制程序文件
4,编制管理办法
5,编制表单
6,体系运行控制
7,定期审核(内部审核、外部审核、文件审核、管理审核)
8,年度改进提案(各部门提交)
9,持续改善(不断循环)
软件质量保证SQA(Software Quality Assurance)活动是通过对软件产品有计划的进行评审和审计来验证软件是否合乎标准的系统工程,通过协调,审查和跟踪以获取有用信息,形成分析结果以指导软件过程。
对软件工程各个阶段的进展,完成质量及出现的问题进行评审,跟踪
审查和验证软件产品是否遵守适用的标准,规程和要求,并最终确保符合标准,满足要求。
建立软件质量要素的度量机制,了解各种指标的量化信息,向管理者提供可视信息
系统软件
应用软件
web应用软件
工程和科学软件
嵌入式软件
产品线软件
人工智能软件
1,以检测为重:产品制成之后进行检测,只能判断产品质量,不能提高产品质量
2,以过程管理为重:把质量的保证工作重点放在过程管理上,对制造过程中的每一道工序都要进行质量控制
3,以新产品开发为重:在新产品的开发设计阶段,采取强有力的措施来消灭由于设计原因而产生的质量隐患
SQA是管理工作,审查对象是流程,强调以预防为主
测试是技术工作,测试对象是产品,主要是以事后检查
SQA指导测试,监控测试
测试为SQA提供依据
软件可靠性评估(Software Reliability Assessment)指根据软件系统可靠性结构(单元与系统间可靠性关系),寿命类型和各单元的可靠性试验信息,利用概率统计方法,评估出系统的可靠性特征量。
1)规定的时间
2)规定的环境条件
3)规定的功能
软件可靠性模型(Software reliability model)是指为预计或估算软件的可靠性所建立的可靠性结构和数学模型。建立可靠性模型是为了将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计,分配,估算和评价复杂系统的可靠性。
1)可靠性结构模型,是依据系统结构逻辑关系,对系统的可靠性特征及其发展变化规律做出可靠性评价。
2)可靠性预计模型,是用于描述软件失效与软件缺陷的关系,借助这类模型,可以对软件的可靠性特征做出定量的预计与评估。依据软件缺陷与运行剖面数据,利用统计学原理建立二者之间的数学关系,获取开发过程中可靠性变化,软件在预定工作时间的可靠度,软件在任意时刻发生的失效数的平均值以及软件在规定时间间隔内发生失效次数的平均值。
失效间隔时间数据,记录本次失效与上一次失效间的间隔时间;
分组时间内的累积失效数,记录某个区间内的累积失效数。
1,测试时间
2,含有测试用例的测试计划或测试说明
3,所有与测试有关的测试结果,包括所有测试时发生的故障
4,参与测试的个人身份
可靠性评估报告