当前位置:文档之家› 因果图之自动售货机

因果图之自动售货机

因果图之自动售货机
因果图之自动售货机

测试用例设计自动售货机因果图分析

实验三黑盒测试(二) 一、实验目的 通过本实验,掌握因果图法生成测试用例的步骤。 二、相关内容 利用因果图生成测试用例的基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。 三、实验内容 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。 要求: 1、编写程序,实现上述自动售货过程。(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。) 2、用因果图法设计测试用例。 (1)正确画出因果图。(2)画出决策表。(3)给出测试用例。 提示:可按如下步骤进行: 1)分析这一段说明,列出原因和结果。 2)画出因果图。(所有原因结点列在左边,所有结果点列在右边。可以考虑建立中间结点,表示处理的中间状态。比如,可设如下几种中间状态:该找5角,可找5角,按下按钮、钱已付清) 3)画出决策表。 4)给出测试用例。 四、实验报告 实验报告提交内容:源程序清单、因果图、决策表。(测试用例有时间就设计,没有时间可以不设计) 一,因果图; 因果图-画条件和结果

测试用例设计方法之因果图法

测试用例设计方法之因果图法 (一)因果图法的来源 大家熟悉的等价类划分法和边界值分析法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等; 但是,如考虑所输入条件之间的相互组合,会由于组合情况数目相当大,需要大量的测试用例; 因果图法,是一种帮助人们系统地选择一组高效率测试用例的方法。(二)因果图法的特点 考虑输入条件间的组合关系; 考虑输出条件对输入条件的信赖关系,即因果关系; 测试用例发现错误的效率高; 能检查出功能说明中的某些不一致或遗漏; 因果图方法最终生产的就是判定表,它适合于检查程序输入条件和各种组合情况。 (三)因果图法基本步骤 1.分割功能说明书 对于规模比较大的程序来说,由于输入条件的组合数太大,所以很难整体上使用一个因果图。我们可以把它划分为若干部分,然后分别对每个部分使用因果图。例如,测试编译程序时,可以把每个语句作为一个部分。 2.识别出“原因”和“结果”,并加以编号 所谓原因,是指输入条件或输入条件的等价类;而结果则是指输出条件或输出条件的等价类。每个原因或结果都对应于因果图中的一个节点。当原因或结果成立(或出现)时,相应的节点取值为1,否则为0。 例如,有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。

分析这一段说明,我们可以列出原因和结果。 原因如下: ?投入1元硬币; ?投入5角硬币; ?按下“橙汁”按钮; ?按下“啤酒”按钮 结果 ?退还5角钱; ?送出“橙汁”饮料; ?送出“啤酒”饮料 3.根据功能说明书中规定的原因和结果之间的关系画出因果图 因果图的基本符号如图1所示: 1.因果图的基本符号 图中左边的节点表示原因,右边的节点表示结果。恒等、非、或、与的含义: ?恒等:若a=1,则b=1;若a=0,则b=0; ?非:若a=1,则b=0,若a=0,则b=1; ?或:若a=1或b=1或c=1,则d=1;若a= b= c=0,则d=0; ?与:若a= b= c=1,则d=1;若a=0或b=0或c=0,则d=0。 画因果图时,原因在左,结果在右,由上而下排列,并根据功能说明书中规定的原因和结果之间的关系,用上述基本符号连接起来。在因果图中还可以引入一些中间节点。

自动售货机测试用例

题目: 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下: 若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。 若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 1.分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 2 1."售货机〖零钱找完〗灯亮 2 2."退还1元硬币 2 3."退还5角硬币

2 4."送出橙汁饮料 2 5."送出啤酒饮料 2.画出因果图 如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 1 1."投入1元硬币且押下饮料按钮 1 2."押下〖橙汁〗或〖啤酒〗的按钮 1 3."应当找5角零钱并且售货机有零钱找 1 4."钱已付清 3.转换成判定表: 4.设计测试用例 1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁饮料。 2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒饮料。 3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。

