实践-因果图法和决策表法

合集下载

因果图法

因果图法

测试用例设计—因果图法1.引言等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。

考虑输入条件之间的相互组合,可能会产生一些新的情况。

但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。

因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。

这就需要利用因果图(逻辑模型)。

因果图(Cause-EffectGraphing)提供了一个把规格转化为判定表的系统化方法,从该图中可以产生测试数据。

其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。

因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。

2.因果图介绍图例说明1、4种符号分别表示了规格说明中向4种因果关系。

如图2-1所示。

图2-1 因果图关系2、因果图中使用了简单的逻辑符号,以直线联接左右结点。

左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。

ci 和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。

因果图概念1、关系(图2-1 因果图关系)①恒等:若ci是1,则ei也是1;否则ei为0。

②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。

“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。

“与”也可有任意个输入。

2、约束输入状态相互之间还可能存在某些依赖关系,称为约束。

例如,某些输入条件本身不可能同时出现。

输出状态之间也往往存在约束。

在因果图中,用特定的符号标明这些约束。

如图2-2所示。

图2-2因果图约束A.输入条件的约束有以下4类:① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

决策表与因果图练习题

决策表与因果图练习题

决策表练习题:一、假设中国某航空公司规定:中国去欧美的航线所有座位都有食物供应。

每个座位都可以播放电影。

中国去非欧美的国外航线都有食物供应,只有商务仓可以播放电影。

中国国内的航班的商务仓有食物供应,但是不可以播放电影。

中国国内的航班的经济仓除非飞行时间大于2小时就有食物供应,但是不可以播放电影。

要求:使用决策表法设计测试用例。

二、某商场促销活动期间,对持商场会员卡的顾客,实行8.5折优惠,满1000元实行7折优惠;对其他顾客消费满1000元的,实行9折优惠,并免费办理会员卡。

要求:请给出相应的决策表和测试用例。

因果图练习题一、有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。

其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。

若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

要求:1)列出原因和结果,画出因果图2)根据因果图,建立判定表3)根据判定表设计测试用例数据二、用因果图法测试以下程序。

程序的规格说明要求:输入的第一个字符必须是#或*,第二个字符必须是一个数字,此情况下进行文件的修改;如果第一个字符不是#或*,则给出信息N,如果第二个字符不是数字,则给出信息M。

要求:(1)分析程序的规格说明,列出原因和结果。

(2)找出原因与结果之间的因果关系、原因与原因之间的约束关系,画出因果图。

(3)将因果图转换成决策表。

(4)根据(3)中的决策表,设计测试用例的输入数据和预期输出。

三、分析中国象棋中走马的实际情况(下面未注明的均指的是对马的说明)(选做)1.如果落点在棋盘外,则不移动棋子;2.如果落点与起点不构成日字型,则不移动棋子;3.如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;4.落点处有己方棋子,则不移动棋子;5.如果不属于1-3条, 落点处无棋子,则移动棋子;6.如果不属于1-3条, 落点处为对方棋子(非老将),则移动棋子并除去对方棋子;7.如果不属于1-3条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。

浅谈测试用例分析和设计

浅谈测试用例分析和设计

浅谈测试用例分析和设计测试用例的重要性是毋庸置疑的,它是软件测试全部过程的核心,是测试执行环节的基本依据。

下面我们来浅谈下测试用例的分析和设计过程。

一、测试用例分析阶段测试用例设计的基础文档是需求文档,如果测试人员能拿到一份完整的准确的需求文档,那么对测试人员来说,工作量可以减轻大半,工作效果会大幅提高。

但是我们在需求分析阶段,即便是在需求评审之后,我们拿到的需求文档,仍然是存在一些疑义的或者是分析不透,表达不清的一些需求文档。

这样的时候,测试人员是否有自己的分析方法,显得尤为重要。

测试人员对付需求文档,从操作策略上来说,可以从以下两点出发:(一)、对于需求规格全面、完整的需求文档来说,我们可以采取“切割策略”,把需求按一定的粒度进行分解,来编写测试用例。

(二)、对于简单不全面、需求规格含糊的需求文档,我们可以采取的策略:“联想策略”。

这点还是主要来自工作经验及对该行业的理解,把一些含糊的内容补充起来。

