软件测试第一章课件_第1页
软件测试第一章课件_第2页
软件测试第一章课件_第3页
软件测试第一章课件_第4页
软件测试第一章课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

软件测试技术东北大学软件学院吴辰铌软件测试技术东北大学软件学院课程内容介绍第一章软件测试概述第二章黑盒测试第三章白盒测试第四章单元测试第五章集成测试第六章系统测试第七章软件自动化测试第八章特定环境及应用测试第九章软件测试管理课程内容介绍第一章软件测试概述教材《软件测试(原书第2版)SoftwareTestingACraftsman‘sApproach(SecondEdition)》[美]PaulC·Jorgensen著韩柯等译机械工业出版社2003-7教材《软件测试(原书第2版)SoftwareTest参考书1.贺平著,《软件测试教程》,电子工业出版社,2005-6。2.张克东庄燕滨编著,《软件工程与软件测试自动化教程》,电子工业出版社,2002-2。3.[美]ElfriedeDustinJeffRashkaJohnPaul著,于秀山、胡兢玉等译,《软件自动化测试:引入、管理与实施》,电子工业出版社,2003-7。4.(美)RonPatton,《SoftwareTesting》,机械工业出版社,2002-35.JohnD.McGregorDavidA.Syles著,杨文宏李新辉杨洁等译,《面向对象的软件测试APracticalGuidetoTestingObject-OrientedSoftware》,机械工业出版社,2002-8。参考书1.贺平著,《软件测试教程》,电子工业出版社,2005课程性质专业课必修课课程性质成绩考核平时10%实验10%期末考试80%成绩考核平时10%第一章软件测试概述主要内容1.1引言1.2软件测试发展历程1.3测试相关基本概念1.4软件缺陷产生的原因1.5软件测试与开发的关系1.6软件测试基本技术1.7软件测试的层次1.8软件测试通过准则1.9软件测试人员应具备的素质第一章软件测试概述主要内容1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试软件测试的背景软件错误案例一1994年迪斯尼公司发布的第一个面向儿童的多媒体光盘游戏,未测试,只在开发环境可以正常运行软件错误案例二爱国者导弹防御系统,存在软件缺陷,时钟错误积累起来拖延100多个小时,导致一枚导弹在多哈击毙28名美国士兵软件错误案例三在美国的一次飞往火星的火箭发射中,因控制程序中的一个循环语句“DO5I=1,3”被误认为是赋值语句“DO5I=1.3”,一点之差,使火箭发生爆炸,损失一千万美元1.1引言:为什么要测试软件测试的背景1.1引言:为什么要测试各种产品合格率飞机制造业合格率世界著名的宇航工业公司生产的“飞吧747-400”大型宽体客机由100万个零部件组装而成,其中每个零部件的合格率都能达到99.9999%,请问这种客机的合格率是多少?

