0

我是一个完整的计划初学者,想知道测试用例是什么,甚至是做什么。例如,如果我想为我已经编码和测试过的负根二次函数编写一个测试用例,我该怎么做?

(define (quadnegative a b c)
(* (/ (+ (sqrt (-(square b) (* 4 a c))) b) 2 a) -1))
;Value: quadnegative

(quadnegative 1 3 -4)
;Value: -4

先感谢您。

4

1 回答 1

1

首先查看解释器的文档以了解具体细节,例如在 Racket 中,这里是开箱即用的测试框架。

本质上,测试用例会将表达式的实际值与期望值进行比较——如果它们匹配,则测试成功。这是一个在 Racket 中如何工作的基本示例(假设您选择了适当的语言,例如“Beginning Student”):

(define (add-one x)
  (+ 2 x)) ; an error!

(check-expect (* 21 2) 42)   ; test will succeed
(check-expect (add-one 1) 2) ; test will fail

以上将产生如下输出:

Ran 2 tests.
1 of the 2 tests failed.

No signature violations.

Check failures:
    Actual value 3 differs from 2, the expected value.
at line 5, column 0

对于您的测试,请尝试想象感兴趣的测试值。为返回实际值的输入编写一些测试:

(check-expect (quadnegative 1 3 -4) -4)

然后,测试返回虚值的输入......等等。尝试彻底地进行测试,涵盖尽可能多的情况,特别是可能导致“奇怪”输出值的不寻常或“奇怪”情况。

于 2013-09-18T03:49:08.213 回答