- 1、本文档共79页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 1 章 软件测试概述 罗 东 俊 ZSUJONE@126.COM 主要内容 1.1 软件危机 1.2 软件质量与可靠性 1.3 软件测试的基本知识 1.4 软件测试职业 1.1 软件危机 20世纪60年代,面对愈来愈复杂的大型软件系统开发,出现了软件危机。主要表现在以下几个方面: 软件项目无法按期完成,超出经费预算,软件质量难以控制; 开发人员和开发过程之间管理不规范,约定不严密,文档书写不完整,使得软件维护费用高,某些系统甚至无法进行修改; 缺乏严密有效的质量检测手段,交付给用户的软件质量差,在运行中出现许多问题,甚至带来严重的后果; 系统更新换代难度大。 著名案例 IBM公司在1963年到1966年开发的IBM 360操作系统。 这一项目在开发期中每年花费5000万美元,参加工作最多时有1000人,总共写出了一百万行源程序。 该项目最后没有拿到开发成果。 项目负责人Brooks事后总结了他在开发过程中的沉痛教训,写成了《人月神话》一书。 软件危机内在的原因 在软件开发过程中,软件缺陷的积累和放大效应是导致软件危机的主要原因。 人员和其他资源的投入导致开发成本急剧增加,带有缺陷的开发成果导致开发质量大幅下降,反复无常的修改导致开发效率严重低下。 因此,迫切地需要规范化的过程来制约软件开发的无序性,便产生了软件工程。 软件工程和软件危机的解决 软件工程的任务:通过提供规范化的分析设计方法及工具软件,来避免或者减少软件错误的发生,为最终根除软件危机提供强有力的技术保障。 软件工程中的软件含义:是程序以及开发、使用和维护程序所需的所有文档。 软件工程学:涉及到与生产软件相关的所有活动,包括计算机科学、管理学、经济学、心理学等,其研究的主要内容是:如何应用科学的理论和工程上的技术来指导软件的开发,从而达到较少的投资获得高质量软件的最终目标。 软件工程各个阶段的基本情况 1.2 软件质量与可靠性 软件质量主要表现为三个方面: 第一,软件需求是衡量软件质量的基础,符合用户需求的软件才是高质量的软件; 其次,软件开发必须遵循规定的标准; 第三,软件应该满足那些隐含的要求,否则软件产品的质量仍然是有问题的。 软件的质量因素 软件的质量因素分为三类: (1)软件的运行特性 (2)软件的修正特性 (3)软件的转移特性 软件的运行特性 正确性: 软件能满足其规格说明及完成客户提出任务要求的程度。 可靠性: 该软件能够总是精确地工作吗? 有效性: 该软件是否能在计算机上有效地运行,内存、外设容量是否够用? 完整性: 控制未经允许人员使用软件或数据的能力。 可用性: 此软件容易掌握吗? 软件的修正特性 可维护性: 找到软件错误发生的位置并加以修正所花费工作量的大小。 灵活性: 可以修改,容易修改吗? 可测试性: 可以测试,容易测试吗? 软件的转移特性 可移植性: 可以在别的机器上使用这个软件吗? 可复用性: 它能重复使用吗? 共运行性: 可以把这个软件与别的软件对接吗?要能做到这样得花多少工作量? 质量特性 质量因素往往难于,甚至不可能直接度量,因此必须进一步将质量因素分解成一些独立的、容易度量的质量特性(Quality Characteristics)。 质量特性为质量提供了更完全、更具体的定义,有助于说明各质量因素相互之间的关系,准确地决定质量因素的范围,方便质量检查和质量的定量观测。 常见质量特性:软件可靠性、软件错误数 软件可靠性 IEEE对软件可靠性的定义:系统在特定环境下,在给定的时间内无故障运行的概率。 软件可靠性是对软件在设计、开发以及所预定的环境下具有能力的置信度的一个度量,是衡量软件质量的主要参数之一。 软件可靠性主要关注软件是否可以稳定地工作,可靠性差意味着软件在执行时总是频繁地、重复地失败,软件不能稳定工作。 软件可靠性可以用工作历史数据和开发数据来测量、标示和估算出来。 软件错误 软件错误(Error)或软件缺陷(Fault)是指软件没有实现其最终用户合理预期的功能要求。 软件错误除了包括程序编写中的错误,例如,数组越界、变址或移位差1、用错特征位、补码运算错、使用指针的问题、控制转移的问题以及间接寻址出错的问题等,还包括了很多类型的错误。 软件错误分类 软件缺陷(Fault)的规则定义 (1)软件未达到产品说明书中已经标明的功能; 如:某计算器按下“+”键时什么反应也没有或得到了错误的答案 (2)软件出现了产品说明书中指明不会出现的错误; 如:某计算器连续敲击键盘使得计算器不能接受输入 (3)软件未达到产品说明书中虽未指出但应当达到的目标; 如:某计算器电池没电或者电量不足会导致计算不正确 (4)软件功能超出了产品说明书中指明的范围; 如:某计算器除了加减乘除外,还可以求
文档评论(0)