4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。 5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。 6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。 7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。 8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。 9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并退还1元硬币。 10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并退还1元硬币。 11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。 12)在售货机没有零钱找的情况下,投入5角硬币,押下橙汁按钮,售货机“零钱找完”灯亮,并送出橙汁饮料。 13)在售货机没有零钱找的情况下,投入5角硬币,押下啤酒按钮,售货机“零钱找完”灯亮,并送出啤酒饮料。 14)在售货机没有零钱找的情况下,投入5角硬币,售货机“零钱找完”灯亮。 15)在售货机没有零钱找的情况下,押下橙汁按钮,售货机“零钱找完”灯亮。 16)在售货机没有零钱找的情况下,押下啤酒按钮,售货机“零钱找完”灯亮。

自动售货机问题因果图

【例】有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:“若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。” ?分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 3.投入5角硬币 5.押下啤酒按钮 2.投入1元硬币 4.押下橙汁按钮 结果:21. 售货机〖零钱找完〗灯亮24. 送出橙汁饮料 22. 退还1元硬币25. 送出啤酒饮料 23. 退还5角硬币 ?画出因果图,如图5.17所示。所有原因结点列在左边,所有结果结点列在右边。 建立两个中间结点,表示处理的中间状态。 中间结点:11. 投入1元硬币且押下饮料按钮 12. 押下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清 图5.17 因果图 ?由于2 与3 ,4 与5 不能同时发生,分别加上约束条件E。 ?转换成判定表:

图5.18 由因果图得到的判定表 在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。 因果图方法是一个非常有效的黑盒测试方法,它能够生成没有重复性的且发现错误能 力强的测试用例,而且对输入、输出同时进行了分析。

测试方法选择的综合策略 Myers提出了使用各种测试方法的综合策略: ?首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率的最有效的方法。 ?在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的能力最强。 ?采用错误推断法再追加测试用例,这需要依靠测试工程师的智慧和经验。 ?对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。 ?如果程序的功能说明中含有输入条件的组合情况,则应考虑选用决策表法或因果图法。

测试用例设计—自动售货机因果图分析

测试用例设计—自动售货机因果图分析 命题 设计了一个自动售货机软件测试用例,用于处理单价为50美分的饮料。规格如下:如果你放入50美分或1元硬币,并按下按钮[橙汁]或[啤酒],相应的饮料将交付如果自动售货机没有零钱,红灯将显示[零钱已经被换了],然后在放入1元硬币并按下按钮后,饮料将不会被递送,并且1元硬币将退出。如果有零钱,显示“换出”的红灯将熄灭,50美分将在饮料交付时返还。 分析 根据这个命题,我们可以分析自动售货机业务中存在5个条件和5个结果。条件如下: 1。自动售货机有零钱。投入1元硬币3。投入50美分硬币4。按下橙汁按钮5。按下啤酒按钮结果: 1。自动售货机[换出]灯亮着。当自动售货机没有变化时,会出现红灯 2。当硬币投入1元并且自动售货机没有零钱时,返还1元硬币。3.当硬币投入1元时,返还50美分。当自动售货机4有变化时。发送橙汁饮料5。发送啤酒饮料 因果图-绘制条件和结果 有变化红灯亮1元1元50美分,啤酒50美分,橙汁 因果图-绘制简单关系

在绘制空白条件和结果后,我们可以标记 1为主题中最直接和最简单的因果条件。条件“有变化”和结果“红灯亮”之间的关系是“没有”。当“有零钱”时,红灯不亮,而当自动售货机“没有零钱”时,红灯必须亮。 2年,有条件的“投1元”和有条件的“投50分”是一种“E”关系。这两个动作不能同时发生,即1元钱和50美分(不能同时发生);但是,我们允许“没有1元钱”和“没有50美分”(同时可能是假的) 3,“啤酒选择”条件和“橙汁选择”条件为“e”关系,这两个动作不能同时发生,即“啤酒选择”和“橙汁选择”(不能同时为真);但是我们允许“不喝啤酒”和“不喝橙汁”(这可能同时是错误的) 4,条件“啤酒选择”和条件“橙汁选择”相当于程序处理过程,即价格和系统处理方法都是相同的 ,因此这两个条件可以组合成一个中间节点此外,在两个条件之间使用“或”的关系 5。请注意,有条件的“1元”和有条件的“50美分”不是等价关系。从表面上看,他们都是“钱”,这似乎是相似的。然而,程序的处理是完全不同的。在“50美分”(因为标题规定所有商品都是50美分)之后,完全没有必要判断当前的自动售货机是否有任何变化,但是“1元”不是 有小变化,红灯亮,1元E投50美分选择商品,1元找50美分选择啤酒E选择橙汁V给啤酒给橙汁

测试用例设计技术之----因果图

测试用例设计技术之----因果图 上次讲了因果图法的基本原理,这种方法是有因必有果,正是由于多个原因的不同组合,使得结果也不尽相同。由于组合情况很多,才用因果图法能大大简化测试用例的数量。 我们来看一个例子: 有一个饮料自动售货机(处理单价为5角钱)的控制处理软件,它的软件规格说明如下: 若投入5角钱的硬币,按下“橙汁”或“啤酒”的按钮,则相应的饮料就送出来。若投入1元钱的硬币,同样也是按“橙汁”或“啤酒”的按钮,则自动售货机在送出相应饮料的同时退回5角钱的硬币。 怎么分析这种具有一定实际意义的情况呢? 按照因果图的说法,我们先分析一下,把原因与结果先找出来: 原因是输入条件,在自动售货机里,硬币的投入、按钮的按下,都是输入,这样的话就有以下几个原因: (1)投入5角硬币 (2)投入1元硬币 (3)按下“橙汁”按钮 (4)按下“啤酒”按钮 结果有哪些呢? (1)送出“橙汁”饮料 (2)送出“啤酒”饮料 (3)找5角硬币 按照因果关系,把因果图的雏形画出来: 再加上因果图的约束关系,那么图形就成为以下:

根据最终的因果图生成判定表: 最后把测试用例写出来: 用例编号用例说明输入数据预期结果SHJ-001 (1)投入硬币 (2)按下按钮1元 点击“橙汁”按钮退还5角硬币 送出“橙汁”饮料 SHJ-002 (1)投入硬币 (2)按下按钮1元 点击“啤酒”按钮退还5角硬币 送出“啤酒”饮料 SHJ-003 (1)投入硬币1元给出提示信息SHJ-004 (1)投入硬币

(2)按下按钮5角 点击“橙汁”按钮送出“橙汁”饮料 SHJ-005 (1)投入硬币 (2)按下按钮5角 点击“啤酒”按钮送出“啤酒”饮料 SHJ-006 (1)投入硬币5角给出提示信息 SHJ-007 (1)按下按钮“橙汁”按钮给出提示信息SHJ-008 (1)按下按钮“啤酒”按钮给出提示信息

软件测试工程师面试题分享

概括地说,软件质量就是软件与明确的和隐含的定义的需求相一致的程度”。具体地说, 软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件 都应具有的隐含特征的程度。强调以下三点: 1.软件需求是度量软件质量的基础,与需求不一致就是质量不高。 2.指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。 3.通常,有一组没有显式描述的隐含需求(如期望软件是容易维护的)。如果软件满足明 确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。 影响软件质量的主要因素:这些因素是从管理角度对软件质量的度量。可划分为三组, 分别反应用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险(产品运 行);可理解性、可维修性、灵活性、可测试性(产品修改);可移植 性、可再用性、互运行性(产品转移)。 很多时候,说起软件质量,就会提到QA和QG QA即英文QUALITY ASSURANC的简称,中文意思是质量保证 QC即英文QUALITY CONTRO的简称,中文意义是质量控制 QC和QA的主要区别前者是保证产品质量符合规定,后者是建立体系并确保体系按要求运作 ,以提供内外部的信任?同时QC和QA又有相同点:即QC和QA都要进行验证,如QC按标准检测产品就是验 证产品是否符合规定要求,QA进行内审就是验证体系运作是否符合标准要求, 又 如QA进行出货稽核和可靠性检测,就是验证产品是否已按规定进行各项活动,是否能满足规 定要求,以确保工厂交付的产品都是合格和符合相关规定的。 软件开发各个阶段SQA的目标 需求分析: 确保客户所要求的系统是可行的。 确保客户指定的需求确实能够满足他的真正要求。 避免开发者和客户之间的误解。 向用户提供为满足他所提出的需求而实际构建的适当软件系统。软件规格说明: 通过建立需求跟踪文档,确保规格说明书与系统需求保持一致。确保规格说明书能适当地改进系统 的灵活性、可维护性以及性能。确保已建立了测试策略。 确保已建立了现实的开发进度表,包括预定的评审。 确保已为系统设计了正式的变更规程。 设计: 确保已建立用于描述设计的标准,并且确保遵循这些标准。