(99.9999%)1000000=36.79%1.1引言:为什么要测试各种产品合格率(1.1引言:为什么要测试各种产品合格率软件合格率假设一个优秀的程序员写出的“代码行”合格率可以达到99%,如果这个程序员开发的软件有1万行代码,那此软件的合格率是多少?

(99%)10000=2.25×10-441.1引言:为什么要测试各种产品合格率(99%)100001.1引言:为什么要测试测试市场方兴未艾1.1引言:为什么要测试测试市场方兴未艾1.2软件测试发展历程60年代(软件工程建立前),为了表明程序正确而进行测试。1972年6月,BillHetzel(代表论著《TheCompleteGuidetoSoftwareTesting》)在美国的北卡罗来纳(NorthCarolina)大学组织了首次以软件测试为主题的会议。1973年,BillHetzel给软件测试一个这样的定义:“就是建立一种信心,认为程序能够按预期的设想运行(Establishconfidencethataprogramdoeswhatitissupposedtodo)”。1.2软件测试发展历程60年代(软件工程建立前),为了表明1.2软件测试发展历程1979年,GlenfordMyers《TheArtofSoftwareTesting》是软件测试方面的圣经。Myers定义及诠释的测试方法论已成为软件测试的基本模块。提出测试的目的是证伪。70年代后期至80年代中期QA部门。1996年提出的测试能力成熟度TCMM(TestingCapabilityMaturityModel将测试分为五级:初始级、阶段定义级、集成级、管理和度量级、优化级)。1.2软件测试发展历程1979年,GlenfordMye1.3软件测试基本概念与测试相关的几个概念错误(error)--同义词是过错(mistake),人们在编写代码时会出现过错,这种过错叫做bug。缺陷(fault)--缺陷是错误的结果。分为过错缺陷和遗漏缺陷。失效(failure)--当缺陷执行时会发生失效。事故(incident)--当出现失效时,可能会也可能不会呈现给用户(或客户或测试人员)。1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念软件缺陷的定义很广的概念,不符合用户期望值或期望行为的表现。在软件中存在,影响软件功能正确实现的问题。DefactofSoftware=Bug。指软件中各种问题的总称。缺点、毛病、故障、误差或错误、功能失效程序崩溃或挂起、不一致性、界面设计缺陷等。1.3软件测试基本概念软件缺陷的定义1.3软件测试基本概念缺陷举例:缺点:运行速度慢。毛病:意外退出。故障:将中文显示成方块。误差或错误:返回意外的编译错误。功能失效:复制图形失败。程序崩溃或挂起:死机。不一致性:Ctrl+S不能保存所有程序。用户界面设计的缺陷:按钮上应5个字,却只显示3个字,排列不整齐。1.3软件测试基本概念缺陷举例:1.3软件测试基本概念与测试相关的几个概念程序正确无语法错误运行过程中未发现明显错误程序中无不适当语句有效输入-正确输出无效输入-正确处理任何可能输入-正确输出1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念与测试相关的几个概念测试与调试测试条件已知,规程可定义,结果可预知测试可以计划,过程可控;调试不可控测试是检验,调试是推理过程测试除了表明程序正确还要验证程序如何处理失败,调试表明正确测试可不了解设计细节,调试必须了解设计细节测试可自动化,调试无法自动化1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念软件测试的定义软件测试(testing)是一种有计划的和系统性的必要采取的措施,就是在软件投入运行前对软件需求分析、设计规格说明和编码的最终复审理。在此过程中能对该产品是否实现了用户所期望的要求进行足够了解并建立信任。软件测试是软件质量保证的关键步骤。1.3软件测试基本概念软件测试的定义1.3软件测试基本概念软件测试的目的软件测试的目的是发现软件存在的错误、减小软件不工作的风险。1.3软件测试基本概念软件测试的目的1.4软件缺陷产生的原因1.4软件缺陷产生的原因1.4软件缺陷产生的原因缺陷产生原因总结如下:偏离用户的需求需求报告多变功能额外实现功能遗漏1.4软件缺陷产生的原因缺陷产生原因总结如下:1.5软件开发与测试的关系用户要求用户:我要什么运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机怎么做设计说明书设计员:我要让软件怎么做需求说明书分析员:我可以提供什么13425理解正确性表达正确性理解正确性设计正确性表达正确性理解正确性编码正确性运行正确性输入正确性相符吗?1.5软件开发与测试的关系用户要求运行结果源程序1.5软件开发与测试的关系缺陷在软件开发周期中的任何一个环节都可能被引入,而且存在放大趋势:1.5软件开发与测试的关系缺陷在软件开发周期中的任何一个环1.5软件开发与测试的关系缺陷发现不同时期的成本1.5软件开发与测试的关系缺陷发现不同时期的成本1.5软件开发与测试的关系如何消除软件缺陷评审、测试美标准局VV&T(VerificationValidation&Test)1.5软件开发与测试的关系如何消除软件缺陷1.5软件开发与测试的关系评审用户需求获取需求定义软件产品可交付软件已确认软件需求分析书已集成软件概要设计书已测试模块详细设计书程序需求分析系统测试确认测试概要设计集成测试详细设计单元测试编码评审评审评审评审评审评审评审需求分析软件开发与测试V模型1.5软件开发与测试的关系评审用户需求获取需求定义软件产品1.5软件开发与测试的关系需求分析概要设计确认交付集成详细设计编码单元测试集成测试设计测试功能测试确认测试需求测试系统测试软件开发与测试W模型1.5软件开发与测试的关系需求分析概要设计确认交付集成详细1.5软件开发与测试的关系项目阶段任务的里程碑需求分析需求评审概要设计概要设计评审详细设计设计走查编码单元测试………各子模块测试计划测试过程测试评审集成测试系统测试确认测试软件开发与测试并行性1.5软件开发与测试的关系项目阶段任务的里程碑需求分析需求1.5软件开发与测试的关系开发各阶段测试工作阶段测试需求分析概要设计详细设计实现/单元测试集成测试确认测试系统测试系统测试确认测试集成测试单元测试计划计划计划执行执行执行执行执行设计设计设计计划/设计1.5软件开发与测试的关系开发各阶段测试工作阶段需1.6软件测试技术软件测试分类按实施步骤按测试对象按测试技术按测试内容单元、集成、系统、验收软件单元、部件、配置项动态、静态功能、性能、稳定性、可用性、安全性、安装、配置、兼容性、可维护性、用户手册1.6软件测试技术软件测试分类按实施步骤按测试对象按测试技1.6软件测试技术静态测试技术特点不必运行程序发挥人的逻辑思维优势无需条件,易展开方法代码审查(与设计的一致性、标准、可读性,表达式逻辑、结构合理性)代码检查(与审查类似,但不如审查检查范围广)桌面检查(阅读自己程序,效率低)静态分析(借助于测试工具)数据流、控制流、接口分析、表达式分析1.6软件测试技术静态测试技术1.6软件测试技术动态测试技术特点要求在代码实现的前提下进行运行被测试的程序要进行测试数据准备方法白盒测试黑盒测试灰盒测试1.6软件测试技术动态测试技术1.7软件测试层次单元测试集成测试系统测试1.7软件测试层次单元测试1.8软件测试准则测试准则不可能无限期测试1.8软件测试准则测试准则1.8软件测试准则测试准则Good-enough80-20法则1.8软件测试准则测试准则1.8软件测试准则测试原则用例全面(有效数据、无效数据)用例有预期结果测试工作独立超出规格说明书的问题不容忽视回归测试避免即性测试1.8软件测试准则测试原则1.8软件测试准则测试通过准则是否完成用例执行(用例的完整性尤其重要)是否完成设计功能(需求分析、设计报告)是否查出某一具体数目的BUG(统计经验值)1.8软件测试准则测试通过准则1.9软件测试人员应具备的素质技术能力沟通能力怀疑精神自信心耐心较强的分析能力团队精神1.9软件测试人员应具备的素质技术能力软件测试技术东北大学软件学院吴辰铌软件测试技术东北大学软件学院课程内容介绍第一章软件测试概述第二章黑盒测试第三章白盒测试第四章单元测试第五章集成测试第六章系统测试第七章软件自动化测试第八章特定环境及应用测试第九章软件测试管理课程内容介绍第一章软件测试概述教材《软件测试(原书第2版)SoftwareTestingACraftsman‘sApproach(SecondEdition)》[美]PaulC·Jorgensen著韩柯等译机械工业出版社2003-7教材《软件测试(原书第2版)SoftwareTest参考书1.贺平著,《软件测试教程》,电子工业出版社,2005-6。2.张克东庄燕滨编著,《软件工程与软件测试自动化教程》,电子工业出版社,2002-2。3.[美]ElfriedeDustinJeffRashkaJohnPaul著,于秀山、胡兢玉等译,《软件自动化测试:引入、管理与实施》,电子工业出版社,2003-7。4.(美)RonPatton,《SoftwareTesting》,机械工业出版社,2002-35.JohnD.McGregorDavidA.Syles著,杨文宏李新辉杨洁等译,《面向对象的软件测试APracticalGuidetoTestingObject-OrientedSoftware》,机械工业出版社,2002-8。参考书1.贺平著,《软件测试教程》,电子工业出版社,2005课程性质专业课必修课课程性质成绩考核平时10%实验10%期末考试80%成绩考核平时10%第一章软件测试概述主要内容1.1引言1.2软件测试发展历程1.3测试相关基本概念1.4软件缺陷产生的原因1.5软件测试与开发的关系1.6软件测试基本技术1.7软件测试的层次1.8软件测试通过准则1.9软件测试人员应具备的素质第一章软件测试概述主要内容1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试1.1引言:为什么要测试软件测试的背景软件错误案例一1994年迪斯尼公司发布的第一个面向儿童的多媒体光盘游戏,未测试,只在开发环境可以正常运行软件错误案例二爱国者导弹防御系统,存在软件缺陷,时钟错误积累起来拖延100多个小时,导致一枚导弹在多哈击毙28名美国士兵软件错误案例三在美国的一次飞往火星的火箭发射中,因控制程序中的一个循环语句“DO5I=1,3”被误认为是赋值语句“DO5I=1.3”,一点之差,使火箭发生爆炸,损失一千万美元1.1引言:为什么要测试软件测试的背景1.1引言:为什么要测试各种产品合格率飞机制造业合格率世界著名的宇航工业公司生产的“飞吧747-400”大型宽体客机由100万个零部件组装而成,其中每个零部件的合格率都能达到99.9999%,请问这种客机的合格率是多少?

(99.9999%)1000000=36.79%1.1引言:为什么要测试各种产品合格率(1.1引言:为什么要测试各种产品合格率软件合格率假设一个优秀的程序员写出的“代码行”合格率可以达到99%,如果这个程序员开发的软件有1万行代码,那此软件的合格率是多少?

(99%)10000=2.25×10-441.1引言:为什么要测试各种产品合格率(99%)100001.1引言:为什么要测试测试市场方兴未艾1.1引言:为什么要测试测试市场方兴未艾1.2软件测试发展历程60年代(软件工程建立前),为了表明程序正确而进行测试。1972年6月,BillHetzel(代表论著《TheCompleteGuidetoSoftwareTesting》)在美国的北卡罗来纳(NorthCarolina)大学组织了首次以软件测试为主题的会议。1973年,BillHetzel给软件测试一个这样的定义:“就是建立一种信心,认为程序能够按预期的设想运行(Establishconfidencethataprogramdoeswhatitissupposedtodo)”。1.2软件测试发展历程60年代(软件工程建立前),为了表明1.2软件测试发展历程1979年,GlenfordMyers《TheArtofSoftwareTesting》是软件测试方面的圣经。Myers定义及诠释的测试方法论已成为软件测试的基本模块。提出测试的目的是证伪。70年代后期至80年代中期QA部门。1996年提出的测试能力成熟度TCMM(TestingCapabilityMaturityModel将测试分为五级:初始级、阶段定义级、集成级、管理和度量级、优化级)。1.2软件测试发展历程1979年,GlenfordMye1.3软件测试基本概念与测试相关的几个概念错误(error)--同义词是过错(mistake),人们在编写代码时会出现过错,这种过错叫做bug。缺陷(fault)--缺陷是错误的结果。分为过错缺陷和遗漏缺陷。失效(failure)--当缺陷执行时会发生失效。事故(incident)--当出现失效时,可能会也可能不会呈现给用户(或客户或测试人员)。1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念软件缺陷的定义很广的概念,不符合用户期望值或期望行为的表现。在软件中存在,影响软件功能正确实现的问题。DefactofSoftware=Bug。指软件中各种问题的总称。缺点、毛病、故障、误差或错误、功能失效程序崩溃或挂起、不一致性、界面设计缺陷等。1.3软件测试基本概念软件缺陷的定义1.3软件测试基本概念缺陷举例:缺点:运行速度慢。毛病:意外退出。故障:将中文显示成方块。误差或错误:返回意外的编译错误。功能失效:复制图形失败。程序崩溃或挂起:死机。不一致性:Ctrl+S不能保存所有程序。用户界面设计的缺陷:按钮上应5个字,却只显示3个字,排列不整齐。1.3软件测试基本概念缺陷举例:1.3软件测试基本概念与测试相关的几个概念程序正确无语法错误运行过程中未发现明显错误程序中无不适当语句有效输入-正确输出无效输入-正确处理任何可能输入-正确输出1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念与测试相关的几个概念测试与调试测试条件已知,规程可定义,结果可预知测试可以计划,过程可控;调试不可控测试是检验,调试是推理过程测试除了表明程序正确还要验证程序如何处理失败,调试表明正确测试可不了解设计细节,调试必须了解设计细节测试可自动化,调试无法自动化1.3软件测试基本概念与测试相关的几个概念1.3软件测试基本概念软件测试的定义软件测试(testing)是一种有计划的和系统性的必要采取的措施,就是在软件投入运行前对软件需求分析、设计规格说明和编码的最终复审理。在此过程中能对该产品是否实现了用户所期望的要求进行足够了解并建立信任。软件测试是软件质量保证的关键步骤。1.3软件测试基本概念软件测试的定义1.3软件测试基本概念软件测试的目的软件测试的目的是发现软件存在的错误、减小软件不工作的风险。1.3软件测试基本概念软件测试的目的1.4软件缺陷产生的原因1.4软件缺陷产生的原因1.4软件缺陷产生的原因缺陷产生原因总结如下:偏离用户的需求需求报告多变功能额外实现功能遗漏1.4软件缺陷产生的原因缺陷产生原因总结如下:1.5软件开发与测试的关系用户要求用户:我要什么运行结果计算机:程序运行得到的结果源程序程序员:我要让计算机怎么做设计说明书设计员:我要让软件怎么做需求说明书分析员:我可以提供什么13425理解正确性表达正确性理解正确性设计正确性表达正确性理解正确性编码正确性运行正确性输入正确性相符吗?1.5软件开发与测试的关系用户要求运行结果源程序1.5软件开发与测试的关系缺陷在软件开发周期中的任何一个环节都可能被引入,而且存在放大趋势:1.5软件开发与测试的关系缺陷在软件开发周期中的任何一个环1.5软件开发与测试的关系缺陷发现不同时期的成本1.5软件开发与测试的关系缺陷发现不同时期的成本1.5软件开发与测试的关系如何消除软件缺陷评审、测试美标准局VV&T(VerificationValidation&Test)1.5软件开发与测试的关系如何消除软件缺陷1.5软件开发与测试的关系评审用户需求获取需求定义软件产品可交付软件已确认软件需求分析书已集成软件概要设计书已测试模块详细设计书程序需求分析系统测试确认测试概要设计集成测试详细设计单元测试编码评审评审评审评审评审评审评审需求分析软件开发与测试V模型1.5软件开发与测试的关系评审用户需求获取需求定义软件产品1.5软件开发与测试的关系需求分析概要设计确认交付集成详细设计编码单元测试集成测试设计测试功能测试确认测试需求测试系统测试软件开发与测试W模型1.5软件开发与测试的关系需求分析概要设计确认交付集成详细1.5软件开发与测试的关系项目阶段任务的里程碑需求分析需求评审概要设计概要设计评审详细设计设计走查编码单元测试……

温馨提示

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

评论

0/150

提交评论