软件工程与软件测试.ppt
《软件工程与软件测试.ppt》由会员分享,可在线阅读,更多相关《软件工程与软件测试.ppt(51页珍藏版)》请在课桌文档上搜索。
1、软件测试技术,1.2 软件缺陷与软件故障,指存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。导致软件在某个特定条件下出现故障,这时称软件缺陷被激活。,指软件运行过程中出现的一种不希望或不可接受的内部状态。此时若无适当措施(容错)加以及时处理,便产生软件失效。,指在软件生命周期内的不希望或不可接受的人为错误,其结果是导致软件缺陷的产生。,指软件运行时产生的一种不希望或不可接受的外部行为结果。,1.2 软件缺陷与软件故障,软件缺陷和软件故障案例:案例1 美国迪斯尼公司的狮子王游戏软件bug 兼容性问题案例2 美国航天局火星登陆事故 系统测试 衔接问题 案例3 跨世纪“千年虫”问题
2、案例4“冲击波”计算机病毒案例5 Windows 2000 中文输入法漏洞案例6 金山词霸bug,1.2 软件缺陷与软件故障,软件产生错误的原因:(1)软件复杂性(2)交流不够、交流上有误解或者根本不进行交流(3)程序设计错误(4)需求变化(5)时间压力(6)代码文档贫乏(7)软件开发工具自身的错误,一个混沌的过程,输 入,可接受的产品,返 工,顾 客,质量?“一切取决于进度”,1.3 软件质量与质量模型,1.3 软件质量与质量模型,软件质量是软件的生命,它直接影响软件的使用与维护。那什么是软件质量?,ISO/IEC9126-1991(GB/T6260-1996)定义:软件质量是与软件产品满足
3、明确或隐含需求的能力有关的特征和特性的总和。能满足给定需求的特性具有所期望的各种属性组合的程度能满足用户综合期望的程度软件的组合特性,1.3 软件质量与质量模型,是否文档齐备?,界面是否友好?,结构是否良好?,是否符合需求?,面对众多的质量因素如何取折衷,这实际上就是区分质量因素对软件质量影响程度轻重的问题,即软件质量模型。常见的软件质量模型,1.3 软件质量与质量模型,分层模型“量化”!,Boehm质量模型和McCall质量模型,图1.4 McCall软件质量模型(1979),图1.5所示为ISO/IEC 9126-1991标准规定的软件质量度量模型。它由3层组成,其中第1层称为质量特性,第
4、2层称为质量子特性,第3层称为度量。,1.3 软件质量与质量模型,图1.5 ISO软件质量评价模型(1991),用户满意度,新的ISO/IEC9126软件质量模型(2001),内部质量 在软件开发过程中 可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性外部质量 在预定的系统环境中 正确性、可用性、效率、可靠性、完整性、适应性、准确性、坚固性使用质量 从用户的观点出发 有效性、生产率、安全性、满意程度等,软件能力成熟度模型-CMM,美国卡内基-梅隆大学软件工程研究所(SEI)研制的CMM(Capability Maturity Model)是用于衡量软件过程能力的事实标准,同时也
5、是目前软件过程改进最好的参考标准。CMM 1.0于1991年制定。到2000年,CMM演化成为CMMI(Capability Maturity Model Integration)CMMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出。,成熟度的五个等级,“过程决定质量”,过程域(PA),CMM 在中国,国内通过CMM等级评估的企业(2002年统计数据)公司名称 CMM级别 通过时间 摩托罗拉 L5 2000-09 华为印度所 L4 2001-12 东大阿尔派 L3 2001-06 托普软
6、件 L3 2001-11 联想软件事业部 L3 2002-01鼎新公司 L2 1999-07 博通公司 L2 2001-04 用友软件 L2 2001-06 浪潮通软 L2 2001-11 东方通科技 L2 2001-12 新太科技 L2 2001-12 神州数码 L2 2002-01,1.4 软 件 测 试,对软件测试的误解:如果发布出去的软件有质量问题,那是软件测试人员的错。软件测试技术要求不高,至少比编程容易多了,随便找一个人就能做。有时间就多测试一些,来不及就少测试一些。软件测试是测试人员的事,与开发人员无关。设计-实现-测试,软件测试是开发后期的一个阶段。,软件产品开发完毕,再进行测
7、试的观念有悖于生命周期理论。软件产品质量问题越晚发现,修复的代价越大。,需求,设计,编程,内部测试,外部测试,发布,修正BUG的代价,对软件测试的误解:,1.4 软 件 测 试,1.4.1 软件测试的定义测试是一个程序的执行过程,其目的在于发现错误?测试是为了证明程序是没有错误的?,在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。”软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。,1.4.1 软件测试的定义,测试手段:验证(verificat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 测试
链接地址:https://www.desk33.com/p-235699.html