自动售货机问题因果图

【例】有一个处理单价为角钱地饮料地自动售货机软件测试用例地设计. 其规格说明如下:“若投入角钱或元钱地硬币,押下〖橙汁〗或〖啤酒〗地按钮,则相应地饮料就送出来.若售货机没有零钱找,则一个显示〖零钱找完〗地红灯亮,这时在投入元硬币并押下按钮后,饮料不送出来而且元硬币也退出来;若有零钱找,则显示〖零钱找完〗地红灯灭,在送出饮料地同时退还角硬币.” 分析这一段说明,列出原因和结果 原因:.售货机有零钱找.投入角硬币.押下啤酒按钮 .投入元硬币.押下橙汁按钮 结果:. 售货机〖零钱找完〗灯亮. 送出橙汁饮料 . 退还元硬币. 送出啤酒饮料 . 退还角硬币 画出因果图,如图所示.所有原因结点列在左边,所有结果结点列在右边. 建立两个中间结点,表示处理地中间状态. 中间结点:. 投入元硬币且押下饮料按钮 . 押下〖橙汁〗或〖啤酒〗地按钮 . 应当找角零钱并且售货机有零钱找 . 钱已付清 图因果图 由于与,与不能同时发生,分别加上约束条件. 转换成判定表:

图由因果图得到地判定表 在判定表中,阴影部分表示因违反约束条件地不可能出现地情况,删去.第列与第列因什么动作也没做,也删去.最后可根据剩下地列作为确定测试用例地依据.个人收集整理勿做商业用途 因果图方法是一个非常有效地黑盒测试方法,它能够生成没有重复性地且发现错误能力强地 测试用例,而且对输入、输出同时进行了分析.个人收集整理勿做商业用途

测试方法选择地综合策略 提出了使用各种测试方法地综合策略: 首先进行等价类划分,包括输入条件和输出条件地等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率地最有效地方法.个人收集整理勿做商业用途在任何情况下都必须采用边界值分析法.这种方法设计出地测试用例发现程序错误地能力最强. 采用错误推断法再追加测试用例,这需要依靠测试工程师地智慧和经验. 对照程序逻辑,检查已设计出地测试用例地逻辑覆盖程度.如果没有达到要求地覆盖标准,则应当再补充更多地测试用例.个人收集整理勿做商业用途 如果程序地功能说明中含有输入条件地组合情况,则应考虑选用决策表法或因果图法.

测试用例设计—自动售货机因果图分析

命题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 分析 根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是: 条件: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 1.售货机〖零钱找完〗灯亮 当售货机中没有零钱的时候就有亮红灯 2.退还1元硬币 当投入1元,而且售货机中没有零钱可找的时候 3.退还5角硬币 当投入1元,而且售货机中有零钱可找的时候 4.送出橙汁饮料 5.送出啤酒饮料 因果图-画条件和结果 有零钱 选橙汁 选啤酒 投5角 投1 元 红灯亮 出橙汁 出啤酒 找5角 找1元 因果图-画简单关系 在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出 1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。 2、条件“投1元”和条件“投5角”是一个“E ”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。 3、条件“选啤酒”和条件“选橙汁”是一个“E ”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。 4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都

自动售货机测试用例

