- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
验收测试:Acceptance Testing 目标: 使客户验收签字 系统是否符合事先约定的验收标准 时机: 系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用 方法: 黑盒测试 责任: 产品经理或其他高级经理 开发工程师 测试工程师 用户 测试过程-验收测试 回归测试:Regression Testing 目标: 验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。 时机: 每次错误修改之后,或者版本更新之后 方法: 白盒测试/黑盒测试 责任: 开发工程师 测试工程师 测试过程-回归测试 缺陷跟踪:Defect Tracing 目标: 确保所有发现的错误被正确记录、分发、评估、关闭、统计 时机: 从错误发现开始到错误关闭为止,每次错误状态修改之后 方法: 缺陷跟踪系统 责任: 开发工程师 测试工程师 测试经理 用户 测试过程-缺陷跟踪 软件测试的必要性 为什么要进行软件测试 什么是软件测试 软件测试和软件开发的关系 测试驱动开发的思想 回顾 软件测试理论 第一讲 软件测试的必要性 为什么要进行软件测试 什么是软件测试 软件测试和软件开发的关系 测试驱动开发的思想 本章内容 软件缺陷带来的悲剧 千年虫(Y2K)问题 奔腾芯片缺陷 火星登陆事故 爱国者导弹防御系统 软件测试的必要性 在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日” ,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。 就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。 千年虫(Y2K)问题 (4195835 / 3145727) * 3145727 – 4195835 ? 0 $450 million – 4.5亿美元损失. 奔腾芯片缺陷 火星登陆事故 爱国者导弹拦截系统事故 迪士尼的圣诞节礼物 其他一些事故 没有足够测试 缺乏测试平台 不正确的测试环境 缺少集成测试 缺少性能测试 缺少强度测试 缺少可靠性测试 问题在哪里 软件测试不仅成为软件开发的一个有机组成部分,而且在软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五,编程占百分之七,测试占百分之十五,投产和维护占百分之六七十。测试在。软件开发中的地位不言而喻。 软件测试的重要性 “程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。 什么是软件测试 软件产品的组成 软件项目组结构 软件开发模型 软件开发模型与软件测试关系 软件测试和软件开发的关系 软件产品需要各种开发投入 客户需求 产品说明 设计文档 测试文档 开发进度 软件产品的其他组成部分 软件产品的组成 软件项目经理 系统设计师 程序员 软件测试员/测试师 技术制作、用户助手、用户培训员、手册编写和文件档案专员 软件开发项目组 软件开发过程中存在各种复杂因素,为了解决由此而带来的种种问题,软件开发者们经过多年的摸索,给出了多种实现软件工程的方式——软件过程模型。 软件过程模型 大爆炸式开发模式(SKIP) 边写边改模式(SKIP) 瀑布过程模型 螺旋过程模型 增量过程模型 极限编程(XP) (SKIP)等 常用的过程模型 瀑布过程模型反映了人们早期对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。 瀑布过程模型强调阶段的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式 瀑布式过程模型 瀑布式 螺旋过程模型的基本思路是,依据前一个版本的结果构造新的版本,这个不断重复迭代的过程形成了一个螺旋上升的路径 螺旋过程模型 螺旋过程模型 现在还有一种全新的软件开发模式——以测试驱动软件开发思想 软件测试是贯穿于软件开发过程的。软件生存周期的各个阶段中都少不了相应的测试,软件生存周期各个阶段的测试分别对应于软件测试过程中的单元测试、集成测试、系统测试和确认测试,如下图所示。这种对应关系有利于软件开发过程的管理和软件质量的控制。 测试驱动开发思想
文档评论(0)