软件质量模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件质量模型
软件质量模型
外部和内部质量
功能性
可靠性
易用性
效率
维护性
可移植性
适合性
成熟性
易理解性
时间特性
易分析性
适应性
准确性
互操作性 保密安全性 功能性的 依从性
容错性
易恢复性
易学性
易操作性 吸引性
资源利用性
易改变性
稳定性 易测试性
易安装性
共存性 易替换性 可移植性 的依从性
可靠性的 依从性
易用性的 依从性
- 提高软件产品质量,提高用户满意度
- 为组织持续改进提供量化的指标和反馈
软件度量的作用
理解:就是通过度量,获得对过程、产品、资源等的理解,确定以后 预测的基线和模型。对于不同的软件组织和软件类型,过程模型都不 一样。这是评估、预测、改进活动的基础 预测:根据所理解确定的模型,由已知的要素推算、估计其它要素, 以便合理分配资源、合理制定计划
- 测试(UT、IT、ST)计划所用人时数 - 测试(UT、IT、ST)方案所用人时数 - 测试(UT、IT、ST)用例所用人时数 - 测试(UT、IT、ST)执行所用人时数
软件度量分类-进度度量
进度度量: - SRS阶段开始时间、结束时间 - HLD阶段开始时间、结束时间 - LLD阶段开始时间、结束时间 - 编码阶段开始时间、结束时间 - 测试(UT、IT、ST)计划阶段开始时间、结束时间
4、吸引性 美观:GUI界面、手机外观等 新颖:如夏新手机来电跳舞功能 5、易用性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、 企业内部规范等)约定或法规以及类似规定的能力。
四、软件效率(性能测试)
1、时间效率 系统在各业务场景下完成用户指定的业务请求所需的响 应时间。 2、资源效率 系统在各业务场景下完成用户指定的业务请求所消耗的 系统资源,如CPU占有率、内存占有率、通信带宽占有率、 软件内部消息包资源占有率等。 3、效率依从性 遵循相关的标准(国际标准、国家标准、行业标准、企 业内部规范等)约定或法规以及类似规定的能力。
评估:分析活动与计划的符合度,确定是否有偏差,以便控制其执行
- 开发活动与计划的符合度。如工作量估计偏差、进度偏差等; - 产品的质量。如软件复杂度、缺陷密度、平均失效时间间隔等;
- 新技术的影响
改进:根据得到的量化信息,可以帮助我们识别要因、查找问题的根 源,以及能提高产品质量和过程效率的其它方法;与以前的量化信息 比较,可以验证这些方法是否有效
交 换 板 当交换板1出现故障、立即 将交换板2作为主交换板

心跳 监听消息
换 板 1
监听消息
换 板 2
2 备
1



