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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

因果图实例讲解.docx

1、因果图实例讲解1.引言51Testing软件测试网_0O5v4?_1N.0d51Testing软件测试网M_K0e_z;R 等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系、相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。51Testing软件测试网 t1B#A_W因果图(Cause-EffectGraphing)提供了一个

2、把规格转化为判定表的系统化方法,从该图中可以产生测试数据。其中原因是表示输入条件,结果是对输入执行的一系列计算后得到的输出。51Testing软件测试网3g$_h4H_R 因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。)m F2N7Q8A_u6W_l!V051Testing软件测试网O_h O3h_g C$D2.因果图介绍51Testing软件测试网#T!l$m h&V:?0_|51Testing软件测试网2f_h .B9y_v_o7G7Q2.1图例说明51Testing软件测试网_A4xR.?_S_G:s5X_i_S 51Testing软件测试网_hr b8Z2)P

3、0Z_Od V1、4种符号分别表示了规格说明中向4种因果关系。如图2-1所示。%C-.bK_vK K_E_A00 B!f_v_F_G_$|051Testing软件测试网_h O:N_t%T5L 图2-1 因果图关系51Testing软件测试网_pg K$e_c rD51Testing软件测试网_v;P)|_S_d_a6A2、因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。51Testing软件测试网1o#t_o2 J.o:R_H_j3、ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示

4、某状态不出现,1表示某状态出现。51Testing软件测试网)e!_J_#Ab_N3o0x x2b(r5g_T%P02.2因果图概念_k_s_i$S4x3j_w0&A;H_H_M&K _x_m01、关系(图2-1 因果图关系)*v:k4V_C_j_R d*p0 恒等:若ci是1,则ei也是1;否则ei为0。:X_O:e#u_z-q_O0 非:若ci是1,则ei是0;否则ei是1。_x30d9I_m$V_e+w_W0 或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。_t4 ?_Y*p0 与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。_A c

5、-8e)c6B7H0+O0g_M6DD(h02、约束_N ?_z_u7? ;Z)v/0 输入状态相互之间还可能存在某些依赖关系,称为约束。例如,某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。如图2-2所示。51Testing软件测试网_x_W7V!s(a_v51Testing软件测试网_c0z_kl_m_h_a;Q_Y02Y? r_O_j_I0 图2-2因果图约束51Testing软件测试网_U5t_v_I.W_j51Testing软件测试网%*i D6G_a*E (r_CA.输入条件的约束有以下4类:%c_ R,_P_j0 E约束(异):a

6、和b中至多有一个可能为1,即a和b不能同时为1。l h_iAz ?0 I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。51Testing软件测试网w7_ Ny _ I_R -v O约束(唯一);a和b必须有一个,且仅有1个为1。51Testing软件测试网_R4y_Sq_E,C p9_R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。51Testing软件测试网_B_y_o_D_V_R51Testing软件测试网3v i6M_C_a,d3m_B.输出条件约束类型51Testing软件测试网_Y_h_X2qo_b)L输出条件的约束只有M约束(强制):若结果

7、a是1,则结果b强制为0。51Testing软件测试网2j)m p0R_L.O1E51Testing软件测试网_t_C4h_f_F.Ye_|2.3因果图法设计测试用例步骤-G:R_B4m o$H5X0.t*|_n_e_Y_n_i01、分析待测得系统规格,找出原因与结果51Testing软件测试网_G z#G h a$L 分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。3c%x%M;P_p+V$e l_HOTa02、画出因果图51Testing软件测试网(f3B_v_Rc,k6?_G 分析软件规格说明描述中的语义。

8、找出原因与结果之间,原因与原因之间对应的关系。根据这些关系,画出因果图。_D.C_W O/_j A)U:A03、标记约束或限制条件51Testing软件测试网_P_w n$z_H4G c 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况下不可能出现。 为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。# u/f%b8_H*O,j4J04、把因果图转换为判定表。51Testing软件测试网e_m_S_v_u_ZZ_V5、用判定表中的每一项生成测试用例。%h V7I_F#L_O7z7y-051Testing软件测试网*K5O2M;Y_c/_3.因果图实例,ED_e).A$

9、J$p_c_E_y051Testing软件测试网$m_F/.w*_L nG_l/K3.1实例一8_|-T)d_H5G_L w92D051Testing软件测试网 A T_gO1S0n.u 4_5R某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。51Testing软件测试网_O_I5j(E_b_T_T1N_e_w/z_K6dN_H;L_X01、对说明进行分析,得到原因和结果:51Testing软件测试网_w_H*_w_Y&D_0A Z W1)(?!D_E-2d:

10、I Bk 0原因:51Testing软件测试网 e_o7#f_S1:第一列字符是A;_a2?6uUG&_i!M3v02:第一列字符是B;51Testing软件测试网_iO_Q-i_ Z&h)b3:第二列字符是一数字。51Testing软件测试网_r.e_x;A-F_X2_t_x,y0qN _j%aP c0结果:_R_R_f;v_z X_h,m.E021:修改文件;51Testing软件测试网 _S*e.A_F_V,e22:给出信息L;51Testing软件测试网_b_:A9n_e _f23:给出信息M。73l6o_G_| M_V051Testing软件测试网0Y/j M_w_L_c52、其对应

11、的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束,如图3-1所示。51Testing软件测试网t_JM_g_v_? D51Testing软件测试网R!O_E%p_n_i o_m/g E#!Y0+e 2c_r_p;v _:tM L_i*0图3-1实例一的因果图_9s1z_ J09Vi i_s, t_w_4Cn8C03、根据因果图建立判定表。51Testing软件测试网_r !kj O,A9u 7B)bW1f_N28m051Testing软件测试网_v _E&HZ#q_H)S51Testing软件测试网_g_c O_L/F_B Z_h_K S 表中8种情况

12、的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。0IZ2g*q J_ w0L&_P9C051Testing软件测试网u-E/N-f o03o+K(_f4、把判定表的每一列拿出来作为依据,设计测试用例51Testing软件测试网_t2K3am_x_G_w._i_v 我们把表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。8b1O RA)?)J4K&y0(v5U)g_E2r4P;UD03.2实例二t&V:d_w_|_X-L051Testing软件测试网_L_J_C6O$o有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。7 _oo_n_r_d_d_?

13、0其规格说明如下:51Testing软件测试网_L_$g_h8VJ)D_o若投入5角钱或1元钱的硬币,押下橙汁或啤酒的按钮,则相应的饮料就送出来。51Testing软件测试网)r_v_B3Z_R3|若售货机没有零钱找,则一个显示零钱找完的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;#e_J,h_f.p(0若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还5角硬币。51Testing软件测试网_U_Da0J:G*T_H z_yj_s_D_N n01、分析这一段说明,列出原因和结果:51Testing软件测试网! q4B;q_N_v3s.c_V(x)o_q这本身

14、只是一个实例,只是用来学习,其实其设计说明还是存在好多漏洞的,例如:如果售货机里没有饮料了怎么办?51Testing软件测试网_O_p)_8m_e n3S_M51Testing软件测试网 n!I$B_s D*Q原因:_nmw2p_V#g_ _F_H_p01、售货机有零钱找51Testing软件测试网_|1|_s0b*O_R2、投入1元硬币_o ? ej_Y.1t03、投入5角硬币$x/v_P:k _X04、押下橙汁按钮51Testing软件测试网0B61_B_s_J 4Z_D_Z)o5、押下啤酒按钮51Testing软件测试网_x_U,_X_K0x_IP51Testing软件测试网_Y_KyA

15、_PY1B结果:8Z,U+U*9b E_m;B8i1l021、售货机零钱找完灯亮9R;:F)_P_|/T022、退还1元硬币51Testing软件测试网9h _N-z+L sR23、退还5角硬币51Testing软件测试网l_B)M_r M_U_u24、送出橙汁饮料51Testing软件测试网_j_S4;_T!y1P_d_V e-N_t25、送出啤酒饮料51Testing软件测试网_D_k)| 4_s.3T_S51Testing软件测试网_b_D(L_H_b_N_D_e2、画出因果图,如图3-2所示。51Testing软件测试网_&L Sr_n_F_I_R_U所有原因结点列在左边,所有结果结点

16、列在右边。建立中间结点,表示处理的中间状态。中间结点:&c.ya7c_I c_B011、投入1元硬币且押下饮料按钮51Testing软件测试网0n_my_L_r_m_m _u12、押下橙汁或啤酒的按钮51Testing软件测试网7+M_l_j_f_R13、应当找5角零钱并且售货机有零钱找u%T_A&w8_F_n_T014、钱已付清51Testing软件测试网3v5A_D_v_I_X51Testing软件测试网2_L_C_?1r_S*c51Testing软件测试网/P_xi_|_x_6|_O51Testing软件测试网8b+H_2UH 图3-2 售货机因果图51Testing软件测试网*S_Z1

17、j_G-W:_K_S_wV9L$a C-m/T_P_B03、转换成判定表:51Testing软件测试网J t2c+C5X-_W T51Testing软件测试网0 l%_O_x_L +B_V_f_b51Testing软件测试网$_X%.Yy7d k_D4、在判定表中,阴影部分表示因违反约束条件的不可能出现的情况,删去。第16列与第32列因什么动作也没做,也删去。最后可根据剩下的16列作为确定测试用例的依据。)%f_ ;m:r0k_e$K:T Fj_IL_s u _N03.3实例三)M_a_E3f,T_I_|_bU051Testing软件测试网_J#_V$z7w)C6k)oNextData函数的精

18、简决策表_p,ta_n.O:(t s9r_e E_0M1月份: 每月有30天51Testing软件测试网(_g_r_G_4EM2月份: 每月有31天, 12月除外51Testing软件测试网_P8z_R_9aM3月份: 2月2a m y_w ;_N_g_k0M4月份:12月&A!u:W_d_q_q0D1日期:1=日期=27$k dSMt(GL_?0D2日期:28&f t_c q6R_O30D3日期:2951Testing软件测试网_T_M_E4u4O_t_D4日期:30c_W_X_u_v_S2O1w:p_+N:f0D5日期:3151Testing软件测试网_H_d_s _Q)j_|Y1 年:年

19、是闰年_e_g 0D_J,P_b0Y2 年:年不是闰年51Testing软件测试网_)M_qe _f*k_E_输入变量间存在大量逻辑关系的NextData决策表。9rW_D_F_x_H_o&c5V0_6C#l_S8M_n5G_0分析这一段说明,列出原因(条件)和结果:51Testing软件测试网%a,W0f$b(M_B_z6P_p3Y_A/D tk S+r0原因(条件):51Testing软件测试网)_i;R v,q%W/N.X&J8RM1月份: 每月有30天+s4_o6Nj_l0M2月份: 每月有31天, 12月除外%N0D#t(t1d z i_|0M3月份: 2月51Testing软件测试

20、网7o8s7F-C1_Q_k_K$u*aw)M4月份:12月51Testing软件测试网#K+x_Y8t_D_?_D1日期:1=日期=27_r/y.%e9_v0D2日期:28,r!S6F;m4Q_C0D3日期:29_P_E_|J&pT n/J;X+W(|0D4日期:30v h*t_*M8?1o:_f7m0D5日期:3151Testing软件测试网k1|_w4_N GY1 年:年是闰年;*Z_(Z s1P_b_S_O(g0Y2 年:年不是闰年51Testing软件测试网3.y_X/s_J5d Q3J2AY w T_ a7t_L7H;P_1D_l0结果:-&d_f S_H/p F$M0输入的日期无

21、效,例如:2008-4-30;2007-2-29;2008-2-30;2008-2-31;/G_y_t_j)?+m_$o0日前为1;_B m;yg_L%a_zZ_U0月份为1;,K_j;H_D_v_PQ_J0日期+1;(2f#z _n_b&W_P5n0月份+1;51Testing软件测试网_Q_)R_m,C:h&v;C年份+1;.e_f%_b)N051Testing软件测试网&g_W_C _(E&q$tn|_n+_o3S01m_S;u_T_b2p3_V+d0 该图没有考虑无效日期的情况。_a_v zzJ.PV W-051Testing软件测试网_N_x u_Y_l-B输入条件过于庞大,个人觉得

22、将其分成4部分利于编写判定表,每个Mi对应一张表。这里就不过多描述了。51Testing软件测试网_g2Q_b_Q_C_b_V这里大家可以尝试用正交试验法解决。51Testing软件测试网e_.c_|_/_N51Testing软件测试网y#F$f_l_ R_S3.4实例四f)rf ?_u_E.K!_u051Testing软件测试网9_J!L6O N_J以中国象棋中马的走法为例子,具体说明:51Testing软件测试网!K;U5l_B&m_h;f1、如果落点在棋盘外,则不移动棋子;:OC j_c.l_E_Y_,A02、如果落点与起点不构成日字型,则不移动棋子;;?_t s4 a_v_p t9s0

23、3、如果落点处有自己方棋子,则不移动棋子;Y/i7s)_H+?5y+k_C_I04、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;51Testing软件测试网_i7X)w_q_f3xzn5、如果不属于1-4条,且落点处无棋子,则移动棋子;51Testing软件测试网1s_ny9*u_%m0|6、如果不属于1-4条,且落点处为对方棋子 (非老将) ,则移动棋子并除去对方棋子;_a/v | s O_h07、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。g$_h_t0 &K_o y_4u5?01、对说明进行分析,得到原因和结果:51Testing软件测试网

24、_L_u!m_N2t_s p51Testing软件测试网1Z_U)Q2u_A-e o h$P9U原因:51Testing软件测试网_e_U9T3cB_*o1、落点在棋盘外;51Testing软件测试网_9k-_W*I1Q)-2、不构成日字;|,C+ M_K_Y03、落点有自方棋子;51Testing软件测试网)x)h*_f%g9q_S4、绊马腿;&|:F6K1#u$e a.Q05、落点无棋子;%u.u0A3v_06、落点为对方棋子;_f_Q$_J0f_I3t_M_Y07、落点为对方老将。51Testing软件测试网2y-q9O_q_v;D4X L z_R_/m_t_a_Q!w_k/s0结果:5

25、1Testing软件测试网K_%_y_P_t0P21、不移动;1Y_o_H_lF_;s022、移动;51Testing软件测试网_r3D_L_v_C_y+N-r23、移动己方棋子消除对方棋子;4T J3P_H#p,r024、移动并战胜对方。2u_V u42q$_:M0#y_g5E_J_)Z_c02、根据分析出来的原因和结果,我们可以画出因果图,如下:51Testing软件测试网%H)G6c_2F1+_51Testing软件测试网_q_O_qx S_|g_p51Testing软件测试网G%u-B_i c7)D_j51Testing软件测试网(C _UV2E0T/a 11这个结点称做中间结点,是为

26、了让因果图的结构更加明了,简化因果图导出的判定表。+v%d(f%x s_ix!W_q_D0组合过于庞大(2的7次方)通过中间结点11,将判定表分成两部分,简化判定表如下:_m1P_Z+*?_K051Testing软件测试网_Eo6B317sS51Testing软件测试网E_b3U-_gq*r0_:Gl_C9L2S_p2_V0 将无用的组合去掉。.G_k B_v4I_t Ss0 将上面两张表根据潜在的约束条件,再次修整,得到如下图:,S_H3ZB#Gb?_y0._L;K_O_k6_E051Testing软件测试网7$s;t#n5e+q_c_D7j_e51Testing软件测试网_Z_Z7z_l,

27、g 4.因果图法优缺点51Testing软件测试网c%|_BP_z4&Y2g,i0XC3e_|_b04.1优点51Testing软件测试网_Z7g_G_OQ1、因果图法能够帮助我们按照一定步骤,高效的选择测试用例,设计多个输入条件组合用例Wy_t_Q/F_x_i_y F02、因果图分析还能为我们指出,软件规格说明描述中存在的问题l6v)Q0l3t_E_r)g)D01_Y_V6d0ti c04.2缺点51Testing软件测试网_I-w/s%w#_O.?0V1、输入条件与输出结果的因果关系,有时难以从软件需求规格说明书得到。51Testing软件测试网_V;_U_k4P1n_r2、即时得到了这些因果关系,也会因为因果关系复杂导致因果图非常庞大,测试用例数目及其庞大。51Testing软件测试网5o_t%Q6B_8t_H_UA

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

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