软件工程与软件测试

上传人:宝路 文档编号:48020928 上传时间:2018-07-08 格式:PPT 页数:196 大小:15.41MB
返回 下载 相关 举报
软件工程与软件测试_第1页
第1页 / 共196页
软件工程与软件测试_第2页
第2页 / 共196页
软件工程与软件测试_第3页
第3页 / 共196页
软件工程与软件测试_第4页
第4页 / 共196页
软件工程与软件测试_第5页
第5页 / 共196页
点击查看更多>>
资源描述

《软件工程与软件测试》由会员分享,可在线阅读,更多相关《软件工程与软件测试(196页珍藏版)》请在金锄头文库上搜索。

1、软件测试方法沈阳师范大学软件学院1软件工程系 刘春 课程概述学习前的要求掌握软件工程基本概念 掌握软件开发方法和软件开发语言 了解Web程序开发沈阳师范大学软件学院2课程概述参考书目软件测试 Paul C. Jorgensen,韩柯等译,2002,机械工业出版社 软件测试方法和技术朱少民,2011,清华大学出版社 高级软件测试技术杜庆峰,2011,清华大学出版社 实用软件测试教程温艳冬,2011,清华大学出版社沈阳师范大学软件学院3课程学时分布章节内容学时分配计 讲课习题课讨论课实验(上机 )其它1第一章软件工程与软件 测试442第二章软件测试概论44 3第三章软件测试基础知 识4264第四章

2、软件的测试过程538 5第五章黑盒测试和白盒 测试4486第六章性能测试224 7第七章自动化测试技术7512 8第八章缺陷报告325 合计331851防不胜防的软件错误例1:1963年, 美国 , 飞往火星的火箭爆炸, 损失$ 10 million原因:FORTRAN循环 DO 5 I = 1,3 误写为 DO 5 I = 1.3 例2:1996年,美国,飞往哥伦比亚城市Cali的客机失事, 163人中仅4人生还原因:关于目的地坐标的、由一个字符构成的计算机命令的 错误输入,两相距132英里的城市坐标在南美航空表中代码相同例3:1996年,ESA的火箭处女航失败,升空后仅飞行40秒就偏离了其

3、预定轨道,该火箭被远程控制所毁并失去她携带 的4个卫星,损失达5亿美元5沈阳师范大学软件学院防不胜防的软件错误原因:惯性参考系方面的问题未经讨论和解决例4:1994-1995年, 迪斯尼的狮子王,第一个面向儿童的多 媒体光盘游戏,投诉电话被打爆. 原因:未对市场上的各种PC机型进行正确测试,软件在大众使用的常见系统中难以运行例5:1994年, 英特尔奔腾浮点除法软件缺陷,导致为自己 的行为道歉并花费4亿多美元更换坏芯片.原因:芯片发布前已发现问题,但管理层忽略了;软件缺陷被发现时,英特尔试图掩饰该问题的严重性;受到压力时, 英特尔承诺更换芯片但要求用户证明自己受到软件缺陷的影 响.沈阳师范大学

4、软件学院6防不胜防的软件错误例6:1999年, 美国航天局火星基地登陆飞船在试图登陆火 星表面时失踪.原因:为省钱而简化确定何时关闭推进器的装置,导致飞船着陆时误更改一个数据位,两个测试小组的独立工作做的很 好,但从未走在一起例7:1991年, 美国爱国者导弹防御系统在几次对抗导弹战 役中失利,多哈战误击毙28名美军士兵.原因:一个很小的系统时钟错误积累,可能拖延14小时并 造成跟踪系统失去准确度,多哈战中系统拖延了100多个小时沈阳师范大学软件学院7本章内容1.1 软件生存周期1.2 软件发展历史1.3 软件缺陷1.4 软件质量1.5 软件测试与软件工程沈阳师范大学软件学院8主要内容基本要求

5、 了解软件发展过程了解需要进行软件测试的原因理解软件生命周期掌握软件缺陷的概念掌握软件质量、软件质量测试相关内容 重点难点 软件缺陷重点:软件测试概念难点:软件缺陷1.1 软件开发模型软件生存周期 传统软件开发模型 软件演化模型 面向对象开发模型 形式化方法模型 实例一、 软件生存周期一个软件从开始计划起,到废弃不用止,成为软件的生存周期计划时期 开发时期 运行时期(1)问题定义(2)可行性研究(3)需求分析(4)设计 (5)实现(6)测试 (7)维护软件生存周期的阶段划分开发期计划期运行期计划期问题定义:确定系统的目标和范围 可行性研究:技术可行性、经济可行性、法律可行 性等立项建议书 项目