在参与需求文档阅读的过程中,我们还可以采用一些小方法,把需求吃透。

例如:1、在参与需求阅读的过程中,我们可以把需求中的一些边界或者异常的情况列出来,这些往往是以后bug的多发地带。

2、对于需求文档中的一些隐式缺陷,我们需要补充清楚质量属性,例如一些安全性、性能、UI等的一些质量属性内容,我们需要补充清楚。

3、对需求文档的阅读,我们还可以采用一些工具:思维导图工具及UI界面设计工具,把图给画出来,有助于我们理解需求,找到测试点。

例如思维导图工具,通过名词+动词的方法,可以把测试数据和操作动作列出来,有利于理清测试的要点。

通过以上的一些策略和方法,我们大致上可以把需求测试分析做的比较到位了。

测试人员对需求文档分析后,接下去还需要对设计文档进行分析,大部分的测试人员,不是太注重开发组的这份设计文档,觉得与己无关,其实,理解设计文档,有利于降低我们的测试规模,降低劳动负荷。

一般来说缺陷会与内部结构映射,如果你了解了代码的结构,一般来说,我们都可以找到缺陷出现的真正原因了。

两图一表在实践中的应用

两图一表在实践中的应用

因果图、排列图及调查表在实践中的应用“两图一表”指因果图、排列图和调查表,它是解决质量问题的常用统计分析工具,其特点是直观、简单、实用、有效,能够为企业质量改进和质量管理提供依据。

一、因果图
因果图又名鱼刺图,是日本质量管理专家石川馨所创,通常结合头脑风暴法,找到影响结果的各种特性因素,确定因果关系,最终发现问题的根本原因,确保采取的措施正确且成效显著。

二、调查表
调查表是对特定对象收集和记录数据的一种表格形式,它适用于收集数字数据进行定量描述,也适用于收集非数字数据进行定性描述。

2.1如针对公司开发的新产品,编制顾客需求调查表,征求经销商和最终用户对“产品质量、销售价格、交付周期、产品包装、售后服务”等方面的评分及意见,相关部门收集整理后,同时结合排列图和因果图,找出问题的关键因素和根本原因,编制调查项目分析报告,供上级领导参考决策。

2.2热轧钢板表面质量缺陷调查统计表
序号缺陷项目频数(t)频率% 累计频率%
1 网裂100 50.0 50.0
2 气泡50 25.0 75.0
3 麻点23 11.5 86.5
4 瓢曲20 10.0 96.5
5 其它7 3.5 100.0
三、排列图
排列图又称主次因素分析图或帕累托图,是寻找影响工作(产品)质量主要因素的有效工具,其遵循“关键少数,次要多数”的客观规律,通常结合调查表进行应用。

一般对A区关键不合格项采取纠正措施,对B、C区一般不合格项采取预防措施,来持续改进产品质量。

举例:热轧钢板表面质量缺陷排列图:
总之,“两图一表”是基层质量管理者解决现场问题的有效工具,大力推行“两图一表”的应用,对提升管理者的分析能力、管理能力有着十分积极的作用。

功能测试的测试用例设计方法

功能测试的测试用例设计方法

功能测试的测试用例设计方法功能测试是软件测试中最基本的一种测试方法,主要用于验证软件系统是否符合需求和设计规格,是否能够正常运行和完成预期的功能。

在功能测试中,测试用例的设计是非常重要的环节,通过合理的测试用例设计可以提高测试效率和测试覆盖率。

1. 功能测试用例设计的目标功能测试用例设计的目标是覆盖软件系统的所有功能,并验证其是否符合需求和设计规格。

在设计功能测试用例时,需要从系统功能的各个维度出发,确保能够全面、有效地测试软件系统的各项功能。

2. 功能测试用例设计的方法2.1 等价类划分法等价类划分法是功能测试中最常用的一种测试用例设计方法。

它基于等价类的概念,将输入和输出的可能取值划分为若干个等价类,然后从每个等价类中选择一个典型值作为测试用例进行测试。

通过等价类划分法,可以有效地减少测试用例的数量,提高测试效率。

2.2 边界值分析法边界值分析法是一种结合等价类划分法的测试用例设计方法。

它通过考虑输入和输出的边界值情况,设计测试用例,以验证系统在边界值情况下的行为是否符合预期。

边界值分析法可以有效地发现输入和输出的边界条件下的错误。

2.3 因果图法因果图法是一种以因果关系为基础的测试用例设计方法。

它通过分析系统的各个功能之间的因果关系,设计测试用例,以验证系统在不同功能交互情况下的行为是否符合预期。

因果图法可以帮助测试人员全面、深入地了解系统的功能之间的关系,并设计出全面的测试用例。

2.4 决策表法决策表法是一种以决策表为基础的测试用例设计方法。

它通过分析系统的各个决策点,设计测试用例,以验证系统在不同决策条件下的行为是否符合预期。

决策表法可以帮助测试人员全面地了解系统的各个决策点,并设计出全面的测试用例。

2.5 正交试验法正交试验法是一种以正交表为基础的测试用例设计方法。

它通过分析系统的各个功能之间的交叉关系,设计测试用例,以验证系统在不同功能交叉情况下的行为是否符合预期。

正交试验法可以帮助测试人员全面、高效地设计测试用例。

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验

《软件测试技术》黑盒测试实验一、实验目的1、能熟练应用黑盒测试技术中的等价类划分法、边界值分析法、因果图法和决策表法进行测试用例设计。

2、对测试用例进行优化设计二、实验环境Windows系统+ Office工具三、实验任务1.电话号码问题2.三角形问题3.工资问题4. 自动售货机问题四、实验步骤1.电话号码问题某城市电话号码由三部分组成,分别是:地区码:空白或四位数字;前缀:非0或1开头的四位数字;后缀:四位数字。

假设被测程序接受符合上述规定的电话号码,拒绝所有不符合规定的电话号码,使用等价类划分方法进行测试用例设计。

表1 电话号码等价类表(除了表头即第一行外,其它都可以修改)表2 电话号码用例表(可以根据实际情况增加行或者删除行)2. 三角形问题输入三个整数:A、B、C,分别作为三角形的三条边的长度,取值范围[1,100],判断三条边构成的三角形是等腰的、等边的、一般三角形或者非三角形。

分别设计标准性边界值分析的测试用例和健壮性边界值分析的测试用例。

