软件质量模型的六大特性27个子特性
一、功能性:
1、适合性:提供了相应的功能
2、准确性:正确(用户需要的)
3、互操作性:产品与产品之间交互数据的能力
4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问.......
5、功能性的依从性:国际/国家/行业/企业 标准规范一致性
二、可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力
1、成熟性:防止内部错误导致软件失效的能力
2、容错性:软件出现故障,自我处理能力
3、易恢复性:失效情况下的恢复能力
4、可靠性的依从性
三易用性:在指定使用条件下,产品被理解、学习、使用和吸引用户的能力
1、易理解性:
2、易学性:
3、易操作性:
4、吸引性:
5、易用性的依从性:
四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
1、时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)
2、资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存
3、效率依从性:
五、软件维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力
1、易分析性:分析定位问题的难易程度
2、易改变性:软件产品使指定的修改可以被实现的能力
3、稳定性:防止意外修改导致程序失效
4、易测试性:使已修改软件能被确认的能力
5、维护性的依从性
六、软件可移植性:从一种环境迁移到另一种环境的能力
1、适应性:适应不同平台
2、易安装性:被安装的能力
3、共存性:
4、易替换性
5、可移植性的依从性:
软件质量活动 SQA
SQA与测试的不同:
正规化的测试流程基于标准化的软件开发生命周期,强调书写正式的测试文档(比如测试计划、测试设计、测试用例和测试过程),以实现可重复的结构化的软件测试。测试文档应以正式的需求规格说明书为基础,模型中的测试计划是用来验证(Verification & Validation)需求的,有了测试文档,就可以执行测试用例。
之后是检查测试文档、基于文档执行测试、召开测试前和测试后的会议,以及书写测试报告等。
正规化的测试流程包含5个重要的子过程:
1、检查项目计划
2、创建测试计划
3、创建测试设计、测试用例、测试软件和测试过程
4、执行正式的测试
5、更新测试文档
类似的,QA流程模型是建立在项目早期的QA计划基础上的,像测试一样,QA也是一个贯穿整个开发生命周期的流程。
SQA计划形成后,QA要进行以下活动:
1、协调量度工作
2、协调风险管理工作
3、执行审查
4、协调文档检查会议
5、促进/协助流程改进
6、监察测试工作
SQA最主要的职能是促进和协助流程改进,收集度量数据(有些来自文档检查的结果)、确定和管理风险都能够帮助流程改进。
SQA的另一个主要职能是充当测试工作的监督者,管理人员和开发人员都不必再担心“谁来监督测试人员”,有了独立的SQA组织,测试工作就可以被客观地检查和评价。
质量管理PDCA循环 计划设计 实施执行 检查检测 纠正措施
软件度量
软件度量的概念:是指计算机软件中范围广泛的测度,包括对软件系统、构件或生命周期过程具有的某个给定属性的度的一个定量测量。
一般常用的项目度量有:
规模: 千行代码数
复杂度:有结构复杂度指标
缺陷:
工作量 :
进度 :
生产率 :生产代码行数/人*月
风险
过程能力成熟度:CMM等级
软件度量的目的:
1、提高软件生产率,缩短产品研发周期,降低研发成本、维护成本
2、提高软件产品质量,提高用户满意度
3、为组织持续改进提高量化的指标和反馈
软件度量的作用:
1、理解:就是通过度量,获得对过程、产品、资源等的理解,确定以后预测的基线和模型。对于不同的软件组织和软件类型,过程模型都不一样。这是评估、预测、改进活动的基础
2、预测:根据所理解确定的模型,由已知的要素推算、估计其它要素,以便合理分配资源、合理制定计划
3、评估:分析活动与计划的符合度,确定是否有偏差,以便控制其执行
4、改进:就是根据得到的量化信息,可以帮助我们识别障碍物、查找问题的根源,以及能提高产品质量和过程效率的其它方法
软件质量的过程:
识别目标;定义度量过程; 搜集数据; 数据分析与反馈; 过程改进5个步骤+PDCA循环
软件度量分类:
1、规模:软件产品的大小;SRS HLD LLD文档页数 代码量 UT IT ST用例数
2、工作量: 完成各软件工作产品和活动所用人时或人天等 SRS HLD LLD所用人时........
3、进度:各软件工作产品和活动开始和结束的时间 SRS HLD LLD开始、结束时间.........
4、质量-缺陷:各软件工作产品和活动中产生的缺陷数 SRS HLD LLD评审发现缺陷.......
其它度量指标:
缺陷密度:
生产率:SRS HLD LLD阶段文档生产率:页/人天 编码生产率 KLOC/人天 用例/人天
测试执行效率:执行用例数/人天
用例密度:用例数/KLOC