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 に答える