书签 分享 收藏 举报 版权申诉 / 211
上传文档赚钱

类型电子教案·软件测试技术(第二版)课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3214706
  • 上传时间:2022-08-06
  • 格式:PPT
  • 页数:211
  • 大小:2.59MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《电子教案·软件测试技术(第二版)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    电子 教案 软件 测试 技术 第二 课件
    资源描述:

    1、软件测试技术(第二版)第1章软件测试基本知识 第1章 软件测试基本知识 1.1软件的概念 1.2软件测试基本概念 1.3软件测试的必要性 1.4软件测试的分类 1.1 软件的概念 软件就是程序加文档的集合体 计算机软件主要分为系统软件和应用软件二大类。系统软件为计算机使用提供最基本的功能,是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件又分为操作系统和支撑软件,其中操作系统是最基本的软件。应用软件是为了某种特定的用途而被开发的软件。如:QQ、MSN、手机股票、游戏软件 1.2 软件测试基本概念 软件测试是测试的一种,顾名思义就是对软件进行测试。软件测试是由于软件缺陷的存在而

    2、产生的。我们将所有软件问题统称作软件缺陷,不管他们的规模和危害有多大,由于它们都会产生使用障碍,而都称为软件缺陷。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤 1.2 软件测试基本概念 软件测试的定义 软件测试是为了发现错误而执行程序的过程。软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例运行程序以及发现错误的过程,即执行测试步骤。测试用例 为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。测试步骤:测试步骤详细规定了如何设置、执行、评估特定的测试

    3、用例。1.2 软件测试基本概念 软件测试的对象 软件测试不等于程序测试。软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。软件测试的目的 测试的目的是发现错误。1.2 软件测试基本概念 软件测试的原则 尽早地和及时地测测试发现得越晚,修复的代价越高。测试用例应当由测试数据和与之对应的预期结果这两部分组成;在程序提交测试后,应当由专门的测试人员进行测试,避免由程序设计者自行检查程序。测试用例应包括合理的输入条件和不合理的输入条件;严格执行测试计划,排除测试的随意性;充分注意测试当中的群体现象;应对每一个测试结果做全面的检查;保存测试计划、测试用例

    4、、出错统计和最终分析报告,为维护工作提供充分的资料。1.2 软件测试基本概念 测试停止的依据(标准)第一类标准:测试超过了预定时间,则停止测试。这类标准不能用来衡量测试质量。第二类标准:执行了所有的测试用例,但并没有发现故障,则停止测试。第三类标准:使用特定的测试用例设计方案作为判断测试停止的基础。第四类标准:正面指出停止测试的具体要求。第五类标准:根据单位时间内查出故障的数量决定是否停止测试。1.2 软件测试基本概念 软件测试和修复 软件测试和修复是不同意义的行为过程,最能体现修复行为的是调试和修正。经过测试发现错误后,往往不能直觉从测试结果中找到错误的根源,这就需要充分利用测试结果和测试过

    5、程中提供的信息进行全面分析,通过调试发现错误,并修正这些发现的错误。1.3 软件测试的必要性 Ashton Tate公司DbaseIV Borland公司的Borland C+4.0 迪斯尼公司的狮子王游戏 千年虫问题 暴风软件召回 淘宝手机软件事件 1.4 软件测试的分类 按照是否需要执行程序,软件测试可划分为静态测试和动态测试 静态测试:并不真正运行被测试程序,只是进行特征分析 动态测试:通过选择适当的测试用例,实际运行所测程序,比较实际运行结果和预期结果,以找出错误。静态测试 静态分析程序不需要执行所测试的程序,它扫描所测试程序的正文,对程序的数据流和控制流进行分析。然后送出测试报告。检

    6、查模块中的变量 检查模块接口的一致性 检查在逻辑上可能有错误的结构以及多余的不可达的程序段 建立“变量语句交叉引用表”、“子程序调用顺序表”、“公用区子程序交叉引用表”等 检查所测程序违反编程标准的错误 对一些静态特性的统计功能 静态分析并不等同于编译系统,静态分析的查错和分析功能是编译程序所不能代替的。静态分析工具的结构一般由四部分组成:语言程序的预处理器、数据库、错误分析器和报告生成器。动态测试 动态测试分为结构测试与功能测试 测试覆盖监视程序:主要用在结构测试中,可以监视测试的实际覆盖程度。断言处理程序:对照断言语句检查事先指定的断言是否成立。可以帮助复杂系统的检验、调试和维护 符号执行

    7、程序:符号执行法是一种介于程序测试用例执行与程序正确性证明之间的方法。它使用了一个专用的程序,对输入的源程序进行解释。1.4 软件测试的分类 按照软件测试用例的设计方法而论,软件测试可以分为白盒测试和黑盒测试 白盒测试:按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,主要方法有逻辑驱动、基路测试等,主要用于软件验证。黑盒测试:在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等。1.4 软件测试的分类 按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测

    8、试。单元测试:对软件中的基本组成单位进行的测试 集成测试:在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。系统测试:对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求。验证测试:旨在向软件的购买者展示该软件系统满足其用户的需求。确认测试:在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。本章小结 本章介绍了软件和软件测试的相关概念,分析了软件测试目的、软件测试的必要性、软件测试停止的标准、软件测试的分类。实训习题 练习1上网查询相关软件测试网站,理解软件测试的基本概念。练习2说说你对软件测试

    9、的认识。练习3通过查找资料,举一个不同于书上的案例来说明软件测试的重要性。练习4根据自己理解,介绍一下动态测试和静态测试的区别。软件测试技术(第二版)主编 库波 杨国勋 中国水利水电出版社第2章 软件测试阶段 第2章 软件测试阶段 2.1 软件生命周期 2.2 软件测试阶段 2.3 软件测试模型 教学要求:掌握:软件测试各阶段的主要任务。理解:软件测试模型与软件生命周期的关系、几种典型的软件测试模型。了解:几种典型的软件测试模型的应用。2.1 软件生命周期 软件开发生命周期可以划分成计划、设计、开发和运行维护4个时期,每个时期又进一步划分成若干阶段 2.1 软件生命周期 软件生命周期每个阶段的

    10、主要任务如下:问题定义“要解决的问题是什么?”可行性论证及软件计划“有行得通的解决办法吗?”需求分析“系统必须做什么?”总体设计“概括地说,应该怎样做?”详细设计“具体怎样做?”编码和单元测试 综合测试 运行/维护 2.1 软件生命周期瀑布模型瀑布模型 瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。2.1 软件生命周期原型模型原型模型 先建立一个能够反映

    11、用户需求的原型系统先建立一个能够反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型系统进行反进行评价和判断,然后对原型系统进行反复的扩充、改进、求精,最终建立符合用复的扩充、改进、求精,最终建立符合用户需求的目标系统。户需求的目标系统。2.1 软件生命周期螺旋模型螺旋模型 将瀑布模型和原型模型结合起来将瀑布模型和原型模型结合起来,它把软件它把软件开发过程组织成为一个逐步细化的螺旋周开发过程组织成为一个逐步细化的螺旋周期,每经历一个周期,系统就得到进一步期,每经历一个周期,系统就得到进一步的细化和完善;整个模型紧密围绕开发中

    12、的细化和完善;整个模型紧密围绕开发中的风险分析,推动软件设计向深层扩展和的风险分析,推动软件设计向深层扩展和求精。该模型要求开发人员与用户能经常求精。该模型要求开发人员与用户能经常直接进行交流,通常用来指导内部发行的直接进行交流,通常用来指导内部发行的大型软件项目的开发。大型软件项目的开发。2.1 软件生命周期增量模型增量模型 增量模型融合了瀑布模型的基本成分和原型实现的迭代增量模型融合了瀑布模型的基本成分和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的列,每一个线性序列产生软件的一个可发布

    13、的“增量增量”。当使用增量模型时,第一个增量往往是核心的产品,即当使用增量模型时,第一个增量往往是核心的产品,即第一个增量实现了基本的需求,但很多补充的特征还没第一个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。后不断重复,直到产生了最终的完善产品。2.1 软件生命周期迭代模型迭代模型 迭代模型也是一种渐近式的模型,但它与增量模型又有迭代模型也是一种渐近式的模型,但它与增

    14、量模型又有区别。假设现在要开发区别。假设现在要开发A、B、C、D四个大的业务功能,四个大的业务功能,每个功能都需要开发两周的时间。对于增量方法而言可每个功能都需要开发两周的时间。对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成以将四个功能分为两次增量来完成,第一个增量完成A、B功能,第二次增量完成功能,第二次增量完成C、D功能;而对于迭代开发来功能;而对于迭代开发来讲则是分两次迭代来开发,第一次迭代完成讲则是分两次迭代来开发,第一次迭代完成A、B、C、D四个基本业务功能,但不含复杂的业务逻辑,而第二四个基本业务功能,但不含复杂的业务逻辑,而第二次迭代再逐渐细化补充完整相关的业务

    15、逻辑。在第一个次迭代再逐渐细化补充完整相关的业务逻辑。在第一个月过去后,采用增量开发的时候月过去后,采用增量开发的时候A、B全部开发完成,而全部开发完成,而C、D还一点都没有动;而采用迭代开发的时候还一点都没有动;而采用迭代开发的时候A、B、C、D四个的基础功能都已经完成。四个的基础功能都已经完成。2.1 软件生命周期喷泉模型喷泉模型 在面向对象方法中,提出了与瀑布模型相对应的喷泉模在面向对象方法中,提出了与瀑布模型相对应的喷泉模型型,该模型的主要特点是认为软件生命周期的各个阶段是该模型的主要特点是认为软件生命周期的各个阶段是相互重叠和多次反复的,就像水喷上去又可以落下来,相互重叠和多次反复的

    16、,就像水喷上去又可以落下来,水既可以落在中间,也可以落在最底部。整个开发过程水既可以落在中间,也可以落在最底部。整个开发过程中都使用统一的概念中都使用统一的概念“对象对象”进行分析,使用统一的概进行分析,使用统一的概念和符号表示分析设计过程,各阶段间没有明显的边界,念和符号表示分析设计过程,各阶段间没有明显的边界,即即“无缝无缝”衔接,因此各开发步骤可以多次反复迭代,衔接,因此各开发步骤可以多次反复迭代,逐步深化。逐步深化。2.2 软件测试阶段 单元测试 集成测试 系统测试 验收测试 回归测试 2.2.1 单元测试 单元测试又称为模块测试,它是在软件开发过程中进行的最低级别的测试活动,其测试的

    17、对象是软件设计的最小单位程序模块。单元测试的目的是:检查每个模块能否正确实现详细设计说明书中的模块功能、性能、接口和设计约束等要求,发现模块内部可能存在的各种错误。单元测试需要从程序的内部结构出发设计测试用例,进行单元测试时,通常需要两类信息:模块的规格说明书和模块的源代码,主要采用白盒测试技术。多个模块可以平行地独立进行单元测试。2.2.2 集成测试 集成测试也叫做组装测试,通常在单元测试的基础上,通过适当的集成策略,将程序模块有序、递增地组装起来进行测试。集成测试的目的是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。软件集成的过程是一个持续的过程,会形成很多

    18、个临时的版本,在不断的集成过程中,功能集成的稳定性是真正的挑战。在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试也叫版本验证测试或提交测试。2.2.3 确认测试 确认测试又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。2.2.4 系统测试 系统测试,是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。它为了验证和确认

    19、系统是否达到其原始目标,对集成的硬件和软件系统进行的测试。系统测试是在真实戒模拟系统运行的环境下,检查完整的程序系统能否和系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足用户需求。2.2.5 回归测试 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。自动回归测试将大幅降低系统测试、维护升级等

    20、阶段的成本。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。2.3 软件测试模型 V模型非常明确地标注了测试过程中存在的不同类型的测试。W模型非常明确地标注了生产周期中开发与测试之间的对应关系。X模型这个模型指出整个测试过程是在探索中进行的。H模型软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。2.3.1 V模型 V模型是最具有代表意义的测试模型。V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 2.3.2 W模型 W模型由Evolutif公司提出,相对于V模型,W模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开

    21、发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。2.3.3 X模型 X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序 2.3.4 H模型 H模型中,软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行 本章小结 本章从软件工程的角度介绍了软件生命周期及主要的软件过程模型,讲解了软件测试的阶段划分,明确了软件测试

    22、各阶段的主要任务,介绍了四种主要的软件测试模型,即V模型、W模型、X模型及H模型。实训习题 练习1软件生命周期?练习2什么是软件过程模型,怎样合理地选择软件过程模型?练习3软件测试通常可以划分为哪几个阶段,各个阶段的主要任务是什么?练习4典型的软件测试模型有哪些?练习5软件测试模型与软件过程模型有什么联系?练习6怎样合理地选择软件测试模型?软件测试技术(第二版)主编 库波 杨国勋 中国水利水电出版社第3章 软件测试过程与管理 第3章 软件测试过程与管理 3.1 软件测试过程 3.2 软件测试团队管理 3.3 软件测试文档管理 教学要求掌握:软件测试过程的具体步骤理解:测试计划、测试设计和测试执

    23、行的工作要点了解:软件测试团队管理和文档管理 3.1 软件测试过程 为了保证软件的质量,软件测试过程应该从软件项目的确为了保证软件的质量,软件测试过程应该从软件项目的确立就开始进行,并且贯穿于整个的软件开发生命周期。对立就开始进行,并且贯穿于整个的软件开发生命周期。对软件测试过程的有效管理能更好的保证软件的质量。一般软件测试过程的有效管理能更好的保证软件的质量。一般来说软件测试过程包括测试需求分析、测试计划、测试设来说软件测试过程包括测试需求分析、测试计划、测试设计、测试执行和测试总结等几个步骤。计、测试执行和测试总结等几个步骤。3.1.1 测试需求分析 在制订测试计划之前,需要先进行测试需在

    24、制订测试计划之前,需要先进行测试需求分析。测试需求分析是软件测试过程中求分析。测试需求分析是软件测试过程中的一个重要环节,测一款软件首先要知道的一个重要环节,测一款软件首先要知道软件的应用领域、能实现哪些功能,用户软件的应用领域、能实现哪些功能,用户对该软件的性能需求是怎样的,软件需要对该软件的性能需求是怎样的,软件需要运行在什么软硬件环境中,进行测试需要运行在什么软硬件环境中,进行测试需要准备哪些资源等。准备哪些资源等。3.1.2 测试计划 测试计划一般包括以下一些内容:测试计划一般包括以下一些内容:项目背景项目背景系统视图测试的策略测试资源配置时间进度安排缺陷跟踪报告规定测试团队和文档管理

    25、测试计划的评审3.1.3 测试设计 当测试计划制定好了以后,就可以进行测试设计了,有时候是测试计划中的测试范围和策略确定以后就开始进行测试设计,将测试计划和测试设计并行,从而加快项目进度。软件测试设计是测试过程中的重要活动,测试设计是否合理直接影响测试过程后续活动的效率和有效性,从而影响软件产品的最终质量。3.1.4 测试执行 测试过程中最基础的工作就是测试执行。当一个新人刚进入软件测试这个行业时,最开始做的就是按照别人设计好的测试用例进行测试执行。测试执行通常采用自动化工具测试和人工测试相结合的方式进行。3.1.5 测试总结 测试执行完成后,需要进行测试总结,进行测试总结的内容包括以下几点:

    26、通过对测试结果的分析,得到对软件质量的评价 分析测试的过程,产品,资源和信息,为以后制定测试计划提供参考 评估测试测试执行和测试计划是否符合 分析系统存在的缺陷,为修复和预防缺陷提供建议3.2 软件测试团队管理 软件测试团队在软件项目中处于重要的地位,肩负着保证软件质量的任务,总的说来软件测试团队有以下职责:在项目的前景、需求文档确定前对文档进行测试,从用户体验和测试的角度提出自己的看法。编写合理的测试计划,并与项目整体计划有机地整合在一起。编写覆盖率高的测试用例。针对测试需求进行相关测试技术的研究。认真仔细地实施测试工作,并提交测试报告供项目组参考。3.2 软件测试团队管理 要提高软件测试的

    27、效率,保证软件产品的质量,软件测试团队的建设和管理是非常重要的一个环节,应从以下几个方面进行考虑:团队的规模 团队成员的角色职责团队成员的类型 团队的稳定性 工作记录机制 管理制度 3.3 软件测试文档管理 在软件测试过程中需要编制一系列的文档,从项目启动前的测试计划文档到项目结束时的测试总结报告,其中还有测试方案,测试用例文档和测试规程文档等。这些文档在测试过程中起着重要的作用,能很好的反映测试的计划、设计、执行和完成情况,体现项目负责人的管理水平、测试设计员的用例设计水平以及测试员的执行力,可以作为员工考核的重要依据。因此,进行有效的测试文档的管理和规范是非常有必要的。3.3 软件测试文档

    28、管理 软件测试文档按照功能和目的大致可以分为如下几类:测试计划文档 测试方案文档 测试用例文档 测试规程文档 测试报告文档 其他测试文档 本章小结 有效的软件测试过程的实施和管理是软件质量的重要保证,软件过程包括测试需求分析、测试计划、测试设计、测试执行和测试总结等步骤。测试需求分析的关键在于确定测试的范围;测试计划的关键在于进度的安排和任务分配;测试设计的关键在于测试方法和策略的灵活应用;测试执行的关键在于执行的效率和缺陷识别;测试总结的关键在于测试过程的评估和缺陷分析。实训习题 练习1软件测试过程分为哪几个主要的步骤?练习2软件测试计划主要包括哪些内容?练习3缺陷状态有哪些?如何进行缺陷状

    29、态分布分析?软件测试技术(第二版)主编 库波 杨国勋 中国水利水电出版社第4章 黑盒测试第4章 黑盒测试 4.1 黑盒测试方法 4.2 黑盒测试工具 教学要求:理解:黑盒测试概念掌握:等价类划分、边界值分析和因果图等方法、黑盒测试工具QTP的使用 4.1 黑盒测试方法 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。4.1 黑盒测试方法(续)黑盒测试主要试图发现下列几类错误:黑盒测试主要试图发现下列几类错误:1.是否有不正确或遗漏了的功能是否有不正确或遗漏了的功能2.在接口上,能否正确地接受输

    30、入数据,能否产生在接口上,能否正确地接受输入数据,能否产生正确地输出信息正确地输出信息3.访问外部信息是否有错;访问外部信息是否有错;4.性能上是否满足要求;性能上是否满足要求;5.界面是否错误,是否不美观;界面是否错误,是否不美观;6.初始化或终止错误。初始化或终止错误。4.1 黑盒测试方法(续)黑盒测试的优点有:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;5)在做软件自动化测试时较为方便。4.1 黑盒测试方法(续)黑盒测试的缺点有:

    31、1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。4.1 黑盒测试方法(续)具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。4.1.1 等价类划分法 等价类划分的办法是把程序的输入域划分成若干等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作部分,然后从每个部分中选取少数代表性数据作为测试用例。为测试用例。每一类的代表性数据在测试中的作用等价于这一每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个类中的其他值

    32、,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能例子发现了错误,这一等价类中的其他例子也能发现同样的错误;反之,如果某一类中的一个例发现同样的错误;反之,如果某一类中的一个例子没有发现错误,则这一类中的其他例子也不会子没有发现错误,则这一类中的其他例子也不会查出错误。查出错误。使用这一方法设计测试用例,首先必须在分析需使用这一方法设计测试用例,首先必须在分析需求规格说明的基础上划分等价类,列出等价类表求规格说明的基础上划分等价类,列出等价类表 4.1.1 等价类划分法(续)1划分等价类和列出等价类表 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中

    33、的错误都是等效的。等价类划分:有效等价类和无效等价类。有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。无效等价类:与有效等价类的定义恰巧相反。4.1.1 等价类划分法(续)确定等价类的原则确定等价类的原则:在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无

    34、效等价类。在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。4.1.1 等价类划分法(续)2确定测试用例确定测试用例 为每个等价类规定一个惟一的编号。设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。4.1.1 等价类划分法(续)例2-1某程序规定:“输入三个整数 a、b、c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形

    35、、等腰三角形及等边三角形时,分别作计算 ”。用等价类划分方法为该程序进行测试用例设计。4.1.1 等价类划分法(续)分析:(1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a、b、c 满足条件(1)(4),则输出下列四种情况之一:1.如果不满足条件(5),则程序输出为 非三角形 。2.如果三条边相等即满足条件(7),则程序输出为 等边三角形 。3.如果只有两条边相等、即满足条件(6),则程序输出为 等腰三角形 。4.如果三条边都不相等,则程序输出为 一般三角形 。4.1.1 等价类划分法(续)例2-3 城市的电话号码由两部分组成。这两部

    36、分的名称和内容分别是:地区码:以0开头的三位或者四位数字(包括0);电话号码:以非0、非1开头的七位或者八位数字。4.1.1 等价类划分法(续)划分等价类 4.1.1 等价类划分法(续)例2-4 保险公司计算保费费率的程序 某保险公司的人寿保险的保费计算方式为:投保额保险费率其中,保险费率依点数不同而有别,10点及10点以上保险费率为0.6%,10点以下保险费率为0.1%;而点数又是由 投保人的年龄、性别、婚姻状况和抚养人数来决定,具体规则如下所示:4.1.1 等价类划分法(续)分析:分析:年龄:一位或两位非零整数,值的有效范年龄:一位或两位非零整数,值的有效范围为围为199性别:一位英文字符

    37、,只能取值性别:一位英文字符,只能取值M或或F婚姻:字符,只能取值婚姻:字符,只能取值已婚已婚或或未婚未婚抚养人数:空白或一位非零整数(抚养人数:空白或一位非零整数(19)点数点数:一位或两位非零整数,值的范围为:一位或两位非零整数,值的范围为199 4.1.2 边界值分析法 边界点:边界点:边界点分为上点、内点和离边界点分为上点、内点和离点点 闭区间半开半闭区间开区间离点离点离点离点离点离点上点上点上点上点上点上点内点内点内点4.1.2 边界值分析法(续)边界值分析方法的原则:如果输入(输出)条件规定了取值范围,则应该以该范围的边界值及边界附近的值作为测试数据;如果输入(输出)条件规定了值的

    38、个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据;如果程序规格说明书中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试数据;4.1.2 边界值分析法(续)1边界条件 就是特殊情况,因为编程从根本上说不怀疑边界有问题。4.1.2 边界值分析法(续)2次边界条件 在软件内部,最终用户几乎看不到,但是软件测试仍有必要检查。4.1.2 边界值分析法(续)3边界值的选择方法边界值的选择方法 边界值分析是一种补充等价划分的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。4.1.2 边界值分析法(续)例2-6:测试计

    39、算平方根的函数 输入:实数 输出:实数 规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息平方根非法-输入值小于0并返回0;库函数Print-Line可以用来输出错误信息。4.1.2 边界值分析法(续)1)等价类划分:I.可以考虑作出如下划分:a、输入(i)=0 b、输出(a)=0 和(b)ErrorII.测试用例有两个:a、输入4,输出2。对应于(ii)和(a)。b、输入-10,输出0和错误提示。对应于(i)和(b)。2)边界值分析:划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。a、输入 最小负实数b、输入 绝对值很小的负数

    40、c、输入 0d、输入 绝对值很小的正数e、输入 最大正实数4.1.2 边界值分析法(续)例 2-6现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,4.1.3 因果图法 因果图法是从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转换为判定表。因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。4.1.3 因果图法(续)因果图设计步骤如下:因果图设计步骤如下:分析程序规格说明的描述中,哪些是原因,哪些是结果。并给每个原分析程序规格说明的描述中,哪些是原因,哪些是结果。

    41、并给每个原因和结果赋予一个标识符。因和结果赋予一个标识符。分析软件规格说明描述中的语义,找出原因与结果之间分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因原因与原因之间对应的关系,根据这些关系之间对应的关系,根据这些关系,画出因果图。画出因果图。由于语法或环境限制由于语法或环境限制,有些原因与原因之间有些原因与原因之间,原因与结果之间的组合情原因与结果之间的组合情况不可能出现,为表明这些特殊情况况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约在因果图上用一些记号表明约束或限制条件。束或限制条件。把因果图转换成判定表。把因果图转换成判定表。把判定表的每一列拿出来作为依据把

    42、判定表的每一列拿出来作为依据,设计测试用例。设计测试用例。4.1.3 因果图法(续)判定表(判定表(Decision Table)是分析和表达多)是分析和表达多逻辑条件下执行不同操作的情况下的工具。逻辑条件下执行不同操作的情况下的工具。利用判定表能够设计出完整的测试用例集利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合。的实施依赖于多个逻辑条件的组合。4.1.3 因果图法(续)判定表组成判定表组成 4.1.3 因果图法(续)例2-9 订购单的检查。如果金额超过500元,又未过期,则发出批准单和提货单;如果

    43、金额超过500元,但过期了,则不发批准单;如果金额低于500元,则不论是否过期都发出批准单和提货单,在过期的情况下还需要发出通知单。将这段需求进行判定表分析,可以得到如下判定表 4.1.3 因果图法(续)例2-10 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是两元硬币,在送出饮料的同时退还5角硬币。原因:投入1元5角硬币;投入2元硬币;按“可乐”按钮;按“雪碧”按钮;按“红茶”按钮。中间状态:已投币;已按钮。结果:退还5角硬币;送出“可乐”饮料;送出“雪碧”饮料;送出“红茶”饮料。4.1.3 因果

    44、图法(续)根据原因和结果,设计这样一个因果图 4.2 黑盒测试工具 常用的黑盒测试工具包括:功能测试工具。用于检测程序能否达到预期的功能呢要求并正常运行。性能测试工具。用于确定软件和系统的性能。4.2.1 黑盒测试工具介绍 WinRunner Mercury Interactive 公司的WinRunner 是一种企业级的功能测试工具,用于检测应用程序4.2.1 黑盒测试工具介绍(续)QTP是quicktest Professional的简称,是一种自动测试工具。QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功

    45、能点上,使用QTP的确能够帮助测试人员做很多工作。4.2.2 使用QTP进行黑盒测试 一QuickTest工作流程1.录制测试脚本前的准备2.录制测试脚本3.加强测试脚本4.2.2 使用QTP进行黑盒测试(续)二测试脚本当浏览网站或使用应用程序时,QuickTest会纪录你的操作步骤,并产生测试脚本。当停止录制后,会看到QuickTest在Keyword View中以表格的方式显示测试脚本的操作步骤。1.录制测试前的准备2.录制测试脚本3.分析录制的测试脚本4.执行测试脚本5.分析测试结果4.2.2 使用QTP进行黑盒测试(续)三三建立检查点建立检查点检查点是将指定属性的当前值与该属性的期望值

    46、进行比较的验证点。1.检查点的种类2.对象检查3.网页检查4.文字检查5.表格检查6.执行并分析使用检查点的测试脚本4.2.2 使用QTP进行黑盒测试(续)四四参数化测试脚本参数化测试脚本参数化测试脚本包括数据输入的参数化和检测点的参数化 1.定义参数2.修正受到参数化影响的步骤3.执行并分析使用参数的测试脚本4.2.2 使用QTP进行黑盒测试(续)五输出值的测试1.创建输出值2.执行并分析使用输出值的测试脚本实训习题 1.现有一个小程序,能够求出三个在-10000到+10000间整数中的最大者 2.有一个文本框要输入我们国家的身份证号,请设计相应的测试用例。3.现在要测试一个程序,在文本框中

    47、输入一个日期,能够显示出这个日期的下一天的日期。例如,在文本框中输入2006-5-1,能够显示出2006-5-2。请写出该程序的设计用例。实训习题4.下面是医院管理系统中的入院管理模块的需求说明,请根据需求说明写出测试用例。1)病人基本资料表录入、修改、删除、复制2)病人基本资料查询。3)病人预交款资料查询。实训习题5.实现QTP运行时从EXCEL文件中循环读取手机号码,自动生成唯一的随机密码(需要查询数据库),若生成密码在数据库中不唯一则重新生成,直到密码唯一后方可执行下一步操作。设置检查点,检查充值是否成功,若不成功则需要重新充值,直到充值成功为止;为满足业务要求不使用QTP自带的检查点功

    48、能;为了使脚本能在不同机器上正常运行,不使用QTP对象库中生成的对象而使用手工编写对象识别。软件测试技术(第二版)主编 库波 杨国勋 中国水利水电出版社第5章 白盒测试第5章 白盒测试 5.1 白盒测试方法 5.2 白盒测试工具5.1 白盒测试方法 一般来说,测试任何产品有两种方法:第一种测试方法就是我们第二章提到的黑盒测试,第二种测试方法为白盒测试又称为结构测试。5.1.1 代码检查 代码检查即静态白盒测试,在不执行程序的条件下仔细审查代码(可采用互查、走查等形式),从而找出软件故障的过程。正式审查过程中有4个关键要素:1、确定问题。2、遵守准则。3、提前准备。4、编写审查报告。5.1.1代

    49、码检查 代码检查应注意的哪些可能存在的软件缺陷呢?首先必须对代码的规范性进行审查,另外还要考虑以下几种类别的错误。1、数据的引用错误。2、数据类型错误。3、数据声明错误。4、计算错误。5、逻辑运算错误。6、控制流程错误。7、子程序参数错误。8、输入/输出错误。9、其他错误。5.1.2覆盖测试 覆盖测试以程序内部的逻辑结构为基础设计测试用例,要求对被测程序的逻辑结构有清楚的了解。根据覆盖测试的目标不同,可分为:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、组合覆盖及路径覆盖。下面以一个小程序为例。Begin if(x0)and(y2)or(z0)then z=z+5;其中and、or是逻辑运算符

    50、,3个输入参数是x,y,z。其对应的程序流程图如图3-1所示(a、b、c、d、e为控制流上的若干程序点)。5.1.2覆盖测试1、语句覆盖 所谓语句覆盖是指设计若干个测试用例,使程序中的每个可执行语句至少被执行一次。语句覆盖在测试程序时,对检查不可执行语句方面起到一定作用,但被测程序并不是语句间无序的堆积,语句之间存在着各种各样的内部联系。所以,语句覆盖并不能排除被测试程序中存在故障的风险。5.1.2覆盖测试2、判定覆盖 所谓判定覆盖是指设计若干个测试用例,使得程序中的每个判定至少得到一次真值和假值,即判断中的真假分支至少均执行一次。判定覆盖又称为分支覆盖。5.1.2覆盖测试3、条件覆盖 所谓条

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:电子教案·软件测试技术(第二版)课件.ppt
    链接地址:https://www.163wenku.com/p-3214706.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库