软件测试的原理与方法.ppt

上传人:牧羊曲112 文档编号:6028004 上传时间:2023-09-16 格式:PPT 页数:29 大小:263.13KB
返回 下载 相关 举报
软件测试的原理与方法.ppt_第1页
第1页 / 共29页
软件测试的原理与方法.ppt_第2页
第2页 / 共29页
软件测试的原理与方法.ppt_第3页
第3页 / 共29页
软件测试的原理与方法.ppt_第4页
第4页 / 共29页
软件测试的原理与方法.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《软件测试的原理与方法.ppt》由会员分享,可在线阅读,更多相关《软件测试的原理与方法.ppt(29页珍藏版)》请在三一办公上搜索。

1、软件测试理论,第一讲,软件测试的必要性为什么要进行软件测试什么是软件测试软件测试和软件开发的关系测试驱动开发的思想,本章内容,软件缺陷带来的悲剧千年虫(Y2K)问题奔腾芯片缺陷火星登陆事故爱国者导弹防御系统,软件测试的必要性,在上个世纪70年代,程序员为了节约非常宝贵的内存资源和硬盘空间,在存储日期时,只保留年份的后两位,如“1980”被存为“80”。当2000年到来的时候,问题就会出现,比如银行存款程序在计算利息时,应该用现在的日期“2000年1月1日”减去当时存款的日期,比如“1989年1月1日”,结果应该是21年,如果利息是3%,银行要付给顾客每100元,大约86元利息。如果程序没有纠正

2、年份只存储两位的问题,其存款年数就变为-89年,变成顾客反要付银行1288元的巨额利息。就是为了这样一个简单的设计缺陷,全世界付出几十亿美元。,千年虫(Y2K)问题,(4195835/3145727)*3145727 4195835 0$450 million 4.5亿美元损失.,奔腾芯片缺陷,火星登陆事故爱国者导弹拦截系统事故迪士尼的圣诞节礼物,其他一些事故,没有足够测试 缺乏测试平台 不正确的测试环境 缺少集成测试 缺少性能测试 缺少强度测试 缺少可靠性测试,问题在哪里,软件测试不仅成为软件开发的一个有机组成部分,而且在软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资

3、金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五,编程占百分之七,测试占百分之十五,投产和维护占百分之六七十。测试在。软件开发中的地位不言而喻。,软件测试的重要性,“程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。,什么是软件测试,软件产品的组成软件项目组结构软件开发模型软件开发模型与软件测试关系,软件测试和软件开发的关系,软件产品需要各种开发

4、投入客户需求产品说明设计文档测试文档开发进度软件产品的其他组成部分,软件产品的组成,软件项目经理系统设计师程序员软件测试员/测试师技术制作、用户助手、用户培训员、手册编写和文件档案专员,软件开发项目组,软件开发过程中存在各种复杂因素,为了解决由此而带来的种种问题,软件开发者们经过多年的摸索,给出了多种实现软件工程的方式软件过程模型。,软件过程模型,大爆炸式开发模式(SKIP)边写边改模式(SKIP)瀑布过程模型螺旋过程模型增量过程模型极限编程(XP)(SKIP)等,常用的过程模型,瀑布过程模型反映了人们早期对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。瀑布过程模型强调阶段的划分及其顺

5、序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式,瀑布式过程模型,瀑布式,螺旋过程模型的基本思路是,依据前一个版本的结果构造新的版本,这个不断重复迭代的过程形成了一个螺旋上升的路径,螺旋过程模型,螺旋过程模型,现在还有一种全新的软件开发模式以测试驱动软件开发思想 软件测试是贯穿于软件开发过程的。软件生存周期的各个阶段中都少不了相应的测试,软件生存周期各个阶段的测试分别对应于软件测试过程中的单元测试、集成测试、系统测试和确认测试,如下图所示。这种对应关系有利于软件开发过程的管理和软件质量的控制。,测试驱动开发思想,软件测试与软件开发的关系,软件开发对应的测试过

6、程,规格定义,设计,编码,系统测试,集成测试,单元测试,用户需求,验收测试,回归测试,配置管理,缺陷跟踪,单元测试:Unit Testing目标:检验程序最小单元有无错误接口、数据结构、边界、覆盖、逻辑检验单元编码与设计是否吻合时机:编码完成后,首先要实施的测试方法:静态测试白盒测试责任:开发工程师,单元测试,集成测试:Integration Testing目标:检验组成系统的模块接口有无错误代码实现的系统设计与需求定义是否吻合时机:主要的单元测试完成后,经常与单元测试同步进行方法:黑盒测试责任:开发工程师测试工程师,测试过程-集成测试,系统测试:System Testing目标:检验组成整个

7、系统的代码、以及系统的软硬件配合有无错误代码实现的系统与用户需求是否吻合检验系统的文档等各种是否完整、有效模拟验收测试的要求,检查系统是否符合用户的验收标准时机:多数集成测试完成后方法:黑盒测试责任:测试工程师,测试过程-系统测试,系统测试:System Testing稳定期测试目标:度量是否可以结束测试时机:传统的系统测试完成后方法:黑盒测试责任:测试工程师,测试过程-稳定期测试,验收测试:Acceptance Testing目标:使客户验收签字系统是否符合事先约定的验收标准时机:系统测试完成后,在项目组看来开发和测试工作已经全部完成,可以交付使用方法:黑盒测试责任:产品经理或其他高级经理开

8、发工程师测试工程师用户,测试过程-验收测试,回归测试:Regression Testing目标:验证程序修改或者版本更新以后,以前正确的功能和其他指标仍旧正确。时机:每次错误修改之后,或者版本更新之后方法:白盒测试/黑盒测试责任:开发工程师测试工程师,测试过程-回归测试,缺陷跟踪:Defect Tracing目标:确保所有发现的错误被正确记录、分发、评估、关闭、统计时机:从错误发现开始到错误关闭为止,每次错误状态修改之后方法:缺陷跟踪系统责任:开发工程师测试工程师测试经理用户,测试过程-缺陷跟踪,软件测试的必要性为什么要进行软件测试什么是软件测试软件测试和软件开发的关系测试驱动开发的思想,回顾,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号