向外部屏蔽内部故障,提高用户满意度
▲开发人员进行设计时应该充分分析架构中哪个组件风险最集中最 高,那么应该对这类核心组件采用主备倒换等易恢复机制。 4、可靠性依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范 等)约定或法规以及类似规定的能力。
4、易测试性(降低发现缺陷的成本) ①软件可控制: 软件系统提供辅助手段帮助测试工程师控制该系统的运 行,实现其测试执行步骤的能力(通过打点、改变内部状 态、值等手段) ②可观察: 软件系统提供辅助手段帮助测试工程师获得充分的系统 运行信息,以正确判断系统运行状态和测试执行结果的力。 a、设计单独的测试模式 b、提供单独的测试版本 ▲测试部(一般指测试系统工程师)应该在需求分析阶 段就提出可测试性需求,可测试性需求和软件产品其他需 求一起纳入需求包被分析设计并实现。 5、维护性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、企 业内部规范等)约定或法规以及类似规定的能力。
性能测试场景设计: 单用户单业务测试 注册 响应时间 消耗资源 登录 响应时间 消耗资源 … 多用户单业务测试 50个用户同时注册请求 响应时间 消耗资源 100个用户同时注册请求 响应时间 消耗资源 150个用户同时注册请求 响应时间 消耗资源 200个用户同时注册请求 响应时间 消耗资源 … 1000个用户同时注册请求 响应时间 消耗资源 …
▲站在用户的角度,关注系统返回给用户的每一个信息,不要只关 注功能的实现。
2、易学性 软件系统提供相关的辅助手段,帮助用户学习使用它 的能力。 例如:是否有用户手册,用户手册是否有中文版,是否有在 线帮助,界面上控件是否有回显功能等。 3、易操作性 例如: ①Nokia手机和Moto手机在编辑短消息时的方便性差异。 ②GUI界面,菜单层次不要太深 ③安装软件的过程 错误:给用户大量的安装步骤,每步又有大量分支选项 (把用户当成本软件的专家) ▲测试时应该以非专业的角度来测试过程,往往需要α、 β测试。
4、易替换性 软件系统升级能力(在线升级、打补丁升级等) 5、可移植性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、 企业内部规范等)约定或法规以及类似规定的能力。
软件质量活动
软件质量活动
软件组织主要软件质量活动
软件质量保证(SQA) 测试
SQA和测试的关系
软件质量由组织、流程和技术三方面决定
五、软件可维护性
1、易分析性 软件系统提供辅助手段帮助开发人员分析识别缺陷、失 效产生的原因,找出待修复部分的能力。(降低缺陷定位的 成本) 2、易改变性 对软件缺陷的修复容易被实施(降低修复缺陷成本) ▲设计上封装性好、高内聚(同层次设计时,一个实体 只完成一个功能)、低耦合,为未来可能的变化留有扩充余 地。 3、稳定性 例如:代码中的有物理含义的数字,一定用宏代替。
参考,促进过程改进
质量管理PDCA循环
Act改进
纠正措施
计划设计
Plan计划
Check检查
检查检测
实施执行
Do执行
软件度量的概念和目的
概念 - 度量:对事物属性的量化表示 - 软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构 件或生命周期过程具有的某个给定属性的度的一个定量测量
目的 - 提高软件生产率,缩短产品研发周期,降低研发成本、维护成本
不同型号的打印机与word之间的协议可能不一致,导致消息传递过 程中发生错误。 ▲应该将被测软件系统和周边系统的各种主流型号进行互操作性测试。
4、保密安全性: 软件系统保护信息和数据的能力。 Ⅰ、防止未得到授权的人或系统访问相关的信息或数据 Ⅱ、保证得到授权的人或系统能正常访问相关的信息或数据。
不同的系统对于安全性的需求差别很大
常见的安全性测试: ⑴用户验证:登录密码验证、IP地址访问限制等 ⑵用户权限管理:验证低级别用户是否具有了高级别用户的 权限,各级别用户权限都得到了实现。 ⑶系统数据的保护:对例如系统文件、用户密码文件等进行 隐藏、密码验证、内容加密、备份。
⑷防DoS攻击 DoS (Denial of Service)攻击:拒绝服务攻击。 例如:
2、容错性 软件系统防止外部接口错误扩散而导致系统失效的能力。 ▲设计人员应该充分分析外部接口可能产生的错 误,然后在设计上对这些错误一一予以防范,防止 这些外部传入的错误波及自身而失效。
3、易恢复性 系统失效后重新恢复原有功能、性能的能力 ①原有能力恢复的程度 ②原有能力恢复的速度
例如

