|
实验3
|
(1)巩固所学的修正条件/判定覆盖测试;
(2)提高运用修正条件/判定覆盖测试的能力。
(1)掌握逻辑覆盖的基本方法、概念;
(2)熟悉程序语言的逻辑结构与基础知识;
(3)选择一种程序语言。
以信用卡还款为实例,见图3-1,针对信用卡还款业务逻辑代码进行分析,运用修正条件/判定覆盖法进行测试用例设计。信用卡还款是网上银行系统和第三方支付平台的常见功能。登录第三方支付平台,选择信用卡还款模块,进入信用卡还款页面。在信用卡还款页面的第二步操作页面,验证储蓄卡是否有效并进行还款。信用卡还款业务流程描述如下。
(1)在“填写还款信息”页面,输入信用卡卡号、持卡人姓名,单击“确定付款”按钮,进入“使用储蓄卡付款”页面;
(2)在“使用储蓄卡还款”页面,输入储蓄卡卡号、持卡人姓名、单击“下一步”按钮,进入“还款详细”页面;
(3)在“还款详细”页面,在“还款类型”下拉框中选择“全部还款”或“分期还款”,单击“确定还款”按钮完成还款。
以下为通过第三方支付平台进行信用卡还款的部分伪代码实现。
图3-1 信用卡还款界面
(1)首先要让学生了解信用卡还款业务场景,能够模拟操作信用卡还款流程;
(2)能够将业务场景与代码逻辑关系对应;
(3)根据代码画出程序流程图,并分析各判定节点;
(4)根据代码流程图分析出判定条件与真假取值。
(1)明确被测试对象使用的测试方法;
(2)小组讨论业务场景并进行分析;
(3)测试实施工作安排;
(4)评审程序流程图和测试用例;
(5)执行测试,根据测试用例带入各条件测试数据,给出测试结果。
(1)根据信用卡业务描述,分析信用卡还款流程,包括主流程、分支流程以及正常流程、异常流程。
(2)模拟信用卡还款场景:触发信用卡还款的条件,不同条件是否走不同的还款流程。
(3)信用卡还款数据项检查:数据项的计算规则;数据项后台判断逻辑。
根据信用卡还款代码,设计出程序流程图(图3-2),并对程序流程图做节点标记,分析流程图的判定条件与结果。
图3-2 程序流程图
根据业务场景与流程逻辑判定,运用修正条件/判定覆盖法进行用例设计。修正条件/判定覆盖法是为了实现条件/判定覆盖中尚未考虑到的各种条件组合情况覆盖,减少条件组合覆盖中产生的过多、无价值的测试用例。具体地说,修正条件/判定覆盖满足以下条件:
(1)每个判定的所有可能结果至少能取值一次(达到判定覆盖)。
(2)判定中的每个条件的所有可能结果至少取值一次(达到条件覆盖)。
(3)一个判定中的每个条件独立地对判定的结果产生影响(在条件组合中固定一个变量或条件,改变另一个变量或条件,如果对结果有影响,就需要测试,如果对结果没有影响就不需要测试)。
(4)每个入口和出口至少执行一次,覆盖不同入口或出口的路径。
根据修正条件/判定覆盖方法(MC/DC)进行分析,得到如表3-1所示的符合MC/DC质量标准的测试用例。
表3-1 符合MC/DC质量标准的测试用例
从实验3可以看出,修正条件/判定覆盖是逻辑覆盖方法中相对较强的,超过判定覆盖、条件覆盖和条件/判定覆盖。
根据以下程序(根据销售额计算奖金)设计修正条件/判定覆盖的测试用例: