资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
测试计划与软件缺陷测试计划与软件缺陷第十四章 软件与软件测试上一章内容回顾上一章内容回顾v测试计划相关测试计划相关v如何进行风险分析如何进行风险分析/25本章学习目标本章学习目标v了解软件的特点以及分类了解软件的特点以及分类v了解单元测试和集成测试的常用方法了解单元测试和集成测试的常用方法/25内容进度内容进度v软件的特点软件的特点v软件的分类v关于单元测试v关于集成测试/25软件的特点软件的特点v软件是一种逻辑实体软件是一种逻辑实体n软件具有抽象性,它不是具体的物理实体软件具有抽象性,它不是具体的物理实体n软件的形态不像其他工程对象(如计算机硬件)一样直观软件的形态不像其他工程对象(如计算机硬件)一样直观n必须通过观察、分析、思考、判断去了解他的功能、性能以及其必须通过观察、分析、思考、判断去了解他的功能、性能以及其他的特性他的特性/25v软件的生产与硬件的生产不同软件的生产与硬件的生产不同n硬件在制造过程中进行质量控制硬件在制造过程中进行质量控制n在软件开发阶段进行质量控制在软件开发阶段进行质量控制软件的特点软件的特点/25v软件运行和使用没有机械磨损和老化问题软件运行和使用没有机械磨损和老化问题n硬件失效率的硬件失效率的U型曲线型曲线n软件失效率曲线图形说明软件存在退化问题软件失效率曲线图形说明软件存在退化问题n软件修改和维护过程中会导致失效率升高,因此软件维护比硬件软件修改和维护过程中会导致失效率升高,因此软件维护比硬件维护复杂,与硬件维护有本质的区别维护复杂,与硬件维护有本质的区别硬件失效率曲线 软件失效率曲线 软件的特点软件的特点/25v软件的开发和运行对计算机系统有一定的依赖软件的开发和运行对计算机系统有一定的依赖n软件的开发和运行必须以硬件提供的条件为依据软件的开发和运行必须以硬件提供的条件为依据n软件运行对硬件方面的要求软件运行对硬件方面的要求n软件运行对操作系统方面的要求软件运行对操作系统方面的要求n软件的可移植性成为衡量软件质量的因素之一软件的可移植性成为衡量软件质量的因素之一软件的特点软件的特点/25v目前还没有摆脱手工开发方式目前还没有摆脱手工开发方式n大多数软件产品是大多数软件产品是“定做定做”的的n很难做到利用现成的部件组装成所需的软件(模块化设计、组件技很难做到利用现成的部件组装成所需的软件(模块化设计、组件技术)术)n新技术的产生在一定程度上提高了生产的效率,但是,手工开发方新技术的产生在一定程度上提高了生产的效率,但是,手工开发方式仍占据统治地位式仍占据统治地位n软件开发不是一件轻松的工作软件开发不是一件轻松的工作软件的特点软件的特点/25v软件是复杂的软件是复杂的n计算机软件是人类创造的最复杂的产物计算机软件是人类创造的最复杂的产物n导致软件复杂性的根源导致软件复杂性的根源u软件反映了实际问题的复杂性软件反映了实际问题的复杂性u程序自身逻辑结构的复杂性程序自身逻辑结构的复杂性u软件开发常常涉及其他领域的专业知识软件开发常常涉及其他领域的专业知识软件技术的发展落后于需求软件技术的发展落后于需求软件的特点软件的特点/25v软件成本相当昂贵软件成本相当昂贵软件的特点软件的特点/25v软件的作用越来越突出软件的作用越来越突出第X代飞机型号航电系统功能硬件实现软件实现第二代F-11180%20%第三代F-1660%40%第四代F-2220%80%软件的特点软件的特点/25v相当多的软件工作涉及到社会因素相当多的软件工作涉及到社会因素软件的特点软件的特点/25v软件是一种逻辑实体软件是一种逻辑实体v软件的生产与硬件的生产不同软件的生产与硬件的生产不同v软件运行和使用没有机械磨损和老化问题软件运行和使用没有机械磨损和老化问题v开发和运行对计算机系统有一定的依赖开发和运行对计算机系统有一定的依赖v目前还没有摆脱手工艺的开发方式目前还没有摆脱手工艺的开发方式v软件是复杂的软件是复杂的v软件成本相当昂贵软件成本相当昂贵v软件的作用越来越突出软件的作用越来越突出v相当多的软件工作涉及到社会因素相当多的软件工作涉及到社会因素软件的特点小结软件的特点小结/25内容进度内容进度v软件的特点v软件的分类软件的分类v关于单元测试v关于集成测试/25软件的分类软件的分类v按软件功能进行划分按软件功能进行划分 n系统软件系统软件 n支撑软件支撑软件 n应用软件应用软件 /25v按软件规模进行划分按软件规模进行划分 类别类别参加人数参加人数研制期限研制期限小型小型5 5人以内人以内1 1到到6 6个月个月中型中型5 5到到100100人人1 1年以内年以内大型大型100100人以上人以上1 1年以上年以上软件的分类软件的分类/25v按软件的技术特点划分按软件的技术特点划分n业务(业务(BusinessBusiness)软件)软件u管理信息系统(管理信息系统(MISMIS)u企业资源规划系统(企业资源规划系统(ERPERP)u决策支持系统(决策支持系统(DSSDSS)n科技计算软件(图形计算)科技计算软件(图形计算) n嵌入式(嵌入式(EmbeddedEmbedded)软件)软件u首先在宿主机(首先在宿主机(HOST)上用某种语言开发,经交叉编译后成为单片机的机器)上用某种语言开发,经交叉编译后成为单片机的机器码程序,码程序,“烧入烧入”单片机,称为嵌入式。单片机,称为嵌入式。 n实时(实时(Real-timeReal-time)软件(火灾自动报警系统)软件(火灾自动报警系统) n个人计算机软件个人计算机软件 n人工智能软件人工智能软件 软件的分类软件的分类/25v按软件规模进行划分按软件规模进行划分 v按软件的技术特点划分按软件的技术特点划分v按软件功能进行划分按软件功能进行划分软件的分类小结软件的分类小结/25内容进度内容进度v软件的特点v软件的分类v关于单元测试关于单元测试v关于集成测试/25关于单元测试关于单元测试v单元测试单元测试多采用多采用白盒测试技术白盒测试技术v静态审查代码静态审查代码v动态单元测试动态单元测试/25单元测试的意义单元测试的意义v好的单元测试将会在产品开发的阶段发现大部分的缺陷,并且修好的单元测试将会在产品开发的阶段发现大部分的缺陷,并且修改它们的成本也很低改它们的成本也很低v在软件开发的后期阶段,缺陷的发现并修改将会变得更加困难,在软件开发的后期阶段,缺陷的发现并修改将会变得更加困难,并要消耗大量的时间和开发费用并要消耗大量的时间和开发费用v无论什么时候做出修改都要进行回归测试无论什么时候做出修改都要进行回归测试v经过单元测试的系统,系统集成过程将会大大地简化经过单元测试的系统,系统集成过程将会大大地简化v选择正确的测试策略选择正确的测试策略v桩模块(桩模块(Stub)和驱动模块()和驱动模块(Driver)/25内容进度内容进度v软件的特点v软件的分类v关于单元测试v关于集成测试关于集成测试/25关于集成测试关于集成测试v非增式集成方法非增式集成方法v增式集成方法增式集成方法n自顶向下测试自顶向下测试n自底向上测试自底向上测试/25本章内容总结本章内容总结v了解软件的特点以及分类了解软件的特点以及分类v了解单元测试和集成测试的常用方法了解单元测试和集成测试的常用方法/25
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号