6、计划开发期设计:包括需求分析和软件设计需求分析:做什么(what)软件设计:怎么做(how)总体设计和详细设计两个阶段架构设计、功能设计、数据库设计、界面设计、算法设计.产品需求规格说明书 体系结构设计报告模块设计报告 数据库设计报告用户界面设计开发期实现:包括编码和测试编码:采用具体的编程语言实现设计(do)测试:验证代码的正确性(check)单元测试、集成测试、确认测试、性能测试、回归测试编程文档 测试用例 测试报告运行期维护:改正性维护、完善性维护、增强性维护、适应性维护(change)维护的副作用产品维护计划 产品维护报告重提软件开发和编程的区别二、 传统软件开发模型软件开发模型:就是

7、为整个软件生存期建立的模型。如何有效地组织生存期的各项活动 主要有:瀑布模型和快速原型模型瀑布模型问题定义问题定义可行性研究可行性研究需求分析需求分析设设 计计编编 程程测测 试试运行与维护运行与维护目标与范围说明书可行性论证报告需求说明书设计文档程序测试报告维护报告计划时期开发时期运行时期瀑布模型的特点阶段间的顺序性和依赖性各阶段依次进行前一阶段的输出是后一阶段的输入 推迟实现的观点从逻辑到物理文档的重用 质量保证的观点复审和回溯瀑布模型的缺点过度依赖系统分析员的个人能力 需求变更带来的代价过大在对软件产品的某个版本试用之前,要用户(即使有软件工程师的配合)完全、精确和正确地对一个现代软件产

8、品提出确切的需求,在实际 上是不可能的- F. Brooks快速原型模型需求分析需求分析原型开发原型开发原型评定原型评定目标系统设计目标系统设计目标系统实现目标系统实现用户意见原型:包括未来实际系统的主要功能的模型系统,通过让用户看到实际系统,从 而明确需求快速原型的注意事项原型规模要适当,不能过大也不能过小。应包括未 来系统的主要功能和重要接口 原型的搭建和修改要快速 可以方便的生成实际系统 不能陷入无休止的原型评定界面原型三、软件演化模型演化模型:一种渐进式的、迭代的软件开发模型,可以适应软件规模的不断增长,使大型复杂软件在迭 代中逐步达到完善。主要包括:增量模型和螺旋模型增量模型规格说明

9、规格说明设计设计实现和集成实现和集成交付用户交付用户构件1规格说明规格说明设计设计实现和集成实现和集成交付用户交付用户构件2规格说明规格说明设计设计实现和集成实现和集成交付用户交付用户构件3. . . . . . . . .规格说明规格说明设计设计实现和集成实现和集成交付用户交付用户构件n瀑布模型和快速原型的结合增量模型的特点先核心后细节,先易后难。可以控制风险 人员组织灵活 注意增量的划分和集成 集成有风险,特别是人员流动螺旋模型加入了风险分析。每一次迭代都要进行风险分 析,并产生原型 尽可能提前发现问题,把损失降到最低增加成本和时间 对风险评估的依赖四、 面向对象的开发模型对象:现实世界中

10、个体或事物的抽象表示,是属性 和相关操作的统一封装体 类:表示相似对象的共同特征,对象是类的实例 继承:子类与父类的关系 消息:对象间、对象和外部间相互关联的途径(方 法调用)构件集成模型引入构件库 软件的开发就是集成老构件和开发新构件的过程 软件复用:将已有的软件及其有效成分用于构造新 的软件或系统。 构件的条件:封装、重载、继承、聚合、多态五、 实例-教材购销系统需求明确,适合于瀑布模型实例-显像管生产监测系统变化较多,主次有别,适合于增量模型六、 最新的软件过程模型统一过程模型(RUP)极限编程(XP)Rational Unified ProcesseXtreme Programming

