ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:20.76KB ,
资源ID:21565365      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21565365.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(因果图设计测试用例Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

因果图设计测试用例Word文档格式.docx

1、测试人员不仅要了解程序要做什么,还要了解程序是如何实现的,根据实现方法设计测试用例。测试人员需要对代码进行覆盖测试。由于现在的程序分支、循环都很多,所以完全覆盖代码是不可能的,现在比较常用的设计方法有:语句覆盖分支覆盖条件覆盖条件组合覆盖基本路径覆盖循环覆盖1.3.灰盒测试类和接口级的测试。介于黑盒测试和白盒测试之间,既关心程序输出的正确性,也关心程序的内部逻辑,但这个逻辑不是代码级的。举例来说,对类或者接口进行测试,不关心代码的实现,只关心每个方法和属性在执行过程中是否正确,这就属于灰盒测试。2.因果图的具体介绍2.1.为什么么需要因果图在黑盒测试中,等价类划分或边界值分析法只考虑了不同的输

2、入和不同的输出之间的关系。但是如果是各个输入条件之间有很复杂的组合,这二种设计方法都很难用一个系统的方法进行描述,设计测试用例只能依靠测试人员主观的猜测或者分析,具有很大的盲目性。让我们先来看一个简单的例子。假设某个软件需求文档中有这样的说明:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。先用等价类来分析,第一列会有三个输入:A、B、非(A B)的字符。第二列字符有二个输入:数字、非数字(为了简便起见,有关数字再细化的问题不做讨论)。这是一个根据理论进行分析的过程。但是做完了这一步,并不能

3、得出输出。也就是说如何分析第一列和第二列的关系,没有明确的理论指导。实际操作过程中,各个测试人员可能会设计出不同的测试用例。这个例子还仅仅是一个2个输入条件之间有关系,如果到更复杂的应用中,可能会更多。如果没有一种方法指导我们的思想,测试用例就会很不全面。而因果图正好弥补了上述缺点。我们先来看一下什么叫因果图。因果图是一种形式化的语言(以图的形式表现),它不仅描述了原因和结果之间的关系,也描述了各个原因之间、各个结果之间复杂关系的组合。在这里,因就是程序的输入条件,而果则是程序的输出。正确的使用因果图可以对很复杂的功能逻辑进行分析,设计出高效而简洁的测试用例。2.2.因果图概念介绍学习因果图需

4、要的基本知识是:2.2.1.布尔逻辑运算符三种常用的运算符是NOT、AND、OR。还有两种比较少用的是NAND、NOR。再加上恒等,这六种符号是描述原因和结果之间的逻辑关系的。下面以图的形式详细说明6种因果逻辑。c表示原因,e表示结果。恒等:如果原因为真,那么结果必定为真。与:只有2个原因都为真,那么结果为真。或:2个原因中有一个为真时,结果就为真。非:只有原因为假,结果才为真。与非:先与后非。或非:先或后非。2.2.2.因果图的约束关系表示法因果图中有4种符号描述原因之间的约束关系,1种符号描述结果之间的约束关系。下面分别介绍:排他性约束:各个原因之间不能同时为真,但可以同时为假。举个例子,

5、小明同学不可能同时属于A班和B班,但可能既不是A班的,也不是B班的,而是C班的。包含性约束:各个原因中总有一个为真。即可以同时为真,但不可以同时为假。举个例子,支付宝买家付款时,有个输入条件(既原因)是余额支付、网银支付,买家可以选择单独余额支付或者单独网银支付,也可以同时选择余额支付和网银支付2种方式。但是不可以选择不支付。必要性约束:当原因a为真时,原因b必须同时为真;但是原因b为真时,原因a既可以为真,也可以为假。举数字证书的例子:现有的业务规则下,如果申请了数字证书(原因a),那么该用户必然通过了支付宝认证(原因b)。反之,如果用户通过了支付宝认证,那么不一定申请了数字证书(a)。唯一

6、性约束:有且只有原因a和原因b中的一个为真。非此即彼,不存在第三种情况。举例来说,人的性别不是男,就是女,不会存在既不是男也不是女的人。掩码标记(结果约束):如果结果b为真,那么结果a一定为假,如果结果b为假,则结果a的状态不定。还拿支付宝来举例子,先给出两个结果:安全控件运行正常(a),无法输入登陆密码(b)。如果无法输入登陆密码,那么可以判断是安全控件没有正常运行,反过来,如果可以输入登陆密码,则不能确定安全控件一定工作正常,有可能是用了FireFox浏览器访问Alipay的。2.3.使用因果图设计测试用例的步骤上面我们解决了“What is it”的问题,下面让我们来讨论“How to

7、do”的问题。使用因果图设计测试用例一般包括下面几个步骤:2.3.1.分析需求阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分。这样做的好处是,不必在一次处理过程中考虑所有的原因。没有固定的流程说明究竟分解到何种程度才算简单,需要测试人员根据自己的经验和业务复杂度具体分析。2.3.2.确定原因和结果在每个已经分解好的块中,找出哪些是原因,哪些是结果。并且把原因和结果分别画出来。原因放在一列,结果放在一列 。如下图所示。2.3.3.确定逻辑关系继续分析需求文档,找出原因和结果之间的关系,用逻辑运算符标出。2.3.4.确定约束关系继续分析需求,找出原因和原因、结果与结果之

8、间的约束限制,用上面说的约束关系标出。2.3.5.把因果图转换为决策表给每个原因分别取真和假二种状态,用0和1表示。画一个有限项决策表,列出所有状态的状态组合。包含3个原因、2个结果的有限项决策表如下。12345678原因结果图中淡黄色区域表示各种原因状态组合的个数,淡蓝色区域表示原因之间的状态组合。嫩绿色区域则表示不同原因组合所对应的结果。2.3.6.根据原因给出结果上面的决策表中,不一定每个原因的状态组合都是有效的。要根据因果图中的约束条件,去掉不可能出现的组合,从决策表中标记出来。并给出每个可能的原因组合对应的结果。2.3.7.设计测试用例上一步完成之后,决策表的每一个有效列都对应一个测

9、试用例。2.4.举例说明下面用几个例子来说明因果图的用法。2.4.1.例子1某软件需求说明书:某段文本中,第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。由于此需求已经非常清晰,所以标准步骤中的第一步省略,从第二步开始分析。确定原因和结果:从大的方面看,第一列和第二列不同的字符会引起不同的结果,所以初步分析原因结果图如下。c1第一列字符正确c2第二列字符是数字e1修改文件e2给出信息Le3给出信息M确定因果逻辑关系:如果第一列和第二列都正确,则修改文件;如果第一列不正确,给出信息L;如果第二列不正确,给出M。可以得出下面的因果图。而根据需求描述,原因c1还可以细分为

10、2个原因:第一列字符是A(c11),第一列字符是B(c12)。因此原因c1其实也可以看作成结果。把它用因果图表示出来如下:根据上面的分析,其实总共有3个原因,3个结果。确定约束关系:从需求描述中可知,原因c11和c12不可能同时为真,但可以同时为假,因此满足排他性约束。这三个结果之间没有掩码标记的约束。完整的因果图如下:根据因果图画决策表:列出3个原因所有的状态组合。c11c12根据原因分析结果:分析每一种状态对应的结果,并根据约束关系,去掉不可能出现的状态。本例的c11和c12满足排他性约束,所以同时都为1的状态不会出现。无此可能设计测试用例:根据决策表,列出有效的状态组合和结果,给出对应的

11、测试用例,可以单独画一个表,也可以直接加到决策表中。如下图:测试用例(字符串)aacca3c3BeB3AqA4到现在为止,使用因果图设计测试用例的一个简单的例子就完成了。2.4.2.例子2再以支付宝认证总流程为例,说明因果图的实际应用。支付宝个人认证中,分为两部分:个人身份认证和银行卡认证。这两者都通过后,认为个人认证成功。个人身份认证需要提交个人基本信息及身份证复印件。银行卡认证分为两种:提现认证和充值认证。提现认证的流程是:用户提交正确的银行帐号支付宝给用户的银行卡中随机打款用户确认金额,认证成功。充值认证的流程是:充值充值完成网银反馈,认证成功。从上面的描述中,我们可以总结出2大原因和一

12、个结果。原因一:身份认证成功身份认证成功也是一个中间结果,它也有2个原因,提交基本信息成功和提交身份证成功。原因二:银行卡认证成功,包含2个原因:充值认证成功和提现认证成功。这2种原因也可以看做是中间结果,产生结果的原因在需求中可以也能明显看出来,不再赘述。一个结果:个人认证成功。注意:为了简便起见,我们假设个人信息提交和身份证件提交成功后,身份认证则成功,忽略人工审核过程。原因和结果表如下:个人基本信息提交成功个人身份证件提交成功c221充值认证的银行帐号提交成功c222充值成功c223网银反馈成功c211提现认证的银行帐号提交成功c212支付宝打款成功c213用户确认成功中间结果c21银行

13、卡提现认证成功c22银行卡充值认证成功银行卡认证成功个人认证成功确定因果逻辑关系对于因果关系较为的复杂的逻辑,通过结果向前推原因是一个不错的方法。认证成功:身份认证成功和银行卡认证同时为真,认证成功才为真。 身份认证成功:基本信息和身份证件同时为真,身份认证成功才为真。银行卡认证:提现认证和充值认证有一个成功,银行卡认证则成功。提现认证、充值认证都是所有的原因都为真时,自己才为真。确定约束关系从业务流程可知:提现认证和充值认证是二择一的,满足唯一性约束条件。而充值认证的三个原因,有流程上的先后顺序,满足必要性约束条件。同样,提现认证的三个原因也满足必要性约束条件。根据约束关系,我们画出因果图如下:画决策表及设计测试用例的过程略。3.使用因果图的好处总上所述,我认为因果图最大的好处有2点:考虑了多个输入之间的相互组合、相互制约关系。帮助我们按一定步骤,高效率地选择测试用例。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1