《2022年软件评测师教程笔记之黑盒测试案例设计技术参照 .pdf》由会员分享,可在线阅读,更多相关《2022年软件评测师教程笔记之黑盒测试案例设计技术参照 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 5 章黑盒测试案例设计技术5.1 概述黑盒测试中运用等价类划分、边界值分析、因果图法、判定表法、正交试验法、功能图法等测试用例设计方法的原理与实现,并从测试设计说明、测试用例说明、测试程序说明三个方面介绍如何编写测试用例。5.2 测试用例设计方法通过制定测试用例指导测试的实施。5.2.1 什么是测试用例测试用例就是设计一个情况,软件程序在这种情况下,必须能够正常运行并且达到程序所设计的执行结果。如果程序在这种情况下不能正常运行,而且这种问题会重复发生,那就表示软件程序人员已经测出软件有缺陷,这时候就必须将这个问题标示出来,并且输入到问题跟踪系统内,通知软件开发人员。软件开发人员接获通知后,
2、将这个问题修改完成于下一个测试版本内,软件测试工程师取得新的测试版本后,必须利用同一个用例来测试这个问题,确保该问题已修改完成。所谓的测试用例设计就是将软件测试的行为活动,作一个科学化的组织归纳。软件测试是有组织性、步骤性和计划性的,而设计软件测试的目的,就是为了能将软件测试的行为转换为可管理的模式。软件测试是软件质量管理中最实际的行动,同时也是耗时最多的一项。基于时间因素的考虑,软件测试行为必须能够加以量化,才能进一步让管理阶层掌握所需要的测试过程,而测试用例就是将测试行为具体量化的方法之一。使用测试用例的好处主要体现在以下几个方面:( 1)在开始实施测试之前设计好测试用例,可以避免盲目测试
3、并提高测试效率。( 2)测试用例的使用令软件测试的实施重点突出、目的明确。( 3)在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。( 4)功能模块的通用化和复用化使软件易于开发,而测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断率升。5.2.2 等价类划分法等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。把说明中对输入的要求和输出的要求区别开来并加以分解。等价类划分的方法是把程序的输入域
4、分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。等价类划分是一种典型的黑盒测试方法,用这一方法设计测试用例完全不考虑程序的内部结构,只根据对程序的要求和说明,即需求规格说明书。我们必须仔细分析和推敲说明书的各项需求,特别是功能需求。等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。首先必须在分析需求规格说明的基础上划分等价类,列出等价类表。1、划分等价类和列出等价类表等价类是指某个输入域的了集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合名师资料总结 - -
5、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 理地假定:测试某等价类的代表值就等于对这一类其他值的测试。等价类划分有两种不同的情况:有效等价类和无效等价类。有效等价类:指对于程序的规格说明来说是合理的、有意义的输入数据结构的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。无效等价类:与有效等价类的定义恰巧相反。下面给出6 条确定等价类的原则:( 1)在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等
6、价类。( 2)在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。( 3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。( 4)在规定了输入数据的一组值(假定n 个) ,并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。( 5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。( 6)在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类。2、确定测试用例根据已列出的等价类表
7、,按以下步骤确定测试用例:(1)为每个等价类规定一个惟一的编号。( 2)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖。(3)设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖。我们可以设三角形的3 条边分别为A,B,C。如果它们能够构成三角形的3 条边,必须满足: A0,B0,C0,且 A+BC ,B+CA ,A+CB 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8
8、 页 - - - - - - - - - 5.2.3 边界值分析法1、边界分析2、次边界条件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - (3)其他一些边界条件3、边界值的选择方法对边界值设计测试用例,应遵循以下几条原则:( 1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。(2)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少1、最大个数多1 的数作
9、为测试数据。(3)根据规格说明的每个输出条件,使用前面的原则(1) 。(4)根据规格说明的每个输出条件,使用前面的原则(2) 。( 5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。(6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。(7)分析规格说明,找出其他可能的边界条件。5.2.4 错误推测法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - -
10、 - - 错误推测法就是基于经验和直觉推测程序中所有可能存在的各种错误,有针对地设计测试用例的方法。错误推测法的基本思想是列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。5.2.5 因果图法1、因果图设计方法因果图法是从用自然语言书写的程序规格说明的描述中找出因(输入条件) 和果(输出或程序状态的改变),通过因果图转换为判定表。利用因果图导出测试用例需要经过以下几个步骤:( 1)分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类,而结果是输出条件。(2)分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因
11、果图”。(3)标明约束条件。由于语法或环境的限制,并将其表示成连接各个原因与各个结果的“因果图”。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用若干个标准的符号标明约束条件。(4)反因果法转换成判定表。(5)为判定表中每一列表示的情况设计测试用例。因果图生成的测试用例(局部,组合关系下的)包括了所有输入数据的取TRUE 与取 FALSE 的情况,构成的测试用例数目达到最少,且测试用例数目随输入数据数目的增加而增加。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
12、 - - - - - - 第 5 页,共 8 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 5.2.6 判定表驱动法1、判定表组成判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。条件项:列出针对它所列条件的取值,在所有可能情况下的真假值。动作项:列出在
13、条件项的各种取值情况下应该采取的动作。规则:任何一个条件组合的特定取值及其相应要执行的操作。在判定表中贯穿也就有多少条规则,条件项和动作项就有多少列。2、判定表建立判定表的建立因该依据软件规格说明,步骤如下:(1)确定规则的个数。假如有n 个条件,每个条件有两个取值(0,1) ,故有 2n 种规则。(2)列出所有的条件桩和动作桩。(3)填入条件项。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - (4)填入动作项。制定初始判定表。
14、(5)简化。合并相似规则或者相同动作。Beizer 指出了适合使用判定表设计测试用例的条件:(1)规格说明以判定表的形式给出,或很容易转换成判定表。(2)条件的排列顺序不影响执行哪些操作。(3)规则的排列顺序不影响执行哪些操作。(4)当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则。(5)如果某一规则要执行多个操作,这些操作的执行顺序无关紧要。5.2.7 正交试验法1、正交试验设计方法依据 Galois 理论,正交试验设计方法是从大量的试验数据中挑选适量的、有代表性的点,从而合理地安排测试的一种科学的试验设计方法。简单对比法的最大优点就是试验次数少,例如:6 因子 5 水平试验
15、,在不重复时,只用5+(6-1)+(5-1)=25次试验就可以了。当因子数和水平数都不太大时,尚可通过作图的办法来选择分布很均匀的试验点。但是因子数和水平数多了,作图的方法就不行了。试验工作者在长期的工作中总结出一套办法,创造出所谓的正交表。按照正交表来安排试验次数,而且计算分析简单,能够清晰地阐明试验条件与指标之间的关系。用正交表来安排试验及分析试验结果,这种方法叫正交试验设计法。2、正交试验测试用例设计步骤利用正交试验设计测试用例的步骤如下:提取功能说明,构造因子“”状态表。把影响实验指标的条件称为因子,而影响实验因子的条件叫做因子的状态。加权筛选,生成因素分析表。利用正交表构造测试数据集
16、,正交表的推导依据Galois 理论。5.2.8 功能图法1、功能图设计方法功能图方法是用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例。测试用例生成规则:为了把状态迁移(测试路径)的测试用例与逻辑模型的测试用例组合起来,从功能图生成实用的测试用例,需定义下面的规则。一个结构化的状态迁移中,定义3 种形式的循环:顺序、选择和重复。5.2.9 场景法5.3.4 测试程序说明ANSI/IEEE829标准把测试程序定义为“明确指出为实现相关测试设计而执行具体测试用例和操作软件系统的全部步骤” 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -