《软件质量模型ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件质量模型ppt课件.ppt(37页珍藏版)》请在三一办公上搜索。
1、软件质量模型,外部和内部质量,功能性,可靠性,易用性,效率,维护性,可移植性,适合性准确性互操作性保密安全性功能性的依从性,成熟性容错性易恢复性可靠性的依从性,易理解性易学性易操作性吸引性易用性的依从性,时间特性资源利用性效率依从性,易分析性易改变性稳定性易测试性维护性的依从性,适应性易安装性共存性易替换性可移植性的依从性,软件质量模型,一、软件的功能性1、适用性: 所提供的功能是用户所需要的, 用户所需要的功能软件系统已提供。2、准确性: 软件系统提供给用户的功能是否满足用户对该功能的精确度要求。3、互操作性: 软件系统和一个或多个周边系统进行信息交互的能力。例如:,word,打印机,打印请
2、求,打印响应,不同型号的打印机与word之间的协议可能不一致,导致消息传递过程中发生错误。应该将被测软件系统和周边系统的各种主流型号进行互操作性测试。,4、保密安全性:软件系统保护信息和数据的能力。、防止未得到授权的人或系统访问相关的信息或数据、保证得到授权的人或系统能正常访问相关的信息或数据。不同的系统对于安全性的需求差别很大常见的安全性测试:用户验证:登录密码验证、IP地址访问限制等用户权限管理:验证低级别用户是否具有了高级别用户的权限,各级别用户权限都得到了实现。系统数据的保护:对例如系统文件、用户密码文件等进行隐藏、密码验证、内容加密、备份。,防DoS攻击DoS (Denial of
3、Service)攻击:拒绝服务攻击。例如:,PC1,PC2,路由器,耗光资源,申请IP,申请IP,Step1:非法用户使用非法手段(如自动化申请脚本死循环),Step2:合法用户,无资源,IP地址资源池,Browser,Server,DB,非法用户(While语句死循环),查询请求,合法用户,请求无法响应,解决办法:限制请求次数,分析系统业务处理中哪些是消耗大量资源、哪些是响应时间非常长的,针对这类业务有目的地去验证系统是否有防DoS攻击防范手段。,防溢出攻击例如:溢出攻击正常输入:IE:http:/ 没有长度验证加密、解密:在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去
4、,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。防病毒5、功能性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,二、软件可靠性1、成熟性 软件系统防止内部错误扩散而导致失效的能力。 子系统、模块、单元模块的设计人员应该仔细分析和自身有接口关系的子系统、模块、单元模块,识别出这些接口上可能会传递过来的错误,然后在自己子系统、模块、单元模块内部对这些可能的错误预先进行防范,规避这些错误传递到自身而引起自身的失效。,2、容错性 软件系统防止外部接口错误扩散而导致系统失效的能力。 设计人员应该充分分析外部
5、接口可能产生的错误,然后在设计上对这些错误一一予以防范,防止这些外部传入的错误波及自身而失效。3、易恢复性 系统失效后重新恢复原有功能、性能的能力 原有能力恢复的程度 原有能力恢复的速度,例如,交换板1,交换板2,主,备,交换板1,交换板2,主,备,向外部屏蔽内部故障,提高用户满意度,开发人员进行设计时应该充分分析架构中哪个组件风险最集中最高,那么应该对这类核心组件采用主备倒换等易恢复机制。,心跳监听消息,心跳监听消息,当交换板1出现故障、立即将交换板2作为主交换板,4、可靠性依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,三、软件易用性1
6、、易理解性 用户在使用软件系统的过程中,系统交互给用户的信息是否准确、清晰、易懂,能帮助用户准确理解系统当前真实的状态,指导其进一步的操作。 例如:,Client,Server,GUI界面(NAME,PWD=8),当输入password9时,提示“系统出错”太笼统,不能反映系统的真实状态。,站在用户的角度,关注系统返回给用户的每一个信息,不要只关注功能的实现。,2、易学性 软件系统提供相关的辅助手段,帮助用户学习使用它的能力。例如:是否有用户手册,用户手册是否有中文版,是否有在线帮助,界面上控件是否有回显功能等。3、易操作性例如:Nokia手机和Moto手机在编辑短消息时的方便性差异。GUI界
7、面,菜单层次不要太深安装软件的过程 错误:给用户大量的安装步骤,每步又有大量分支选项(把用户当成本软件的专家) 测试时应该以非专业的角度来测试过程,往往需要、测试。,4、吸引性 美观:GUI界面、手机外观等 新颖:如夏新手机来电跳舞功能5、易用性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,四、软件效率(性能测试)1、时间效率 系统在各业务场景下完成用户指定的业务请求所需的响应时间。2、资源效率 系统在各业务场景下完成用户指定的业务请求所消耗的系统资源,如CPU占有率、内存占有率、通信带宽占有率、软件内部消息包资源占有率等。3、效率依从
8、性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,性能测试场景设计:单用户单业务测试注册响应时间消耗资源登录响应时间消耗资源多用户单业务测试50个用户同时注册请求响应时间消耗资源100个用户同时注册请求响应时间消耗资源150个用户同时注册请求响应时间消耗资源200个用户同时注册请求响应时间消耗资源1000个用户同时注册请求响应时间消耗资源,多用户多业务测试业务模型1 业务模型2 注册 200登录 200浏览 400上传文件 100下载文件 100,响应时间,负载量,找出曲线拐点位置,分析性能瓶颈,调整优化,注册业务 性能指标曲线变化,根据不同的时
9、间、环境构造各种不同的业务模型,调整其中的分布,找出性能指标分布规律,找出业务瓶颈,五、软件可维护性1、易分析性 软件系统提供辅助手段帮助开发人员分析识别缺陷、失效产生的原因,找出待修复部分的能力。(降低缺陷定位的成本)2、易改变性 对软件缺陷的修复容易被实施(降低修复缺陷成本) 设计上封装性好、高内聚(同层次设计时,一个实体只完成一个功能)、低耦合,为未来可能的变化留有扩充余地。3、稳定性例如:代码中的有物理含义的数字,一定用宏代替。,4、易测试性(降低发现缺陷的成本)软件可控制: 软件系统提供辅助手段帮助测试工程师控制该系统的运行,实现其测试执行步骤的能力(通过打点、改变内部状态、值等手段
10、)可观察: 软件系统提供辅助手段帮助测试工程师获得充分的系统运行信息,以正确判断系统运行状态和测试执行结果的力。 a、设计单独的测试模式 b、提供单独的测试版本 测试部(一般指测试系统工程师)应该在需求分析阶段就提出可测试性需求,可测试性需求和软件产品其他需求一起纳入需求包被分析设计并实现。5、维护性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,六、软件可移植性1、适应性 软件系统无需做任何相应变动就能适应不同运行环境(操作系统平台、数据库平台、硬件平台等)的能力。 解决平台无关、可移植性问题的一个常用思路是构造出一个虚拟层,虚拟层将下
11、层细节屏蔽,对上层提供统一口。2、易安装性主流平台 全部测试用例非主流平台 10%测试用例3、共存性 软件系统和在公共环境与其共享资源的其他系统共存的能力。 测试不仅需要关注自身特性的实现,还要关注本软件是否影响了其他软件的正常功能。,4、易替换性 软件系统升级能力(在线升级、打补丁升级等)5、可移植性的依从性 遵循相关的标准(国际标准、国家标准、行业标准、企业内部规范等)约定或法规以及类似规定的能力。,软件质量活动,软件质量活动,软件组织主要软件质量活动软件质量保证(SQA)测试,SQA和测试的关系,软件质量由组织、流程和技术三方面决定SQA从流程方面保证软件的质量测试从技术方面保证软件质量
12、只进行SQA活动或只进行测试活动不一定能产生好的软件质量,SQA的主要工作范围,指导并监督项目按照过程实施;对项目进行度量、分析,增加项目的可视性;审核工作产品,评价工作产品和过程质量目标的符合度;进行缺陷分析,缺陷预防活动,发现过程的缺陷,提供决策参考,促进过程改进,质量管理PDCA循环,纠正措施,检查检测,计划设计,实施执行,Plan计划,Do执行,Check检查,Act改进,软件度量的概念和目的,概念 - 度量:对事物属性的量化表示 - 软件度量:是指计算机软件中范围广泛的测度,包括对软件系统、构 件或生命周期过程具有的某个给定属性的度的一个定量测量目的 - 提高软件生产率,缩短产品研发
13、周期,降低研发成本、维护成本 - 提高软件产品质量,提高用户满意度 - 为组织持续改进提供量化的指标和反馈,软件度量的作用,理解:就是通过度量,获得对过程、产品、资源等的理解,确定以后 预测的基线和模型。对于不同的软件组织和软件类型,过程模型都不 一样。这是评估、预测、改进活动的基础预测:根据所理解确定的模型,由已知的要素推算、估计其它要素, 以便合理分配资源、合理制定计划评估:分析活动与计划的符合度,确定是否有偏差,以便控制其执行 - 开发活动与计划的符合度。如工作量估计偏差、进度偏差等; - 产品的质量。如软件复杂度、缺陷密度、平均失效时间间隔等; - 新技术的影响改进:根据得到的量化信息
14、,可以帮助我们识别要因、查找问题的根 源,以及能提高产品质量和过程效率的其它方法;与以前的量化信息 比较,可以验证这些方法是否有效,软件度量的过程,Act,Plan,Check,Do,PDCA循环,软件度量的分类,四个基本度量项规模(size) 软件工作产品的大小工作量(effort) 完成各软件工作产品和活动所用人时(或人天等)进度(schedule) 各软件工作产品和活动开始和结束的时间质量(quality)- 缺陷(defect) 在各软件工作产品和活动中产生的缺陷数,软件度量分类-规模度量,规模度量 - SRS文档页数 - HLD文档页数 - LLD文档页数 - 代码量(KLOC) -
15、 UT用例数 - IT用例数 - ST用例数 - 。,软件度量分类-工作量度量,工作量度量: - SRS所用人时数 - HLD所用人时数 - LLD所用人时数 - 编码所用人时数 - 测试(UT、IT、ST)计划所用人时数 - 测试(UT、IT、ST)方案所用人时数 - 测试(UT、IT、ST)用例所用人时数 - 测试(UT、IT、ST)执行所用人时数,软件度量分类-进度度量,进度度量: - SRS阶段开始时间、结束时间 - HLD阶段开始时间、结束时间 - LLD阶段开始时间、结束时间 - 编码阶段开始时间、结束时间 - 测试(UT、IT、ST)计划阶段开始时间、结束时间 - 测试(UT、I
16、T、ST)方案阶段开始时间、结束时间 - 测试(UT、IT、ST)用例阶段开始时间、结束时间 - 测试(UT、IT、ST)执行阶段开始时间、结束时间,软件度量分类-缺陷度量,缺陷度量: - SRS评审发现缺陷数 - HLD评审发现缺陷数 - LLD评审发现缺陷数 - 编码评审发现缺陷数 - UT发现缺陷数 - IT发现缺陷数 - ST发现缺陷数,其他度量指标,根据基本度量数据可以分析,综合得到其他度量数据或指标缺陷密度 - 研发活动发现缺陷密度 - 研发活动引入缺陷密度 - 工作产品缺陷密度生产率 - SRS、HLD、LLD阶段文档生产率:页/人天 - 编码阶段生产率:KLOC/人天 - UT
17、、IT、ST用例设计阶段生产率:用例/人天测试执行效率:执行用例数/人天用例密度:用例数/KLOC。,例子,某软件开发项目的质量目标与实际结果: 目标 实际生产率LOC/人月 200 500复用率 30% 25%系统测试时无错模块% 90 60缺陷/每页(需求评审时) 1 0缺陷/每页(概要设计评审时) 0.7 0缺陷/每千行代码 代码评审 10 0 编译 15 28,例子,目标 实际缺陷/每千行代码 单元测试 5 16 集成测试 0.5 6.2 系统测试 0.2 6.2评审(review)速率 设计行数/小时 17 30 代码行数/小时 27 131,例子,目标 实际审查(inspection)速率 需求页数/小时 1 4 概要设计页数/小时 1 5 详细设计页数/小时 9 35 代码行数/小时 82 362,