11、一系列最佳实践的集合 沟通、简单、反馈和勇气 测试驱动设计、持续重构、现场客户、结对编程、 简单设计软件工程的原则模块化和分解 细化和逐步求精 变更的预见性 通用性和复用性 递增式软件工程的原则产品质量以满足用户需求为最高准则 高生产率必须以质量合格为前提,质量第一 密切与用户的联系,尽早排除缺陷 文档描述精确、易懂,无多义性 清晰第一、效率第二1.2 软件发展历程第一阶段 计算机与编 程语言第二阶段 PC 编程语言第三阶段 PC 与单机软件第四阶段 网络发展与软件第五阶段 网络与企业应用软件第六阶段 应用软件分类第一阶段 计算机与编程语言要操作计算机,必须懂得计算机的语言最早的软件开发方法打

12、孔纸带来编写程序n圆孔,透光,则表示 1n其他表示 0n通过圆孔纸带输入到老式计 算机中,作为控制计算机的程 序键盘操作时代将英文打字机与计算机相 连,发送二进制信号,形成键 盘编程时代n输入机器操作代码,后来形 成汇编语言n直接控制计算机执行各种命 令大型计算机的出现大型计算机主要用来进行科学计 算,使用类似汇编的编程语言,如 coboln计算机出现的目的本来就是为 了计算,因此称为计算机n大型计算机专门用于科学研究 计算,必须气象、地理等,以 IBM 公司为主nPDP-11 计算机为主要先驱中型计算机中型计算机的出现,让计 算机从大型科研机构走向企业 、事业单位n帮助企业、事业单位完成数

13、据处理n帮助人们完成信息传递n出现专用编程语言,如: ada小型计算机小型计算机的出现,更加方便了企 业、事业单位的信息处理n价格低n操作简单n维护容易 涌现出一批厂商nSUNnDECn 出现更加高级的编程语言,如 CUNIX 时代C语言的时代作为开放的操作系统,彻底打破 IBM 垄断地位 让后来的中小型计算机有了统一 的操作系统平台 诞生了 C 语言 出现了终端操作方式多人共同使用一台计算机 由此出现了nSUN UNIXnDEC UNIXn当时的数据库系统从大型机的 IBM 的数据库系统到小型机的数据库系统,一直都快速发展着n DB2n ORACLEn SYBASEn INFOMIX第二阶段

14、 PC 编程语言个人计算机,造就今天的软件开发职业PC 时代的到来BASIC语言1980年,IBM 曾经常尝试,将计算机用于个人数据处理,引发个人 计算机 PC 时代的到来 比尔.盖茨因此发家n提供了PC计算机的操作系统 MS-DOSn开发了当时流行的 PC 编程语 言BASICPC 让神奇的计算机走入个人生活今天我们所看到的计算机 ,理解的计算机,大多数是 PC 概念的计算机 今天的 PC 已经成为很多 人无法离开的生活中的设备 微软的贡献:让 PC 更加 人性化WINDOWS苹果电脑BASIC 的普及IBM的PC并不是唯一的, 时代造就了苹果(MAC)电 脑公司 n图形化、娱乐性 n个人使

15、用 苹果的系统不开放性,让 微软成为今天的 PC 霸主 苹果让孩子都知道了 basic 语言DOS系统时代c 语言流行时 代Dos 系统让 PC 称为个人的工具 从此诞生了优秀的开发工 具和厂商n微软BASIC, C 语言nBORLANDTURBO CnWINDOWS-1987年1987年的 WINDOWS 象一个幼稚的孩子WINDOWS-1990年1990年,更加成熟 可视化编程由此开始 编写程序就像画图一样WINDOWS-1993年成熟而实用n造就了今天新浪的前身 四通利方汉化了当时的 WINDOWSWINDOWS-1995年成就霸业的一年n个人使用的 WINDOWS95n完美的个人操作系统n微软开始开发 WINDOWS WORKSTATION 网络操作系统, 形成今天的 WINDOWS 2000, WINDOWS 2003等第一代可视化开发工具 VISUAL TOOLS微软利用 WINDOWS 优势,开发的可视化编程工具,极 大降低了开发者的负担 成为今天可视化开发工具 的先驱nVISUAL BASICnVISUAL CnVISUAL FOXPROFOXPRO单机数据库先 驱第一代个人计算机数据库 开发工具 微软收购 FOXBA

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号