心跳
交 换 板
软件度量分类-规模度量
规模度量 - SRS文档页数 - HLD文档页数 - LLD文档页数 - 代码量(KLOC) - UT用例数
- IT用例数
- ST用例数 - 。。。。。。
软件度量分类-工作量度量
工作量度量: - SRS所用人时数 - HLD所用人时数 - LLD所用人时数
- 编码所用人时数
软件度量的过程
Act
Plan
Check
Do
PDCA循环
软件度量的分类
四个基本度量项 规模(size) 软件工作产品的大小 工作量(effort) 完成各软件工作产品和活动所用人时(或人天等) 进度(schedule)
各软件工作产品和活动开始和结束的时间
质量(quality)- 缺陷(defect) 在各软件工作产品和活动中产生的缺陷数
三、软件易用性
1、易理解性 用户在使用软件系统的过程中,系统交互给用户的信 息是否准确、清晰、易懂,能帮助用户准确理解系统当前真 实的状态,指导其进一步的操作。
例如:
Client
GUI界面 (NAME,PWD<=8)
Server
当输入password>9时,提示“系统出错”—>太笼统,不能反映系统的真实状态。
其他度量指标
根据基本度量数据可以分析,综合得到其他度量数据或指标 • 缺陷密度 - 研发活动发现缺陷密度 - 研发活动引入缺陷密度 - 工作产品缺陷密度
• 生产率
- SRS、HLD、LLD阶段文档生产率:页/人天 - 编码阶段生产率:KLOC/人天
效率 依从性
维护性的 依从性
一、软件的功能性
1、适用性: 所提供的功能是用户所需要的, 用户所需要的功能软件系统已提供。 2、准确性: 软件系统提供给用户的功能是否满足用户对该功能的精 确度要求。 3、互操作性: 软件系统和一个或多个周边系统进行信息交互的能力。 例如:
打印请求
word
打印响应
பைடு நூலகம்
打印机
SQA从流程方面保证软件的质量
测试从技术方面保证软件质量
只进行SQA活动或只进行测试活动不一定能产生好的软件质 量
SQA的主要工作范围
指导并监督项目按照过程实施; 对项目进行度量、分析,增加项目的可视性; 审核工作产品,评价工作产品和过程质量目标的符合度;
进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策
注册业务 性能指标曲线变化
响 应 时 间
找出曲线拐点位置,分析 性能瓶颈,调整优化
负载量
多用户多业务测试 业务模型1 注册 200 登录 200 浏览 400 上传文件 100 下载文件 100
业务模型2 …… …… …… …… ……
……
根据不同的时间、环境构造各种不同的业务模型,调整其中的分布,找出性 能指标分布规律,找出业务瓶颈
二、软件可靠性
1、成熟性 软件系统防止内部错误扩散而导致失效的能力。 ▲子系统、模块、单元模块的设计人员应该仔细分析和 自身有接口关系的子系统、模块、单元模块,识别出这些接 口上可能会传递过来的错误,然后在自己子系统、模块、单 元模块内部对这些可能的错误预先进行防范,规避这些错误 传递到自身而引起自身的失效。
- 测试(UT、IT、ST)方案阶段开始时间、结束时间
- 测试(UT、IT、ST)用例阶段开始时间、结束时间 - 测试(UT、IT、ST)执行阶段开始时间、结束时间
软件度量分类-缺陷度量
缺陷度量: - SRS评审发现缺陷数 - HLD评审发现缺陷数
- LLD评审发现缺陷数
- 编码评审发现缺陷数 - UT发现缺陷数 - IT发现缺陷数 - ST发现缺陷数
六、软件可移植性
1、适应性 软件系统无需做任何相应变动就能适应不同运行环境 (操作系统平台、数据库平台、硬件平台等)的能力。 ▲解决平台无关、可移植性问题的一个常用思路是构造出 一个虚拟层,虚拟层将下层细节屏蔽,对上层提供统一口。 2、易安装性 主流平台 全部测试用例 非主流平台 10%测试用例 3、共存性 软件系统和在公共环境与其共享资源的其他系统共存的 能力。 ▲测试不仅需要关注自身特性的实现,还要关注本软件 是否影响了其他软件的正常功能。
Step1: 非法用户使用 非法手段 (如自动化申 请脚本死循环)
申请IP
IP地址资 源池
路由器
PC1
耗光资源
申请IP
Step2: 合法用户
无资源
PC2
非法用户 (While语句死 循环)
查询请求
Browser
Server
DB
请求无法响应
合法用户
解决办法:限制请求次数
▲分析系统业务处理中哪些是消耗大量资源、哪些是 响应时间非常长的,针对这类业务有目的地去验证系统是 否有防DoS攻击防范手段。 ⑸防溢出攻击 例如:溢出攻击 正常输入:IE: http://www.baidu.com/ 异常输入:IE: http://www.baidu.com/……(恶意代码)
没有长度验证
⑹加密、解密:在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信
息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容, 从而保证信息传输的安全。
⑺防病毒 5、功能性的依从性
遵循相关的标准(国际标准、国家标准、行业标准、企业内部 规范等)约定或法规以及类似规定的能力。
相关文档
最新文档