题目:有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 1.分析这一段说明,列出原因和结果 原因: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 21.售货机〖零钱找完〗灯亮 22.退还1元硬币 23.退还5角硬币 24.送出橙汁饮料 25.送出啤酒饮料 2.画出因果图 如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点: 11. 投入1元硬币且押下饮料按钮 12. 押下〖橙汁〗或〖啤酒〗的按钮 13. 应当找5角零钱并且售货机有零钱找 14. 钱已付清 3.转换成判定表:

4.设计测试用例 1)在售货机有零钱找的情况下,投入1元硬币,押下橙汁按钮,找回5角硬币并送出橙汁 饮料。 2)在售货机有零钱找的情况下,投入1元硬币,押下啤酒按钮,找回5角硬币并送出啤酒 饮料。 3)在售货机有零钱找的情况下,投入1元硬币,系统不做任何处理。 4)在售货机有零钱找的情况下,投入5角硬币,押下橙汁按钮,送出橙汁饮料。 5)在售货机有零钱找的情况下,投入5角硬币,押下啤酒按钮,送出啤酒饮料。 6)在售货机有零钱找的情况下,投入5角硬币,系统不做任何处理。 7)在售货机有零钱找的情况下,押下橙汁按钮,系统不做任何处理。 8)在售货机有零钱找的情况下,押下啤酒按钮,系统不做任何处理。 9)在售货机没有零钱找的情况下,投入1元硬币,押下橙汁按钮,售货机“零钱找完”灯 亮,并退还1元硬币。 10)在售货机没有零钱找的情况下,投入1元硬币,押下啤酒按钮,售货机“零钱找完”灯 亮,并退还1元硬币。 11)在售货机没有零钱找的情况下,投入1元硬币,售货机“零钱找完”灯亮。 12)在售货机没有零钱找的情况下,投入5角硬币,押下橙汁按钮,售货机“零钱找完”灯 亮,并送出橙汁饮料。 13)在售货机没有零钱找的情况下,投入5角硬币,押下啤酒按钮,售货机“零钱找完”灯 亮,并送出啤酒饮料。 14)在售货机没有零钱找的情况下,投入5角硬币,售货机“零钱找完”灯亮。 15)在售货机没有零钱找的情况下,押下橙汁按钮,售货机“零钱找完”灯亮。 16)在售货机没有零钱找的情况下,押下啤酒按钮,售货机“零钱找完”灯亮。

测试用例设计方法2——因果图判定表

测试用例设计方法2——因果图判定表 判定表法 判定表是分析和表达多种输入情况下执行不同动作的工具,判定表方法主要用于处理程序输入条件的不同组合,但是要求条件的组合必须是bool类型,而且条件和预期的结果都是可以分析出来的。判定表能够有效地弥补等价类和边界值方法的不足,使得输入条件之间的组合和相互影响得到充分的测试。 使用判定表的一般思路是: 1、需求分析,分析出条件和结果之间的各种组合 2、将条件和结果分别填入判定表 3、讲条件和结果进行二进制排列 4、针对每一项组合,分析出结果,并去除无效项,是判定表得到简化。在合并判定表时,如果条件之中只有一个不同,则可以合并。如果判定表的组合不够多,建议不要进行合并,这样可以测试的充分一些。 5、每一列生成一个测试用例 以阅读指南的例子来设计一个判定表:从例子中可以看到,不同的条件组合 使用判定表方法可以充分弥补等价类边界值得不足,但是当输入条件过多时,使用判定表会产生大量测试用例。而其无效用例不易发现,更不能覆盖条件之间的先后关系。因此,在一定情况下,使用判定表还需要因果图的帮忙。 -------------------------------------------------------------------------------- 因果图

因果图用于描述系统之间的输入输出,输入输出之间的约束关系和因果关系。因果图与判定表往往结合使用,使用因果图可以得到判定表。 使用因果图的方法: 1、分析输入输出并进行标识 2、分析输入和输入、输入和输出之间的关系 3、将得到的关系使用因果图的方法表示出来 4、根据因果图得到判定表 5、依据判定表生成测试用例 这里分析一个自动售货机的因果图分析方法: 条件:有一个处理单价为5角的自动售货机,当投入5角或1元硬币时,选择橙汁或啤酒,饮料出来;若自动售货机没有零钱,则显示零钱照完,亮红灯,这时候投入的1元被退出来,饮料不送出来。如果有零钱,则出饮料并找5角钱。 分析: 1、选择橙汁和啤酒是同一类型,可以进行归类 2、选择5角和1元看似是同一类,但是他们所触发的操作是不同的,不能归类 3、橙汁和啤酒、5角和1元是相异的关系 4、分析不同的组合并得到最终结果 总结:因果图的使用和分析比较复杂,使用因果图可能会消耗很多的时间,因此正确的策略是先考虑其他的测试用例设计方法,最后再使用因果如,可以尽量的减少工作的时间并提高效率。

《软件测试》实验指导书

《软件测试》实验指导书 软件工程教研室编写 2014年2月

实验一单元测试(4学时) 实验类别:基本实验 实验目的: 1、掌握黑盒测试技术,并能应用黑盒测试技术设计测试用例。 2、掌握白盒测试技术,并能应用白盒测试技术设计测试用例。 3、掌握对测试用例进行优化设计方法。 4、掌握单元测试技术,并按单元测试的要求设计测试用例。 5、掌握一种单元测试工具的使用。 实验内容: 一、黑盒测试题目:选择2个完成。 1.题目一:电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前缀:非'0'或'1'的三位数字; (3)后缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 2.题目二:三角形问题 根据下面给出的规格说明,利用边界值测试的方法,给出足够的测试用例。 “一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。” 3.题目三:日期问题 用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、day 和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为2004 年11月29日,则该程序的输出为2004年12月1日。 (1) 分析各种输入情况,列出为输入变量month 、day 、year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。 (3) 根据(1) 和(2) ,画出简化后的决策表。 4.题目四:自动售货机问题 向自动售货机中投入1元或5角硬币,并按下【橙汁】或【可口可乐】按钮,则相应饮料送出来。如果售货机没有零钱找,当投入1元硬币时,显示【零钱找完】信息,并退出1元硬币;如果有零钱找,不显示【零钱找完】信息,则送出饮料并找回5角硬币。 (1)用因果图进行测试 (2)画出因果图,把因果图转换为决策表,根据决策表设计测试用例。

软件测试复习题_带答案

软件测试复习题 一、判断 (01)测试是为了验证软件已正确地实现了用户的要求。错 (02)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。对 (03)白盒测试不仅与程序的内部结构有关,还要考虑程序的功能要求。错 (04)黑盒测试的测试用例是根据程序内部逻辑设计的。错 (05)黑盒测试的测试用例是根据应用程序的功能需求设计的。对 (06)为了快速完成集成测试,采用一次性集成方式是适宜的。错 (07)在软件开发过程中,若能推迟暴露其中的错误,则为修复和改进错误所花费的代价就会降低。错 (05)在软件开发过程中,若能尽早暴露其中的错误,则为修复和改进错误所花费的代价就会降低。对 (09)单元测试通常由开发人员进行。对 (10)压力测试通常需要辅助工具的支持。对 (11)压力测试不需要辅助工具的支持。错 (12)测试人员说:“没有可运行的程序,我无法进行测试工作”。错 (13)软件测试员可以对产品说明书进行白盒测试。错 (14)软件测试员无法对产品说明书进行白盒测试。对 (15)在设计测试用例时,应包括合理的输入条件和不合理的输入条件。对 二、选择 1、用黑盒技术设计测试用例的方法之一为( a ) A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试 2、软件测试的目的是( b) A)避免软件开发中出现的错误 B)发现软件开发中出现的错误 C)尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D)修改软件中出现的错误 3、下列软件属性中,软件产品首要满足的应该是( a ) A)功能需求B)性能需求C)可扩展性和灵活性D)容错纠错能力4、坚持在软件的各个阶段实施下列哪种质量保障措施,才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期( a)。 A)技术评审 B)程序测试 C)改正程序错误D)管理评审 5、以程序的内部结构为基础的测试用例技术属于( d )。 A)灰盒测试B)数据测试C)黑盒测试D)白盒测试