(1)标准性边界值测试用例(根据实际情况自行调整表格行数)(2)健壮性边界值测试用例(根据实际情况自行调整表格行数)3.工资问题某软件的一个模块的需求规格说明书中描述:(1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

原因:C1. 年薪制员工C2. 严重过失中间状态:11. 非年薪制员工12. 过失结果:E1. 扣年终风险金的4%E2. 扣年终风险金的2%E3. 扣当月薪资的8%E4. 扣当月薪资的4%4. 自动售货机问题有一个处理单价为1元5角钱的盒装饮料的自动售货机软件,若投入1元5角硬币,按下“可乐”、“雪碧”或“橙汁”按钮,相应的饮料就送出来。

若投入的是2元硬币,在送出相应的饮料同时退换5角硬币。

请绘制出决策表。

11、因果图法

11、因果图法

11、因果图法因果图法的定义因果图法是⼀种利⽤图解法分析输⼊的各种组合情况,从⽽设计测试⽤例的⽅法,它适合于检查程序输⼊条件的各种组合情况特点:(1)考虑输⼊条件的相互制约及组合关系(2)考虑输出条件对输⼊条件的依赖关系因果图的核⼼因果图法⽐较适合输⼊条件⽐较多的情况,测试所有的输⼊条件的排列组合。

所谓的原因就是输⼊,所谓的结果就是输出。

因果图的“因”—输⼊条件因果图的“果”—输出结果因果图法要注意考虑:所有输⼊/输出条件的相互制约关系以及组合关系输出结果对输⼊条件的依赖关系,也就是什么样的输⼊组合会产⽣怎样的输出结果,即“因果关系”因果图中的基本符号通常在因果图中⽤Ci表⽰原因,⽤Ei表⽰结果,各结点表⽰状态,可取值“0”或“1”。

“0”表⽰某状态不出现,“1”表⽰某状态出现。

因果图中的约束条件利⽤因果图导出测试⽤例需要经过以下⼏个步骤:①找出所有的原因,原因即输⼊条件或输⼊条件的等价类。

②找出所有的结果,结果即输出条件。

③明确所有输⼊条件之间的制约关系以及组合关系。

哪些条件不能组合到⼀起,哪些条件可以组合到⼀起④明确所有输出条件之间的制约关系以及组合关系。

哪些输出结果不能同时输出,哪些输出结果可以同时输出⑤找出什么样的输⼊条件组合会产⽣哪种输出结果⑥把因果图转换成判定表/决策表。

⑦为判定表/决策表中的每⼀列表⽰的情况设计测试⽤例。

案例:交通⼀卡通⾃动充值软件系统需求-系统只接收50、100元纸币,⼀次只能使⽤⼀张纸币,⼗次充值⾦额只能为50元或100元。

-若输⼊50元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功;-若输⼊50元纸币,并选择充值100元,提⽰输⼊⾦额不⾜,并退回50元;-若输⼊100元纸币,并选择充值50元,完成充值后退卡,提⽰充值成功,找零50元;-若输⼊100元纸币,并选择充值100元,完成充值后退卡,提⽰充值成功;-若输⼊纸币后在规定时间内不选择充值按钮,退回输⼊的纸币,并提⽰错误;-若选择充值按钮后不输⼊纸币,提⽰错误结果:分析:1、找到所有输⼊条件编号2、找到所有输出条件编号3、找出所有输⼊、输出的制约关系根据因果图再制作出对应的“表格”。

因果图法

因果图法
(3)根据(1)和(2),画出简化后的决策表。
案例分析
month变量的有效等价类:
M1: {month=4,6,9,11} M2: {month=1,3,5,7,8,10}
M3: {month=12}
M4: {month=2}
day变量的有效等价类:
D1: {1≤day≤26} D2: {day=27} D3: {day=28}
D4: {day=29}
D5: {day=30} D6: {day=31}
year变量的有效等价类:
Y1: {year是闰年}
Y2: {year不是闰年}
考虑各种有效的输入情况,程序中可能采取的操作有以下六种:
a1: day+2
a2: day=2
a3: day=1
a4: month+1
a5: month=1 a6: year+1
4 测试方法的选择
通常,在确定测试方法时,应遵循以下原则: ➢ 根据程序的重要性和一旦发生故障将造成的损失来确定
测试等级和测试重点。 ➢ 认真选择测试策略,以便能尽可能少的使用测试用例,
发现尽可能多的程序错误。因为一次完整的软件测试过 后,如果程序中遗留的错误过多并且严重,则表明该次 测试是不足的,而测试不足则意味着让用户承担隐藏错 误带来的危险,但测试过度又会带来资源的浪费。因此 测试需要找到一个平衡点。
因果图法的简介(续)
因果图法是基于这样的一种思想:一些程序的功能可以用 判定表(或称决策表)的形式来表示,并根据输入条件的 组合情况规定相应的操作。 因果图法的定义:是一种利用图解法分析输入的各种组合 情况,从而设计测试用例的方法,它适合于检查程序输入 条件的各种组合情况。 采用因果图法设计测试用例的步骤: (1)根据程序规格说明书描述,分析并确定因(输入条件) 和果(输出结果或程序状态的改变),画出因果图。 (2)将得到的因果图转换为判定表。 (3)为判定表中每一列所表示的情况设计一个测试用例。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试技术
--因果图法和决策表法 --因果图法和决策表法
主讲人: 主讲人:王玉琴 Байду номын сангаас箱: 邮箱:catchice_2001@
1
本节课程内容
第一章 软件测试基础知识
实践因果图方法 实践决策表法
2
因果图法
某个软件的规格说明书中规定:第一个字符必须是A或B,第二个字符必 须是一个数字字符,在此情况下进行文件的修改,但如果第一个字符不 正确,则给出信息L;如果第二个字符不正确,则给出信息M.
决策表法
实例: – 订购单的检查。如果金额超过 500 元,又未过期,则发出批准单 和提货单;如果金额超过 500 元,但过期了,则不发批准单;如 果金额低于 500 元,则不论是否过期都发出批准单和提货单,在 过期的情况下还需要发出通知单。
Thanks!
相关文档
最新文档