首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >白盒测试与跟踪表

白盒测试与跟踪表
EN

Software Engineering用户
提问于 2018-05-26 06:53:05
回答 2查看 372关注 0票数 3

我在我的教学大纲的一个部分中看到了白盒测试中的跟踪表,在另一个部分中分别在模拟测试中列出了。请任何人澄清跟踪表是否通常被认为是一种或两种类型的测试的一部分?

我对此进行了彻底的研究,但没有发现任何能解决这一模糊性的问题。例如:http://www.101computing.net/trace-table/

http://theteacher.info/index.php/2-3-producing-robust-programs/notes/5287-the-purpose-of-testing

跟踪表被列为一种尝试运行的技术。

教学大纲(http://www.cambridgeinternational.org/images/202629-2017-2019-syllabus.pdf)包含一个歧义,我希望得到一些帮助,为我的学生澄清。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2018-05-26 09:12:26

跟踪表只是一个逐行日志,包括源代码的行号和变量内容。这显然是一种白盒技术,因为它强耦合到每个被测试方法的实现内部。这是一种非常古老的测试(和调试)技术,我猜>40年前,它是为过程代码设计的,您的链接仍然提到它是一种经常使用铅笔和纸张的技术。今天,人们通常使用调试器,并使用调试器的跟踪和监视功能逐行或逐语句地遍历代码。

这个术语并不是严格定义的,但是在链接的上下文中,它可能意味着从一个更大的程序中取出一些代码,并使用一些可管理的输入数据来运行它。“用一张纸执行”也被提到了,但IMHO不一定是术语“试运行”定义的一部分。这也是一个非常古老的术语和方法,与前者的年龄相似。现代的等价物是单元测试,它使干燥运行无痛、可重复和有效,不需要任何铅笔和纸张。

现在,单元测试可以与使用调试器逐步遍历代码结合使用,这是一种有效的技术来理解代码所做的事情,特别是在搜索错误时。它通常比在复杂程序的上下文中使用调试器更有效。但是,单元测试也(实际上更经常)是在没有调试器的情况下使用的,这些用法是正交的。

对于试图利用纸面上的跟踪表来说,这就更有道理了:在一个庞大而复杂的代码部分的上下文中,这很快就变得无法管理了。因此,最好在尝试运行的场景中使用它。

所以简而言之

  • 使用跟踪表(或逐步调试)始终是一种白盒测试技术。
  • 跟踪表在尝试运行的场景(或单元测试)中最有效,但这不是强制连接,也不是其定义的一部分。

最后要指出的一点是:如果教学大纲提到了模拟测试,而不是将单元测试作为一种基本测试技术,则可能会通过更新而得到改进。

票数 4
EN

Software Engineering用户

发布于 2018-05-26 14:03:29

来自SEI的Donald写了一篇很棒的关于测试分类的文章,并且没有列出跟踪表(这个列表很详尽,但可能已经过时了)。您将获得完整的幻灯片在这里 (对于任何SW开发人员来说,它们都是必需的)。

我认为跟踪表是测试证据,它们适用于多种测试类型,而不仅仅是白盒。因此,跟踪表不是测试类型,而是测试工件。

你也可以与唐纳德·菲雷史密斯取得联系,并得到他对此的看法。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/371594

复制
相关文章

相似问题

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