测试用例设计—自动售货机因果图分析

测试用例设计—自动售货机因果图分析

命题 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 分析 根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是: 条件: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 1.售货机〖零钱找完〗灯亮当售货机中没有零钱的时候就有亮红灯 2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候 3.退还5角硬

币 当投入1元,而且售货机中有零钱可找的时候 4.送出橙汁饮料 5.送出啤酒饮料 因果图-画条件和结果 有零钱 选橙汁 选啤酒 投5角 投1元 红灯亮 出橙汁 出啤酒 找5角 找1元 因果图-画简单关系 在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出 1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。 2、条件“投1元”和条件“投5角”是一个“E ”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入

5角钱”(可以同时为假)。 3、条件“选啤酒”和条件“选橙汁”是一个“E ”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。 4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。而且这两个条件之间使用“或”的关系。 5、注意,条件“投1元”和条件“投5角”不是等价关系,表面上看,他们都是“钱”,好像差不多,但是对于程序的处理过程确实完全不同的,“投5角”后完全不用判断当前售货机中是否有零钱(因为题目中规定所有的商品都是5角钱),而“投1元”就不行了。 有零钱 选橙汁 选啤酒投5角 投1元红灯亮 出橙汁 出啤酒 找5角 找1元 E E 选商品 V

测试用例设计—自动售货机因果图分析

测试用例设计—自动售货机因果图分析 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

命题有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 分析 根据该命题,我们可以分析出,自动售货机的业务中一共存在5个条件和5个结果,分别是: 条件: 1.售货机有零钱找 2.投入1元硬币 3.投入5角硬币 4.押下橙汁按钮 5.押下啤酒按钮 结果: 1.售货机〖零钱找完〗灯亮???当售货机中没有零钱的时候就有亮红灯 2.退还1元硬币当投入1元,而且售货机中没有零钱可找的时候 3.退还5角硬币????????????当投入1元,而且售货机中有零钱可找的时候 4.送出橙汁饮料 5.送出啤酒饮料 因果图-画条件和结果

因果图-画简单关系 在画完空白的条件和结果之后,我们可以将题目中最直接和简单的因果条件标出 1、条件“有零钱”和结果“红灯亮”是一个“非”的关系,当“有零钱”的时候,红灯是不亮的,而当售货机中“没有零钱”的时候,红灯必须要亮的。 2、条件“投1元”和条件“投5角”是一个“E”的关系,这两个动作不可能同时发生,即同时投入1元钱和5角钱(不能同时为真);但是我们允许即“不投入1元钱”也“不投入5角钱”(可以同时为假)。 3、条件“选啤酒”和条件“选橙汁”是一个“E”的关系,这两个动作不可能同时发生,即同时“选择啤酒”和“选择橙汁”(不能同时为真);但是我们允许即“不选择啤酒”也“不选择橙汁”(可以同时为假)。 4、条件“选啤酒”和条件“选橙汁”对于程序处理过程是等价的,即二者无论是价格还是系统的处理方法都是相同的,因此这两个条件可以合并为一个中间节点。而且这两个条件之间使用“或”的关系。 5、注意,条件“投1元”和条件“投5角”不是等价关系,表面上看,他们都是“钱”,好像差不多,但是对于程序的处理过程确实完全不同的,“投5角”后完全不用判断当前售货机中是否有零钱(因为题目中规定所有的商品都是5角钱),而“投1元”就不行了。 因果图-送出商品 现在我们从结果的角度考虑,要想“出啤酒”或者“出橙汁”,从现实买卖中分析必须要有什么先决条件呢?是的,就是“你的钱要付清”,而且你一定要选择了“啤酒”或者“橙汁”才行。而在上面的已有因果图中,我们无法找到“钱付清”的因素,因此这时候我们可以试着再加一个中间节点,就叫“钱付清”吧。

相关主题
文本预览
相关文档 最新文档