第1讲、软件测试基本理论课件_第1页
第1讲、软件测试基本理论课件_第2页
第1讲、软件测试基本理论课件_第3页
第1讲、软件测试基本理论课件_第4页
第1讲、软件测试基本理论课件_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第1讲

软件测试基本理论软件开发阶段划分软件测试阶段划分软件测试模型软件测试的分类本章内容一、软件开发阶段划分软件开发阶段需求分析概要设计详细设计编码软件开发阶段——需求分析需求分析根据客户的要求,清楚了解客户需求中的产品功能、性能、界面和具体规格等,然后进行分析,确定软件产品所要达到的目标。需求规格说明书软件开发阶段——概要设计概要设计系统分析员审查软件计划、软件需求分析提供的文档,提出候选的最佳推荐方案,确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式等。概要设计说明书软件开发阶段——详细设计详细设计为每一个模块确定使用的算法,并用适当的工具(如流程图)表达算法的过程,写出模块的详细过程性描述;确定每个模块使用的数据结构;确定模块接口的细节,包括用户界面、数据输入输出等全部细节。详细设计说明书软件开发阶段——编码编码通过某种编程语言编写程序二、软件测试阶段划分软件测试阶段单元测试集成测试系统测试验收测试软件测试流程单元测试单元测试又称模块测试,是针对软件设计的最小单位——程序模块进

行正确性检验的测试工作类、文件、窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试,其依据是详细设计目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能

、性能、接口等要求,发现各模块内部可能存在的各种错误单元测试以黑盒测试为主,重点模块可以结合白盒测试多个模块可以平行地独立进行单元测试。一个好的单元测试将会在产品开发的阶段发现大部分的缺陷,并且修改它们的成本也很低在软件开发的后期阶段,缺陷的修改将会变得更加困难,要消耗大量的时间和费用经过单元测试的系统,系统集成过程将会大大地简化集成测试集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合设计要求的程序部件或整个系统。软件集成的过程是一个持续的过程,会形成很多个临时版本,在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试也叫版本验证测试、提交测试。系统测试是在真实或模拟系统运行的环境下,检查完整的程序系

统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)

正确配置、连接,并满足用户需求。系统测试是为验证和确认系统是否达到其原始目标,而对集成的

硬件和软件系统进行的测试。系统测试验收测试按照项目任务书或合同、供需双方约定的验收依据文档进行的对

整个系统的测试与评审,决定是否接收或拒收系统以用户为主的测试,软件开发和质量保证人员也参与一般使用生产中的实际数据进行测试Alpha测试(α测试)通常也叫“验证测试”主要是指在软件开发完成以后,在软件开发环境下,开发方对要提交

的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并

进行。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。2023/12/5Beta测试(β测试)在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试指用户的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。β测试通常被看成是一种用户测试。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。2023/12/5软件开发与软件测试的关系软件测试流程图(需求阶段)软件测试流程软件测试流程图(设计编码阶段)软件测试流程软件测试流程图(集成、系统、验收)三、软件测试模型软件测试模型软件测试模型概念软件测试模型主要反映测试活动与软件开发过程的关系模型类型V模型W模型2023/12/5V模型2023/12/5V模型V模型是最具代表意义的测试模型V模型最早由PaulRook在20世纪80年代后期提出2023/12/5V模型的优点明确标明了测试过程中存在的不同级别清楚地描述了测试阶段与开发过程各阶段的对应关系V模型的测试策略既包括了低层测试(代码级的测试),又包括

了高层测试(需求级的测试)2023/12/5V模型的缺点它仅仅把测试过程作为需求分析,概要设计,详细设计、编码

之后的一个阶段,容易让人理解为测试是软件开发的最后一个

阶段。没有明确说明早期的测试,不符合越早测试和不断地进行测试

的原则。2023/12/5W模型V模型中缺乏对软件开发早期测试活动的说明,在V模型中添加软

件开发阶段同步的测试活动,演化出W模型。W模型2023/12/5W模型W模型强调:测试伴随着整个软件开发周期,测试的对象不仅

仅是程序,需求,功能和设计同样需要测试。测试与开发是同

步进行的。2023/12/5W模型的优点符合尽早测试和不断测试的原则符合实际工作中的测试活动四、软件测试的分类按照测试技术划分黑盒测试白盒测试灰盒测试黑盒测试黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序

内部结构和处理过程,通过软件的外部表现来发现其缺陷

和错误。黑盒测试是在程序界面处进行测试,它只是检查程序是否

按照需求规格说明书的规定正常实现。黑盒测试一般也称功能测试白盒测试白盒测试可以把程序看成装在一个透明的白盒子里,也就

是清楚了解程序结构和处理过程,检查是否所有的结构及

路径都是正确的,检查软件内部动作是否按照设计说明的

规定正常进行。白盒测试又称结构测试。黑盒测试白盒测试规划方面针对功能的测试针对结构的测试优势方面能确保从用户使用角度出发进行测试能够对程序内部的特定部位进行覆盖测试应用举例等价类划分边界值分析法因果图法状态图测试法语句覆盖、判断覆盖、条件覆盖、判断/条件覆盖、基本路径覆盖、循环覆盖、模块接口测试灰盒测试介于白盒测试与黑盒测试之间的测试。灰盒测试结合了白盒测试和黑盒测试的要素。灰盒测试关

注输出对于输入的正确性;同时也关注内部表现,但这种

关注不像白盒测试那样详细、完整,只是通过一些表征性

的现象、事件、标志来判断内部的运行状态。按是否需要运行代码划分静态测试动态测试静态测试静态测试是指不实际运行被测软件,而只是静态地检查程序代码、

界面或文档中可能存在错误的过程。静态测试技术又称为静态分析技术,实际上是对软件中的需求说

明书、设计说明书、程序源代码等进行非运行的检查静态测试包括:代码测试、界面测试、文档测试等代码测试,主要测试代码是否符合相应的标准和规范。界面测试,主要测试软件的实际界面与需求中的说明是否相符。文档测试,主要测试用户手册和需求说明是否真正符合用户的实

际需求。动态测试动态测试是指通过人工或使用工具运行程序进行检查、

分析程序的执行状态和程序的外部表现实际运行被测程序,输入相应的测试数据,检查实际

输出结果和预期结果是否相符按软件特性分类功能测试根据产品特征、操作描述和用户方案,测试一个产品的特性和

可操作行为以确定它们是否满足设计需求。性能测试评价一个产品或组件与性能需求是否符合的测试。包括负载测

试、压力测试、数据库容量测试等。返测针对程序员修改的错误进行测试,验证错误是否被修改回归测试回归测试是指对软件的新版本测试时,重复执行上一个版本测

试时的用例在发生修改之后重新测试新版本的软件以保证修改的正确性,

以及修改后没有引发新的错误冒烟测试冒烟测试是指在对一个新版本进行系统大规模的测试之前,先

验证一下软件的基本功能是否实现,是否具备可测性冒烟测试又称版本验证测试。冒烟测试的对象是每一个新编译

的需要正式测试的软件版本,目的是确认软件的基本功能正常,

可以进行后续的正式测试工作。简单地说,冒烟测试就是用较少的人,在较短的时间内

温馨提示

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

评论

0/150

提交评论