COMPSCI186 数据结构

第 1 章 编程教程

| 关于   英文版   «  1.8. JUnit 测试与你(JUnit Testing And You)   ::   目录   ::   1.10. 为代码覆盖率进行测试(Testing for Code Coverage)  »

1.9. 测试(Testing)

1.9.1. 测试与调试(Testing vs. Debugging)

当我们"编写程序"时,实际上大部分时间都花在测试和调试上。这是两件不同的事情。 测试 指确定程序是否按我们的意图运行。 调试 指在确定程序没有按意图运行后对其进行修正。因此,我们只能在测试并确定存在需要修正的问题之后进行调试。调试来修复已知问题有时非常困难,但通常有一定的机械性。测试需要很多技巧和同理心,以便想全程序可能出错的种种方式(特别是,所有可能影响程序行为的输入路径)。

为了让你对测试有多难有个概念,尝试做下面的练习。你的目标是提出一系列"测试",即程序的输入,使程序中的各个路径都被执行(也就是产生"代码覆盖率")。这里的输入被当作三角形的边长,程序应该把这些边长分类为三角形的类型。你可能会发现,要想出各种能使代码覆盖率甚至达到 50% 的输入集合相当有挑战性。

   «  1.8. JUnit 测试与你(JUnit Testing And You)   ::   目录   ::   1.10. 为代码覆盖率进行测试(Testing for Code Coverage)  »

关闭窗口