我是计划的完全初学者,想知道测试用例是什么,甚至是什么。 例如,如果我想为已经编码和测试的负根二次函数编写测试用例,我该怎么做?
(define (quadnegative a b c)
(* (/ (+ (sqrt (-(square b) (* 4 a c))) b) 2 a) -1))
;Value: quadnegative
(quadnegative 1 3 -4)
;Value: -4
提前谢谢。
答案 0 :(得分:1)
首先查看解释器的文档以获取具体细节,例如在Racket中here是开箱即用的测试框架。
本质上,测试用例会将表达式的实际值与期望的值进行比较 - 如果它们匹配,则测试成功。以下是在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)
然后,测试返回虚数值的输入......等等。尽量在测试中尽可能彻底地覆盖尽可能多的案例,特别是可能导致“奇怪”输出值的异常或“怪异”案例。