[TOC]
软件工程205
7023120162
丁金金
(1)根据银行内部转账业务描述,分析内部转账流程,包括主流程、分支流程以及正常流程、异常流程。 (2)模拟内部转账场景:触发内部转账的条件,不同条件是否走不同的转账流程。 (3)数据项检査:数据项的计算规则,数据项后台判断逻辑。
根据内部转账业务需求,设计出程序流程图,如图2-1所示,并对程序流程图做节点标记,分析流程图的判定条件与结果
根据业务场景与流程逻辑判定,运用条件覆盖法进行用例设计。 条件覆盖即设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。条件覆盖率的公式是:条件覆盖率=被评价到的条件取值的数量/条件取值的总数×100%。具体地说,就是在各种条件中,不考虑条件组合的因素,对每个条件变量分别只取真假值一次,使得被测试程序中的每个条件取值至少被覆盖一次。 条件组合覆盖是通过设计足够多的测试用例,使得被测试程序中每个判断的所有可能条件取值的组合至少出现一次。 注意: (1)条件组合只针对同一个判断语向内存在多个条件的情況,让这些条件的取值进行笛卡儿乘积组合。 (2)不同的判断语句内的条件取值之间无须组合。 (3)对于单条件的判断语句,只需要满足自己的所有取值即可。 测试的依据是需求与设计文档,根据程序流程图实现。
银行内部转账流程在不考虑判定、仅考虑条件分支的情况下,条件分支数为5,即T1~T5。在条件覆盖中只考虑每个判定语句中的每个表达式,没有考虑各个条件分支。 根据图2-1所示的流程图,标记出节点。根据条件覆盖方法来进行分析,得到如表2-2所示的符合条件覆盖标准的测试用例。 条件覆盖的测试用
①条件转账金额>100W取真为T1 ②条件转账金额<=100W取假为F1
①条件“确认方式”==1取真为T2 ②条件“确认方式”==2取真为T3 ③条件“确认方式”==3取真为T4 ④条件T2、T3和T4都不成立取假为F2
①条件“确认方式”==2取真为T5 ②条件“确认方式”==3取真为T6 ③条件T5和T6都不成立取假为F3B 通过设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少出现一次。在这个银行内部转账流程上,判定1的条件和判定2、3中的条件分别构成组合。由于业务特定的逻辑,其组合简化为7个,而不是14个 ①判定1的条件T1和判定3中的各个条件构成组合,即3个组合,而不是2×3=6个组合; ②判定1的条件F1和判定2中的各个条件构成组合,即4个组合,而不是2×4=8个组合。 因此根据条件组合覆盖,总共有7个测试用例完成组合覆盖,如表2-3所示。这里不考虑异常情况,如转账金额<=0的情况。遇到这种情况会直接异常退出,也无法进入下个判定2或判定3,和组合也没关系。 条件组合覆盖的测试用例