功能测试用例设计-2
上一篇 /
下一篇 2011-12-20 10:57:42
“如果在上述步骤2‘输入提款金额’中输入的美元量超出当前帐户余额,则出现此事件流。系统将显示一则警告消息,之后重新加入基本流,再次执行上述步骤2‘输入提款金额’,此时银行客户可以输入新的提款金额。”
/oH"G3U]B0据此,可以开始确定需要用来执行备选流3的测试用例:
D6X{l8Z9Xi.g0u0测试用例ID ]7hZqN TU_ {0 | 场景 *ex/f%\)n8Q3e0 | 条件 y2U%|N:D8v
r1JF%`0 | 预期结果 a
Q7Ag,G;};_)Jd,M0 |
TCx51Testing软件测试网$sD#nwO?;TKY | 场景4 |wZ8e*Lf0 | 步骤2-提款金额>帐户余额 `:thi(D}6Ha0 | 在步骤2处重新加入基本流 jZ.l3bH|D,Z0 |
TCy51Testing软件测试网:xr/p4AIk7kYe#?N
G | 场景4 'x
d~7wM3p9`B!o2t0 | 步骤2-提款金额<帐户余额51Testing软件测试网7q,_'Q"~CR
r1vr | 不执行备选流3,执行基本流 -uS/^ h4J*\s)h;r)p0 |
TCz ?m:^,d*a{[0 | 场景4 1u!|:n7~,x!s*og0 | 步骤2-提款金额=帐户余额51Testing软件测试网'[/t2A,q3p,{ | 不执行备选流3,执行基本流51Testing软件测试网
Oxpj-v0[Q]6`b |
注:由于没有提供其他信息,以上显示的测试用例都非常简单。测试用例很少如此简单。
z"b+yqi2Bq010.2.1.2功能用例编写策略
功能用例的编写策略一般是这样的:
gB [-DE5Y5j\0 1)首先确定测试点和其自有工作流程。
+E7v_Ig0 2)按业务(系统测试)或功能(单元和集成测试)将测试点进行编号和排序。51Testing软件测试网3L&W%@a)?3_Z
3)使用用例场景方法确定测试用例。
{KB
H;kUyXP0 要点:使用场景,类似于白盒测试的基本路径法。能清晰的描述出系统的功能或业务流程,将测试用例的实际测试效果提升到最大。又因描述出各测试点之间的关系从而降低测试用例的设计难度和复杂度。
2uG%\4p]B%do p010.2.1.3功能用例编写例子
下面是一个由用例生成测试用例的更符合实际情况的例子。51Testing软件测试网@x6X,r|8D?
d+Y/Z6`#T051Testing软件测试网&R`(u*xu2z2yC/cp.A w
一台ATM机器的主角和用例。下表包含了上图中提款用例的基本流和某些备用流:
$_-?#CK*])Y
k0基本流51Testing软件测试网C2O3Ix.Im | 本用例的开端是ATM处于准备就绪状态。51Testing软件测试网%Z[v2K4?h&?/l 准备提款-客户将银行卡插入ATM机的读卡机。 a"{&ilj9RB0验证银行卡-ATM机从银行卡的磁条中读取帐户代码,并检查它是否属于可以接收的银行卡。 mWyO k1hi%A0输入PIN-ATM要求客户输入PIN码(4位) B(I:{V)b WJ;t0验证帐户代码和PIN-验证帐户代码和PIN以确定该帐户是否有效以及所输入的PIN对该帐户来说是否正确。对于此事件流,帐户是有效的而且PIN对此帐户来说正确无误。 -tJM:o4OS(i9h*T2Y0ATM选项-ATM显示在本机上可用的各种选项。在此事件流中,银行客户通常选择“提款”。51Testing软件测试网I(q)^xVK[J-E!Q 输入金额-要从ATM中提取的金额。对于此事件流,客户需选择预设的金额(10美元、20美元、50美元或100美元)。 V,S|v NVqd`)t0授权-ATM通过将卡ID、PIN、金额以及帐户信息作为一笔交易发送给银行系统来启动验证过程。对于此事件流,银行系统处于联机状态,而且对授权请求给予答复,批准完成提款过程,并且据此更新帐户余额。 8Zq2^U"T/~T.f0出钞-提供现金。51Testing软件测试网+_ u,In'UC 返回银行卡-银行卡被返还。51Testing软件测试网1yh8BHE 收据-打印收据并提供给客户。ATM还相应地更新内部记录。用例结束时ATM又回到准备就绪状态。51Testing软件测试网e_\e*I
n&U |
备选流1-银行卡无效 /Sp1M.]:?5v%TS)e0 | 在基本流步骤2中-验证银行卡,如果卡是无效的,则卡被退回,同时会通知相关消息。51Testing软件测试网?? Q!deNZ
t7y |
备选流2-ATM内没有现金 vCe0Z(B8N oE0 | 在基本流步骤5中-ATM选项,如果ATM内没有现金,则“提款”选项将无法使用。51Testing软件测试网:u5O.Ux0a:S8y |
备选流3-ATM内现金不足 'IWxw-[HB0 | 在基本流步骤6中-输入金额,如果ATM机内金额少于请求提取的金额,则将显示一则适当的消息,并且在步骤6-输入金额处重新加入基本流。51Testing软件测试网f"\ Yj1d Xc9}-V6o |
备选流4-PIN有误51Testing软件测试网Q2a6[\LV6Jm*L"Dc | 在基本流步骤4中-验证帐户和PIN,客户有三次机会输入PIN。如果PIN输入有误,ATM将显示适当的消息;如果还存在输入机会,则此事件流在步骤3-输入PIN处重新加入基本流。如果最后一次尝试输入的PIN码仍然错误,则该卡将被ATM机保留,同时ATM返回到准备就绪状态,本用例终止。51Testing软件测试网 Wl;qV J |
备选流5-帐户不存在 $J6q%f~p/p"n"L})jr6a0 | 在基本流步骤4中-验证帐户和PIN,如果银行系统返回的代码表明找不到该帐户或禁止从该帐户中提款,则ATM显示适当的消息并且在步骤9-返回银行卡处重新加入基本流。51Testing软件测试网(D#N6| {hz |
备选流6-帐面金额不足 Q k0hu:j0 | 在基本流步骤7-授权中,银行系统返回代码表明帐户余额少于在基本流步骤6-输入金额内输入的金额,则ATM显示适当的消息并且在步骤6-输入金额处重新加入基本流。51Testing软件测试网d)nGc g1Gz5Q |
选流7-达到每日最大的提款 ;B1YN Fe+P c4h0 | 在基本流步骤7-授权中,银行系统返回的代码表明包括本提款请求在金额内,客户已经或将超过在24小时内允许提取的最多金额,则ATM显示适当的消息并在步骤6-输入金额上重新加入基本流。 2J6}N8l1Njc0 |
选流x-记录错误 H}
]\ X4f0 | 如果在基本流步骤10-收据中,记录无法更新,则ATM进入“安全模式”,在此模式下所有功能都将暂停使用。同时向银行系统发送一条适当的警报信息表明ATM已经暂停工作。 PTy6f1N)D.YI_3_!b0 |
选流y-退出51Testing软件测试网)Ce)L(?2y%V | 客户可随时决定终止交易(退出)。交易终止,银行卡随之退出。51Testing软件测试网6y\nn6m+b? |
选流z-“翘起” )CKftI6P8t;]r0 | ATM包含大量的传感器,用以监控各种功能,如电源检测器、不同的门和出入口处的测压器以及动作检测器等。在任一时刻,如果某个传感器被激活,则警报信号将发送给警方而且ATM进入“安全模式”,在此模式下所有功能都暂停使用,直到采取适当的重启/重新初始化的措施。 s|k"\$VOT0 |
第一次迭代中,根据迭代计划,我们需要核实提款用例已经正确地实施。此时尚未实施整个用例,只实施了下面的事件流: o4lCYq y4?w1o%g@f0基本流-提取预设金额(10美元、20美元、50美元、100美元) 6P'y}No0备选流2-ATM内没有现金51Testing软件测试网|-{\C
d 备选流3-ATM内现金不足 uC@"_U~O+o0备选流4-PIN有误 sx!tt9TQ8f2]0备选流5-帐户不存在/帐户类型有误 '_R.G;v-z1v!v0备选流6-帐面金额不足51Testing软件测试网 w1^y6xHcS L1RnIM |
以从这个用例生成下列场景
+yy;UCPKc&P0场景1-成功的提款 ;C]w!lOb!~0 | 基本流 CSSQp7H0 | 51Testing软件测试网m3a+z,kl |
场景2-ATM内没有现金51Testing软件测试网9[Q/O*o'|
p | 基本流 bMlERe*d0 | 备选流2 b;o c9A@8u/W0 |
场景3-ATM内现金不足51Testing软件测试网(D0k8JU&sEo
s3n | 基本流 %[#D4F6K0leX8m0 | 备选流3 FZ-\5o`"x0 |
场景4-PIN有误(还有输入机会) q'L3w5}0gg0 | 基本流51Testing软件测试网c7uB{ oe&N | 备选流4 'Lcr|*OwCy:s0 |
场景5-PIN有误(不再有输入机会)51Testing软件测试网~/Dz,{K V-i | 基本流 'v%a"v&I-e
@i9b5[2R0 | 备选流4 $j~bOtA D-W+X}{0 |
场景6-账户不存在/账户类型有误51Testing软件测试网#UEd
{c | 基本流51Testing软件测试网^2] a |Y%Ha | 备选流5 .?oG4Hl `0 |
场景7-账户余额不足51Testing软件测试网e"YbGE | 基本流 6`Ib(T AZ]|,p(Y.j0 | 备选流651Testing软件测试网#G0tC
lX#X.o |
注:为方便起见,备选流3和6(场景3和7)内的循环以及循环组合未纳入上表。
'W"m*N:WqTH,I(Vd
s0对于这7个场景中的每一个场景都需要确定测试用例。可以采用矩阵或决策表来确定和管理测试用例。下面显示了一种通用格式,其中各行代表各个测试用例,而各列则代表测试用例的信息。本示例中,对于每个测试用例,存在一个测试用例ID、条件(或说明)、测试用例中涉及的所有数据元素(作为输入或已经存在于数据库中)以及预期结果。51Testing软件测试网;k9w+uBu@9f+n*N
通过从确定执行用例场景所需的数据元素入手构建矩阵。然后,对于每个场景,至少要确定包含执行场景所需的适当条件的测试用例。例如,在下面的矩阵中,V(有效)用于表明这个条件必须是VALID(有效的)才可执行基本流,而I(无效)用于表明这种条件下将激活所需备选流。下表中使用的“n/a”(不适用)表明这个条件不适用于测试用例。51Testing软件测试网
tW9D/V*xVf"?8X
&
收藏
举报
TAG: