软件测试的原理与方法.ppt_第1页
软件测试的原理与方法.ppt_第2页
软件测试的原理与方法.ppt_第3页
软件测试的原理与方法.ppt_第4页
软件测试的原理与方法.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试理论,第一讲,软件测试的必要性 为什么要进行软件测试 什么是软件测试 软件测试和软件开发的关系 测试驱动开发的思想,本章内容,软件缺陷带来的悲剧 千年虫(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)等,常用的过程模型,瀑布过程模型反映了人们早期对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。 瀑布过程模型强调阶段的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式,瀑布式过程模型,瀑布式,螺旋过程模型的基本思路是,依据前一个版本的结果构造新的版本,这个不断重复迭代的过程形成了一个螺旋上升的路径,螺旋过程模型,螺旋过程模型,现在还有一种全新的软件开发模式以测试驱动软件开发思想 软件测试是贯穿于软件开发过程的。软件生存周期的各个阶段中都少不了相应的测试,软件生存周期各个阶段的测试分别对应于软件测试过程中的单元测试、集成测试、系统测试和确认测试,如下图所示。这种对应关系有利于软件开发过程的管理和软件质量的控制。,测试驱动开发思想,软件测试与软件开发的关系,软件开发对应的测试过程,规格定义,设计,编码,系统测试,集成测试,单元测试,用户需求,验收测试,回 归 测 试,配置管理,缺陷跟踪,单元测试:Unit Testing 目标: 检验程序最小单元有无错误 接口、数据结构、边界、覆盖、逻辑 检验单元编码与设计是否吻合 时机: 编码完成后,首先要实施的测试 方法: 静态测试 白盒测试 责任: 开发工程师,单元测试,集成测试:Integration Testing 目标: 检验组成系统的模块接口有无错误 代码实现的系统设计与需求定义是否吻合 时机: 主要的单元测试完成后,经常与单元测试同步进行 方法: 黑盒测试 责任: 开发工程师 测试工程师,测试过程-集成测试,系统测试:System Testing 目标: 检验组成整个系统的代码、以及系统的软硬件配合有无错误 代码实现的系统与用户需求是否吻合 检验系统的文档等各种是否完整、有效 模拟验收测试的要求,检查系统是否符合用户的验收标准 时机: 多数集成测试完成后 方法: 黑盒测试 责任: 测试工程师,测试过程-系统测试,系统测试:System Testing 稳定期测试 目标: 度量是否可以结束测试 时机: 传统的系统测试完成后 方法: 黑盒测试 责任: 测试工程师,测试过程-稳定期测试,验收测试:Acceptance Testing 目标: 使客户验收签字 系统是否符合事先约定的验收标准 时机: 系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用 方法: 黑盒测试 责任: 产品经理或其他高级经理 开发工程师 测试工程师 用户,测试过程-验收测试,回归测试:Regression Testing 目标: 验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。 时机: 每次错误修改之后,或者版本更新之后 方法: 白盒测试/黑盒测试 责任: 开发工程师 测试工程师,测试过程-回归测试,缺陷跟踪:Defect Tracing 目标: 确保所有发现的错误被正确记录、分发、评估、关闭、统计 时机:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论