首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >报表覆盖问题: ISTQB基础级别

报表覆盖问题: ISTQB基础级别
EN

Stack Exchange QA用户
提问于 2016-12-12 09:06:56
回答 5查看 18.7K关注 0票数 5

我在ISTQB -基础级样本论文中看到了以下问题。

如果下面的伪代码是一种编程语言,那么需要进行多少测试才能达到100%的语句覆盖率?

  1. 如果x=3那么
  2. Display_messageX;
  3. 如果y=2那么
  4. Display_messageY;
  5. 否则
  6. Display_messageZ;
  7. 否则
  8. Display_messageZ;

答案

A. 1

B. 2

C. 3

D. 4

我相信答案是2,因为你可以通过涵盖以下路径来涵盖所有的陈述。

  • A、B、C、E、D、G
  • A、B、F、G

然而,许多网站(请找到一个网站列表的末尾)说,答案是3。

我有两个问题:

  • 我的流程图有什么问题吗?
  • 为什么我的答案不正确?

链接到上面说3是正确答案的地方。

  1. 有趣的测试
  2. 测试_手册_自动化
  3. 软件测试咖啡厅
  4. FYI中心
  5. Patashala.com
EN

回答 5

Stack Exchange QA用户

回答已采纳

发布于 2016-12-12 10:16:51

我的流程图有什么问题吗?

是也不是。它在功能上是正确的:它准确地描述了代码应该做什么。但是,在代码中,Display_messageZ是在两个地方调用的(而不是在图表中)。

为什么我的答案不正确?

因为您遵循图表而不是代码,所以您错过了对Display_messageZ的第二次调用来实现完整的语句覆盖。它是相同的语句,但是它仍然是不同的代码行,所以它们都需要用这种类型的覆盖率来执行。

票数 5
EN

Stack Exchange QA用户

发布于 2016-12-12 09:18:17

这个问题的答案是3。这是为什么,

这里有两个if语句。每条if语句都有2条可能的输出。因此,对于每个if语句2,将需要测试用例。

在上述情况下,if语句是嵌套的,也就是说,1 if语句位于另一个if语句中。

因此,对于第一个if语句:

案例1:如果条件为真,则显示消息x并进入嵌套的If语句(继续到案例3)。

案例2:如果条件为false,跳过嵌套的If语句并显示消息z。

案例3:如果嵌套条件为true,则显示消息y。

案例4:如果嵌套条件为false,则显示消息z。

在这里,嵌套的if语句有两个不同的其他语句。因此,为了涵盖内部if语句的其他条件(语句),您将需要一个额外的测试用例,这使得总共有3个测试用例。

在嵌套if条件的情况下,我通常的方法是总case = if语句的数目+1

票数 2
EN

Stack Exchange QA用户

发布于 2016-12-12 11:15:33

正确的流程图

答案是C=3

  1. A、B、F、G
  2. A、B、C、E、D、F、G
  3. A、B、C、E、F、G
票数 1
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/24275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档