条件覆盖和条件组合覆盖测试设计-实验八例题

文章详细介绍了条件覆盖、判定-条件覆盖和条件组合覆盖在银行内部转账业务逻辑代码测试中的应用,通过实例展示了如何设计测试用例来确保各种逻辑条件和判定结果的覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

条件覆盖

判定-条件覆盖

条件组合覆盖

实验内容:         以银行内部转账为实例,针对内部转账业务逻辑代码进行分析,运用条件覆盖和条件组合覆盖进行测试用例设计。

实验过程:


条件覆盖

条件覆盖(Condition Coverage指的是设计足够多的测试用例,使判定语句中的每个逻辑条件取真值与取假值至少出现一次,例如,在上一个实验的案例中,对于判定语句IF(a>1 OR c<0)中存在a>1c<0 2个逻辑条件,设计条件覆盖测试用例时,要保证a>1c<0”“值至少出现一次。下面设计条件覆盖测试用例,在该程序中,有2个判定语句,每个判定语句有2个逻辑条件,共有4个逻辑条件,使用标识符标识各个逻辑条件取真值与取假值的情况,如表1所示。


在表1中,使用S1标记x>0取真值(即x>0的情况,-S1标记x>0取假值(即x>0不成的情况。同使S2S3S4y<0x>2z>0取真值,使用-S2-S3-S4标记y<0x>2z>0取假值,最后得到执行条件判断语句的8种状态,设计测试用例时,要保证每种状态都至少出现一次。设计测试用例的原则是尽量以最少的测试用例达到最大的覆

盖率,则该段程序的条件覆盖测试用例如表2


判定-条件覆盖

         判定-件覆盖(Condition/Decision Coverage求设计足够多的测,使得定语句中所有条件的可能取值至少出现一次,同时,所有判定语句的可能结果也至少出现一次。

例如IF(a>1 AND c<1)a>1c<1测试用例时,要保证a>1c<1两个条件取“真”“假”值至少一次,同时,判定语句IF(a>1 AND c<1)假”值也至少出现一次。这就是判定-条件覆盖,它弥补了判定覆盖和条件覆盖的不足之处。

根据判定-条件覆盖原则,为该程序段设计判定-条件覆盖测试用例,如表3所示。

3   判定-条件覆盖测试用例

在表3中,条件1是指判定语句“IF x>0 AND y<02是指判定语句“IF x>2 OR z>0,条件判断的值0表示“假”,1表示“真”。表3-43个测试用例满足了所有条件可能取值至少出现一次,以及所有判定语句可能结果也至少出现一次的要求。

相比于条件覆盖、判定覆盖,判定-覆盖弥补了两者的不足之处,但是由于判定-条件覆盖没有考虑判定语句与条件判断的组合情况,其覆盖范围并没有比条件覆盖更全面,判定-条件覆盖也没有覆盖acd路径,因此判定-覆盖仍旧存在遗漏测试的情况。

条件组合覆盖

条件组合(Multiple Condition Coverage指的是设计足够多的测试用例,使判定语句中每个条件的所有可能至少出现一次,并且每个判定语句本身的判定结果也至少出现一次,它

判定-条件覆的差别是,条合覆盖不简单地要求每个条件都现“真”与“假两种结果,而是要求让这些结果的所有可能组合都至少出现一次。

仍以之前案例程序为例,该程序中共有4个条件:x>0y<0x>2z>0我们依然用S1S2S3S4记这4条件成立,用-S1-S2-S3-S4记这些条件不成立。由于这4个条件每个条件都有取“真”“假”两个值,因此所有条件结果的组合有24=16种,如4所示。


44所有果的组情况过分可以268134种情况是不存在的,这几种情况要求x>0不成立,x>2成立,这2果相悖,因此最终所有条件组合情况有12种。根据这12种情况设计测试用例,具体如表5所示。


512试用例,12个测试例覆盖4个条结果的所组合,与-条件覆盖相比,条件组合覆盖包括了所有判定-条件覆盖,此它的盖范围广。但是当程序中条件比较多时,条件组合的数量会呈指数型增长,组合情况非常多,要设计的测试用例也会增加,这样反而会使测试效率降低。

验内容:
         以银行内部转账为实例,针对内部转账业务逻辑代码进行分析,运用条件覆盖和条件组合覆盖进行测试用例设计。

         内部转账用于处理发起户口号和接收户口号都是内部账户的系统内资金转账业务,主要用于财务资金的划拨、未实现自动清算业务的清算资金的划拨。

         1内部转账发起是指:发起行发出内部资金交易,并换人复核,满足条件时需会计主管授权。

         2内部转账接收是指:内部资金交易接收方根据接收方确认方式,对交易进行接收经办,满足条件的需复核或授权。

         确定接收方的入账流程,“确认方式”分为以下三种:
         1不需接收方确认,即发起方发起后自动记发起方和接收方的一套账务,接收方无须再做接收动作。

        (2需接收方确认,即接收方接收时不能更改接收信息,只能依据发起方输入的信息入账或退发起方。以目前的处理方式,接收经办→入账(金额小于100元),大于100万元时为接收经办+接收授权→入账。

        (3需接收方经办,即接收方接收时可以更改接收信息,执行入账或退发起行。以目前的处理方式,接收经办+接收复核→入账(金额小于100元),大于100元时为接收经办+接收复核+接收授权→入账。

内部转账权限控制如表6所示。

以下为银行内部转账控制的部分伪代码实现:

验过程:

1. 测试分析
1根据银行内部转账业务描述,分析内部转账流程,包括主流程、分支流程以及正常流程、异常流程。

2)模拟内部转账场景:触发内部转账的条件,不同条件是否走不同的转账流程。(3)数据项检查:数据项的计算规则,数据项后台判断逻辑。

2. 测试设计
根据内部转账业务需求,设计出程序流程图,并对程序流程图做节点标记,分析流程图

的判定条件与结果。

A~Q为测试路径编号,在下面的测试用例分析中将根据测试路径编号确定测试用例的业务流向。

         根据图2-1所示的流程图,标记出节点。根据条件覆盖方法来进行分析,得到如表2所示的符合条件覆盖标准的测试用例。

S(2)条件组合覆盖

对于判定1

条件转账金额>100W   取真为T1

条件转账金额<=100W  取假为F1

对于判定2

条件“确认方式”==1

取真为T2

条件“确认方式”==2

取真为T3

条件“确认方式”==3

取真为T4

条件T2T3T4都不成立

取假为F2

对于判定3

        ①条件“确认方式”==2  取真为T5

        ②条件“确认方式”==3  取真为T6

        ③条件T5T6都不成立 取假为F3
通过设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合

少出现一次。在这个银行内部转账流程上,判定1条件和判定23的条件分别构成组合。由于业务特定的逻辑,其组合简化为7而不是14

         判定1的条件T1和判定3中的各个条件构成组合,即3个组合,而不是2×3=6个组合;

         判定1的条件F1和判定2中的各个条件构成组合,即4合,而不是2×4=8个组合。

因此根据条件组合覆盖,总共有7试用例完成组合覆盖,如表3所示。这里不考虑异常情况,如转账金额<=0的情况。遇到这种况会异常退出,也法进入下一判定2或判定3,和组合也没关系。

<think>好的,我现在需要帮用户制作一份关于黑盒测试方法及实例的教学PPT,要求生动、美观且易于理解。首先,我需要理清楚用户的具体需求。用户提到了参考的站内引用,里面提到了多种黑盒测试方法,比如等价类划分、边界值分析、判定表法、因果图法等,以及它们的案例。用户希望将这些内容整理到PPT中,并且要生动形象,美观大气。 首先,我得考虑PPT的结构。通常教学PPT需要有清晰的目录,分章节讲解各个方法,每个方法需要包括定义、步骤、案例以及可能的练习题。用户希望内容生动,可能需要使用图表、流程图、颜色区分等元素来增强视觉效果。美观大气的话,可能需要统一的配色方案、高质量的图标图片,以及合适的字体排版。 接下来,我要考虑每个黑盒测试方法的具体内容。例如,等价类划分法需要说明有效等价类无效等价类,并给出例子,比如用户登录中的用户名输入。边界值分析法则要强调边界附近的测试点,例如年龄输入框的边界值测试。判定表法需要展示条件组合对应的动作,可能需要用表格形式呈现。因果图法则要展示因果关系,可以用图形化的方式表达。组合覆盖法如正交实验法,可以用实例表格说明参数组合。错误推测法则依赖经验,可以举常见的错误案例,比如文件上传时的异常情况。 然后,我需要确保内容符合用户的要求,每个方法都配有例题解析,这样学生或观众可以更好地理解。例题要简洁明了,能够突出方法的重点。例如,在等价类划分中,用户名长度为6-18位,有效等价类可以是10位,无效等价类可以是5位或20位,这样直观展示测试用例的设计。 关于PPT的设计,可能需要分章节,每章一个方法,使用统一的模板。配色方面,选择科技感强的颜色,比如蓝色系,搭配白色或浅灰色背景,确保文字清晰。字体要统一,标题用加粗的大号字体,正文适当留白,避免拥挤。图表流程图可以用工具如PowerPoint自带的SmartArt,或者使用专业工具制作后导入。图标可以从资源网站下载,比如Flaticon,确保风格一致。 动画效果方面,适当使用过渡动画元素出现动画,但不要过多,以免分散注意力。例如,每个方法的部分可以淡入,案例部分可以逐条出现。互动环节可以设计提问或小练习,让观众参与,比如在讲解完判定表法后,给出一个简单的问题让观众自己设计判定表,再展示答案。 最后,用户可能需要参考资料部分,列出引用的文献或网站,确保版权合规。同时,在PPT末尾可以添加二维码或链接,方便观众获取更多资料或相关文章。 总结下来,我需要将内容结构化,设计美观的布局,使用图表案例增强理解,保持风格统一,适当加入互动元素,确保信息传达清晰有效。同时,检查是否有遗漏的黑盒测试方法,确保覆盖用户提到的所有引用内容,比如功能图法、场景设计法等,可能需要补充相关案例。最后,进行整体审阅,确保逻辑连贯,视觉美观,符合用户的需求。</think>### 如何制作黑盒测试方法教学PPT(分步骤说明) --- #### **第一步:设计PPT框架与风格** 1. **封面设计** - 标题:*黑盒测试方法全解析与实战案例* - 副标题:*等价类划分、边界值分析、判定表法、因果图法详解* - 视觉元素:软件测试插画(如放大镜检测代码)+ 渐变色背景(推荐蓝白科技感配色)。 2. **目录页** 按逻辑顺序分层展示: ```markdown 1. 黑盒测试概念与核心思想 [^1] 2. 等价类划分法及实例 3. 边界值分析法及实例 4. 判定表法与因果图法对比 5. 正交实验法与组合覆盖 6. 错误推测法实战技巧 ``` 3. **统一风格** - 字体:标题用**思源黑体 Bold**,正文用**微软雅黑 Light** - 配色:主色#2A5CAA(深蓝),辅助色#FF6B6B(珊瑚红) - 图标:使用[Flaticon](https://www.flaticon.com/)的测试相关线性图标(如✔️❌📊) --- #### **第二步:核心方法详解(每页结构)** **模板示例:等价类划分法** 1. **定义** - 文字:*将输入域划分为若干等价类,每类选取一个代表值测试* - 图示:左右分栏对比有效/无效等价类(用✅❌标注)。 2. **实例:用户登录功能** - 输入条件:用户名长度6-18位 - 等价类划分: $$ \text{有效类:} [6,18] \quad \text{无效类:} (-\infty,5] \cup [19,+\infty) $$ - 测试用例: | 输入值 | 预期结果 | |---|---| | "user10" (10位) | 通过 | | "test" (4位) | 报错 | 3. **可视化技巧** - 添加动态色块区分有效/无效区域 - 用**聚光灯动画**突出关键测试用例--- #### **第三步:高阶方法对比(交互式设计)** **判定表法 vs 因果图法** 1. **判定表示例** [^3] - 条件:$a_1$(T/F)、$a_2$(T/F) - 动作:$b_1$~$b_4$ - 表格:用条件格式染色标记输出结果(如绿色=通过,红色=失败)。 2. **因果图法** - 图形:绘制因果逻辑关系图(使用PPT“流程图-逻辑门”形状) - 案例:ATM取款条件组合(余额充足+密码正确→允许取款)。 --- #### **第四步:实战练习与答案解析** **边界值分析例题** - 题目:测试年龄输入框(范围1-150岁) - 答案模板: ```markdown 测试点:0,1,2 149,150,151 预期结果: - 1150 → 通过 - 0151 → 报错 [^2] ``` - 设计:**折叠文本框**隐藏答案,点击后展开。 --- #### **第五步:增强可视化与互动** 1. **正交实验法参数组合** - 用**矩阵表格**展示$L_9(3^4)$正交表(填充颜色区分不同因素组合)。 2. **错误推测法场景模拟** - 插入**短视频片段**(如上传非图片格式文件导致系统崩溃)。 --- ### §§ 相关问题 §§ 1. 如何用PPT动画演示判定表的条件组合过程? 2. 黑盒测试方法如何与白盒测试结合使用? 3. 哪些工具可以辅助生成正交实验法的测试用例--- 通过分层递进的内容设计、统一的视觉风格交互元素,可实现**技术性与美观性**的平衡。关键是通过**具体场景+图形化表达**降低理解门槛[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值