From 3e78d9d01190242c35461aecfcf3ae5051c5fba1 Mon Sep 17 00:00:00 2001 From: j8takagi Date: Tue, 11 Jan 2011 00:18:07 +0900 Subject: [PATCH] =?utf8?q?=E3=83=81=E3=83=A5=E3=83=BC=E3=83=88=E3=83=AA?= =?utf8?q?=E3=82=A2=E3=83=AB=E3=82=92=E3=81=B2=E3=81=A8=E3=81=A8=E3=81=8A?= =?utf8?q?=E3=82=8A=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- doc/autotest_mk.html | 608 ++++++++++++++++++++++++++++++++++---- doc/autotest_mk.texi | 675 ++++++++++++++++++++++++++++++++++++++++--- doc/style.css | 31 +- 3 files changed, 1199 insertions(+), 115 deletions(-) diff --git a/doc/autotest_mk.html b/doc/autotest_mk.html index d479967..76f6147 100644 --- a/doc/autotest_mk.html +++ b/doc/autotest_mk.html @@ -1,8 +1,8 @@ -autotest_mk - Linux上のCASL II処理系 +Autotest_mk - GNU Makeを利用したテスト自動化ツール - + @@ -46,7 +46,7 @@ h3, h4 { } p { - line-height: 1.5em; + line-height: 1.25em; margin-top: 0; margin-bottom: 0.5em; } @@ -56,14 +56,6 @@ a:hover { text-decoration: underline; } -.command { - font-family: monospace; -} - -table.cartouche { - width: 60%; -} - pre.example { padding: 0.5em 1em 0.5em 1em; color: #CCC; @@ -76,13 +68,17 @@ a { } blockquote { + line-height: 1.25em; border: 1px solid #00F; } -blockquote.p { - margin-top:0; - padding-top:0; - line-height: 100%; +kbd { + font-family: monospace; +} + +kbd, code, .file { + margin-left:0.5em; + margin-right: 0.5em; } table, th, td { @@ -94,23 +90,29 @@ table.cartouche, table.cartouche th, table.cartouche td { border: none; } -pre.example .command, pre.example .option { +pre.example .command, pre.example .option, pre.example kbd { font-weight: bold; + font-family: monospace; background-color: inherit; color: white; + margin-left:0; + margin-right: 0; } pre.example strong { font: inherit; border: 2px solid green; } ---> + +dt { + font-weight: bold; +}--> -

autotest_mk - Linux上のCASL II処理系

+

Autotest_mk - GNU Makeを利用したテスト自動化ツール

-
+

Table of Contents

  • 3 Autotest.mkチュートリアル
  • 4 Autotest.mkマニュアル
      @@ -170,7 +195,7 @@ pre.example strong {

      1 Autotest.mkの概要

      -

      Autotest.mkは、GNU Makeを利用したテスト自動化ツールです。何回かmakeコマンドを実行し、プログラムのテスト結果を表す実行ファイルを作成すれば、テストの準備は完了です。あとはmakeコマンドを1回実行すれば、いつでもテストを実行できます。テストの実行結果は、ログに出力されます。 +

      Autotest.mkは、GNU Makeを利用したテスト自動化ツールです。何回かmakeコマンドを実行し、コマンドファイルとテスト結果の想定をあらわすファイルを作成すれば、テストの準備は完了です。あとはmakeコマンドを1回実行すれば、テストを実行できます。テストが実行されると、詳細なログが出力されます。

      Autotest.mkでは、次の3つの概念を使います。 @@ -212,9 +237,9 @@ pre.example strong {

      2.1 ダウンロード

      -

      GitHub/j8takagi/autotest_mkのダウンロードページから最新版のtgzファイルをダウンロードします。 +

      GitHub/j8takagi/autotest_mkのダウンロードページから最新版のtar.gzファイルをダウンロードします。 -

      続けて、対応するmd5sumフィルをダウンロードします。 +

      続けて、対応するmd5sumファイルをダウンロードします。

      @@ -229,7 +254,8 @@ pre.example strong {

      2.3 ファイルの展開

      -

      autotest_mkファイルをダウンロードしたら、展開先のディレクトリーに移動してから、展開します。次のコマンドでは、現在ログインしているユーザーのホームディレクトリーに展開します。 +

      autotest_mkファイルをダウンロードしたら、展開先のディレクトリーに移動してから、展開します。 +次のコマンドでは、現在ログインしているユーザーのホームディレクトリーに展開します。

        $ cd ~
         $ tar xvzf autotest_mk.tar.gz
      @@ -247,47 +273,115 @@ pre.example strong {
       
            
    • テストディレクトリーの作成 -
    • テスト用コマンドファイルの作成 +
    • テスト説明ファイルの作成 -
    • テスト想定結果の作成と検証 +
    • テストコマンドファイルの作成 -
    • テストの実行とログの確認 +
    • テスト想定ファイルの作成 + +
    • テストの実行 + +
    • テストログファイルの確認 + +
    • テストグループの実行 + +
    • テストグループログファイルの確認 -

      ここでは、次のような三角形判定プログラムをテストする手順を取り上げます。 +

      ここでは、Glenford J Myers『ソフトウェア・テストの技法』(近代科学社、1980)の記載を元にした、次の仕様の三角形判定プログラムをテストする手順を取り上げます1。 + +

      +プログラムtriangleは3つの引数をとる。この3つの値は、それぞれ三角形の3辺の長さをあらわすものとする。プログラムは、三角形が不等辺三角形の場合は`scalene triangle'、二等辺三角形の場合は`isosceles triangle'、正三角形の場合は`equilateral triangle'を印字する。 +
      + +

      この三角形判定プログラムの動作を検証するには、次のテスト・ケースが必要です2。

      -プログラムtriangleは3つの引数をとり、それぞれ三角形の3辺の長さをあらわすものとする。プログラムは、三角形が不等辺三角形の場合は`scalene triangle'、二等辺三角形の場合は`isosceles triangle'、正三角形は`equilateral triangle'を印字する。 +
        +
      1. 有効な不等辺三角形をあらわすテスト・ケース + +
      2. 有効な正三角形をあらわすテスト・ケース + +
      3. 有効な二等辺三角形をあらわすテスト・ケース + +
      4. 有効な二等辺三角形で2つの等辺を含む3種類の組合せすべてをためすことができる3つのテストケース + +
      5. 1つの辺がゼロの値をもつテスト・ケース + +
      6. 1つの辺が負の値をしめすテスト・ケース + +
      7. ゼロより大きい3つの整数をもち、そのうち2つの和がそれ以外の1つと等しいようなテスト・ケース + +
      8. 1辺の長さが他の2辺の長さの和に等しいことを3種類の順列のすべてに対してためすことのできるテスト・ケース + +
      9. ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなるテストケース + +
      10. ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなることにおいて、3種類の順列すべてを考慮することのできるテストケース + +
      11. すべての辺がゼロであるテスト・ケース + +
      12. 整数でない値をもつテスト・ケース + +
      13. 数値の個数が間違っていることをためすテスト・ケース +
      -

      +

      三角形判定プログラムは、三角形判定プログラムの準備をするか、または自作してください。 + +

      -

      3.1 サンプルプログラムの準備

      +

      三角形判定プログラムの準備

      -

      まず、Autotest.mkのパッケージに含まれているsample/triangle以下のサンプルプログラムを作業用ディレクトリーにコピーします。作業用ディレクトリーは、任意の場所に作成できます。ここでは、~/triangle(~は、現在ログインしているユーザーのホームディレクトリー)を作業用ディレクトリーにします。また、autotest.mkは、ホームディレクトリーに展開されているものとします。 +

      まず、Autotest.mkのパッケージに含まれているsample/triangle以下のファイルを、任意の作業用ディレクトリーにコピーします。ここでは、~/triangle(~は、現在ログインしているユーザーのホームディレクトリー)を作業用ディレクトリーにします。また、autotest.mkは、~に展開されているものとします。 -

        $ mkdir ~/triangle
      -  $ cd ~/autotest.mk/sample/triangle
      -  $ cp triangle.c Makefile ~/triangle
      +
        $ cd
      +  $ mkdir triangle
      +  $ cd autotest.mk/sample/triangle
      +  $ cp triangle.c triangle_bug.c Makefile ~/triangle
       
      -

      作業用ディレクトリーに移動し、サンプルプログラムをビルドします。 +

      作業用ディレクトリーに移動します。

        $ cd ~/triangle
         $ ls
      -  Makefile        triangle.c
      -  $ make
      +  Makefile  triangle.c  triangle_bug.c
      +
      +

      三角形判定プログラムをビルドします。 + +

        $ make
         gcc -o triangle triangle.c
       
      -

      ビルドが正常にできたかどうか、最低限のテストをします。 +

      テストもかねて、三角形判定プログラムを手動で実行します。

        $ ./triangle 3 4 5
         scalene triangle
      +  $ ./triangle 4 4 4
      +  equilateral triangle
      +  $ ./triangle 2 4 4
      +  isosceles triangle
       
      -

      +

      バグを含む三角形判定プログラムの準備

      -

      3.2 グループディレクトリーの作成

      +

      バグを含み一部のテストに失敗する三角形判定プログラムをビルドする場合は、次のコマンドを実行します。 -

      Autotest.mkのテストを実行するためにはまず、テンプレートディレクトリーでmakeを実行します。このとき、テストグループのディレクトリーを変数GROUPDIRで指定します。ここでは、~/triangle/testをテストグループのディレクトリーにします。 +

        $ make bug
      +  gcc -o triangle triangle.c
      +
      +

      テストもかねて、三角形判定プログラムを手動で実行します。 + +

        $ ./triangle 3 4 5
      +  futohen sankakukei
      +  $ ./triangle 4 4 4
      +  equilateral triangle
      +  $ ./triangle 2 4 4
      +  isosceles triangle
      +
      +

      ./triangle 3 4 5で、仕様では`scalene triangle'という結果になるべきところが、`futohen sankakukei'となっています。 + +

      + +

      3.1 グループディレクトリーの作成

      + +

      テンプレートディレクトリーでmakeを実行し、グループディレクトリーを作成します。このとき、テストグループのディレクトリーを変数GROUPDIRで指定します。ここでは、~/triangle/testをテストグループのディレクトリーにします。

        $ cd ~/autotest.mk/template
         $ make GROUPDIR=~/triangle/test
      @@ -296,23 +390,417 @@ pre.example strong {
       
       
        $ cd ~/triangle/test
         $ ls
      -  Define.mk Define_group.mk Define_test.mk Makefile Test.mk
      +  Define.mk  Define_group.mk  Define_test.mk  Makefile  Test.mk
       

      -

      3.3 テストディレクトリーの作成

      +

      3.2 テストディレクトリーの作成

      + +

      グループディレクトリーでmake createを実行し、テストディレクトリーを作成します。このとき、変数GROUPDIRでテスト名を指定します。テスト名は、小文字のアルファベットと数字で指定します。ここでは、1つめのテスト・ケースに対応するテストディレクトリーを、01_scaleneという名前で作成します。 + +

        $ make create TEST=01_scalene
      +
      +

      次のコマンドでテストディレクトリーに移動し、その中を確認します。 -

      +

        $ cd 01_scalene
      +  $ ls
      +  Makefile
      +
      +

      -

      3.4 テスト用コマンドファイルの作成

      +

      3.3 テスト説明ファイルの作成

      -

      +

      テスト説明ファイルdesc.txtはテストに関する説明をあらわし、テストの結果と一緒にログに出力されます。 +desc.txtをテキストエディターを使って次の内容で作成します。 + +

        有効な不等辺三角形をあらわすテスト・ケース
      +
      +

      + +

      3.4 テストコマンドファイルの作成

      + +

      テストコマンドファイルcmdは、テストの時に実行されるコマンドをあらわします。 +cmdをテキストエディターを使って次の内容で作成します。 + +

        ../../triangle 3 4 5
      +
      +

      + +

      3.5 テスト想定ファイルの作成

      + +

      テスト想定ファイル0.txtは、テストが正しく実行された場合の結果をあらわします。0.txtの作成方法は、次の3つがあります。 + +

        +
      • 手動で作成 + +
      • make set + +
      • make reset +
      + +

      エラーが発生するテストでは、標準出力想定の下にエラー出力想定を続けます。 + +

      3.5.1 手動で作成

      + +

      テスト想定ファイル0.txtをテキストエディターを使って次の内容で作成します。 + +

        scalene triangle
      +
      +

      3.5.2 make set

      + +

      make setを実行すると、コマンドファイルcmdが実行されます。実行結果は0.txtファイルに出力され、その内容が表示されます。 + +

        $ make set
      +  scalene triangle
      +
      +

      この方法で0.txtを作成した場合は、作成された内容がテスト想定として本当に正しいかよく検討する必要があります。 -

      3.5 テスト想定結果の作成と検証

      +

      また、0.txtがすでに存在する場合はmake setを実行するとエラーになり、0.txtは更新されません。 -

      +

      3.5.3 make reset

      -

      3.6 テストの実行とログの確認

      +

      0.txtがすでに存在する場合は、make resetで更新できます。 + +

        $ make reset
      +  scalene triangle
      +
      +

      + +

      3.6 テストの実行

      + +

      コマンドファイルとテスト想定を用意したら、makeまたはmake checkでテストを実行できます。 + +

        $ ls
      +  0.txt  Makefile  cmd  desc.txt
      +  $ make
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Success 2011-01-10 10:09:55
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +
      +

      表示される項目は、次のとおりです。 +

        +
      • <テスト説明ファイルdesc.txtの内容> + +
      • <テスト名>: <テスト結果(Test SuccessまたはTest Failure)> <テスト実行日時> + +
      • Detail in <テスト詳細ログファイルの絶対パス> +
      + +

      バグを含む三角形判定プログラムの場合

      + +

      バグを含む三角形判定プログラムでテストを実行すると、次のように表示されます。 + +

        $ make
      +  make: [diff.txt] Error 1 (ignored)
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Failure 2011-01-10 20:25:16
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +
      +

      + +

      3.7 テストログファイルの確認

      + +

      テストを実行して作成されたファイルを確認します。1.txt、test.log、detail.logが作成されています。 +

        $ ls
      +  0.txt  1.txt  Makefile  cmd  desc.txt  detail.log  summary.log
      +
      +

      テストを実行すると作成されるファイルは、次のとおりです。必要に応じてファイルの内容を確認します。 + +

      +
      1.txt
      テスト結果をあらわします。エラー発生時は、標準出力のあとにエラー出力が続きます + +
      err.txt
      エラー発生時に、エラーが出力されます。エラーが発生しない場合は作成されません + +
      diff.txt
      テスト想定ファイル0.txtとテスト結果ファイル1.txtの差分をあらわします。想定と結果が同一の場合は、作成されません + +
      summary.log
      テストの実行結果を表します。テスト実行時に表示される項目です。 + +
      detail.log
      テストの詳細ログを表します。上記の内容がすべて出力されます +
      + +

      detail.logは、次のようになります。 + +

        == test.log ==
      +  ----------------------------------------------------------------------
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Success 2011-01-10 10:09:55
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +  ----------------------------------------------------------------------
      +  
      +  == cmd ==
      +  ----------------------------------------------------------------------
      +  ../../triangle 3 4 5
      +  ----------------------------------------------------------------------
      +  
      +  == 0.txt ==
      +  ----------------------------------------------------------------------
      +  scalene triangle
      +  ----------------------------------------------------------------------
      +  
      +  == 1.txt ==
      +  ----------------------------------------------------------------------
      +  scalene triangle
      +  ----------------------------------------------------------------------
      +  
      +
      +

      バグを含む三角形判定プログラムの場合

      + +

      バグを含む三角形判定プログラムを準備してテストを実行した場合、1.txt、test.log、detail.logのほかに、テスト想定とテスト結果が異なるためdiff.txtが作成されます。 + +

        $ ls
      +  0.txt  1.txt  Makefile  cmd  desc.txt  detail.log  diff.txt  summary.log
      +
      +

      detail.logは次のようになります。 + +

        == summary.log ==
      +  ----------------------------------------------------------------------
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Failure 2011-01-10 20:25:16
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +  ----------------------------------------------------------------------
      +  
      +  == cmd ==
      +  ----------------------------------------------------------------------
      +  ../../triangle 3 4 5
      +  ----------------------------------------------------------------------
      +  
      +  == 0.txt ==
      +  ----------------------------------------------------------------------
      +  scalene triangle
      +  ----------------------------------------------------------------------
      +  
      +  == diff.txt ==
      +  ----------------------------------------------------------------------
      +  *** 0.txt	Mon Jan 10 20:12:14 2011
      +  --- 1.txt	Mon Jan 10 20:25:16 2011
      +  ***************
      +  *** 1 ****
      +  ! scalene triangle
      +  --- 1 ----
      +  ! futohen sankakukei
      +  ----------------------------------------------------------------------
      +  
      +  == 1.txt ==
      +  ----------------------------------------------------------------------
      +  futohen sankakukei
      +  ----------------------------------------------------------------------
      +  
      +
      +

      3.7.1 テストのクリア

      + +

      make cleanを実行すると、テストの結果作成されたファイルがクリアされます。 + +

        $ make clean
      +  $ ls
      +  0.txt  Makefile  cmd  desc.txt
      +
      +

      + +

      3.8 テストグループの実行

      + +

      2つめ以降のテスト・ケースについても、1つめと同じ手順でテストディレクトリーの作成後、テスト説明ファイルとテストコマンドファイル、テスト想定ファイルを作成します。ここでは、先に作成した01_scaleneも含めて、次のようなテストディレクトリーを作成します。 + +

        +
      • 01_scalene + +
      • 02_equilateral + +
      • 03_isosceles + +
      • 04_isosceles_c + +
      • 05_zero + +
      • 06_minus + +
      • 07_line + +
      • 08_lines + +
      • 09_less + +
      • 10_lesses + +
      • 11_zeroall + +
      • 12_notint + +
      • 13_argcnt +
      + +

      こうしたディレクトリーやファイルは、Autotest.mkのsample/triangle/test以下にあるので、コピーして作成することもできます。 + +

      テストグループディレクトリーでは、makeまたはmake checkで複数のテストをまとめて実行できます。 + +

        $ cd ~/triangle/test
      +  $ make
      +  test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log
      +  test: All tests are succeded.
      +
      +

      表示されるのは、次の項目です。 +

        +
      • <テスト名>: <成功テスト数>/<全テスト数> test passed. Detail in <テストグループログファイルの絶対パス> + +
      • (すべてのテストに成功した場合)<テスト名>: All tests are succeded. +
      + +

      バグを含む三角形判定プログラムの場合

      + +

      バグを含む三角形判定プログラムを準備してテストグループを実行した場合、次のように表示されます。 + +

        test: 10 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log
      +
      +

      + +

      3.9 テストグループログファイルの確認

      + +

      テストグループを実行すると作成されるファイルは、次のとおりです。 + +

      +
      <テストグループ名を大文字にした文字列>.log
      テストグループに含まれるテストとその実行結果の一覧をあらわします。 + +
      Summary.log
      テストの実行結果を表します。テストグループ実行時に表示される内容です。 +
      + +

      ここではテストグループ名はtestなので、TEST.logが次の内容で作成されます。 + +

        01_scalene/
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +  
      +  12_notint/
      +  整数でない値をもつテスト・ケース
      +  12_notint: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/12_notint/detail.log
      +  
      +  03_isosceles/
      +  有効な二等辺三角形をあらわすテスト・ケース
      +  03_isosceles: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/03_isosceles/detail.log
      +  
      +  02_equilateral/
      +  有効な正三角形をあらわすテスト・ケース
      +  02_equilateral: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/02_equilateral/detail.log
      +  
      +  05_zero/
      +  1つの辺がゼロの値をもつテスト・ケース
      +  05_zero: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/05_zero/detail.log
      +  
      +  13_argcnt/
      +  数値の個数が間違っていることをためすテスト・ケース
      +  13_argcnt: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/13_argcnt/detail.log
      +  
      +  10_lesses/
      +  ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなることにおいて、3種類の順列すべてを考慮することのできるテストケース
      +  10_lesses: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/10_lesses/detail.log
      +  
      +  07_line/
      +  ゼロより大きい3つの整数をもち、そのうち2つの和がそれ以外の1つと等しいようなテスト・ケース
      +  07_line: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/07_line/detail.log
      +  
      +  06_minus/
      +  1つの辺が負の値をしめすテスト・ケース
      +  06_minus: Test Success 2011-01-10 12:14:23
      +  Detail in /home/foo/triangle/test/06_minus/detail.log
      +  
      +  11_zeroall/
      +  すべての辺がゼロであるテスト・ケース
      +  11_zeroall: Test Success 2011-01-10 12:14:24
      +  Detail in /home/foo/triangle/test/11_zeroall/detail.log
      +  
      +  08_lines/
      +  1辺の長さが他の2辺の長さの和に等しいことを3種類の順列のすべてに対してためすことのできるテスト・ケース
      +  08_lines: Test Success 2011-01-10 12:14:24
      +  Detail in /home/foo/triangle/test/08_lines/detail.log
      +  
      +  09_less/
      +  ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなるテストケース
      +  09_less: Test Success 2011-01-10 12:14:24
      +  Detail in /home/foo/triangle/test/09_less/detail.log
      +  
      +  04_isosceles_c/
      +  有効な二等辺三角形で2つの等辺を含む3種類の組合せすべてをためすことができる3つのテストケース
      +  04_isosceles_c: Test Success 2011-01-10 12:14:24
      +  Detail in /home/foo/triangle/test/04_isosceles_c/detail.log
      +
      +

      テストをまとめて実行した場合も、個別のテストを実行した場合と同様に、テストディレクトリーにテストログが出力されます。特定のテスト結果を詳細に検討する場合は、そのテストのテストディレクトリーを開いてテストログファイルの確認をします。 + +

      バグを含む三角形判定プログラムの場合

      + +

      バグを含む三角形判定プログラムを準備してテストグループを実行した場合、TEST.logは次のように表示されます。 +

        01_scalene/
      +  有効な不等辺三角形をあらわすテスト・ケース
      +  01_scalene: Test Failure 2011-01-10 21:45:52
      +  Detail in /home/foo/triangle/test/01_scalene/detail.log
      +  
      +  12_notint/
      +  整数でない値をもつテスト・ケース
      +  12_notint: Test Success 2011-01-10 21:45:52
      +  Detail in /home/foo/triangle/test/12_notint/detail.log
      +  
      +  03_isosceles/
      +  有効な二等辺三角形をあらわすテスト・ケース
      +  03_isosceles: Test Success 2011-01-10 21:45:52
      +  Detail in /home/foo/triangle/test/03_isosceles/detail.log
      +  
      +  02_equilateral/
      +  有効な正三角形をあらわすテスト・ケース
      +  02_equilateral: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/02_equilateral/detail.log
      +  
      +  05_zero/
      +  1つの辺がゼロの値をもつテスト・ケース
      +  05_zero: Test Failure 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/05_zero/detail.log
      +  
      +  13_argcnt/
      +  数値の個数が間違っていることをためすテスト・ケース
      +  13_argcnt: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/13_argcnt/detail.log
      +  
      +  10_lesses/
      +  ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなることにおいて、3種類の順列すべてを考慮することのできるテストケース
      +  10_lesses: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/10_lesses/detail.log
      +  
      +  07_line/
      +  ゼロより大きい3つの整数をもち、そのうち2つの和がそれ以外の1つと等しいようなテスト・ケース
      +  07_line: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/07_line/detail.log
      +  
      +  06_minus/
      +  1つの辺が負の値をしめすテスト・ケース
      +  06_minus: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/06_minus/detail.log
      +  
      +  11_zeroall/
      +  すべての辺がゼロであるテスト・ケース
      +  11_zeroall: Test Failure 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/11_zeroall/detail.log
      +  
      +  08_lines/
      +  1辺の長さが他の2辺の長さの和に等しいことを3種類の順列のすべてに対してためすことのできるテスト・ケース
      +  08_lines: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/08_lines/detail.log
      +  
      +  09_less/
      +  ゼロより大きな3つの整数のうち、2つの数の和がそれ以外の1つの数より小さくなるテストケース
      +  09_less: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/09_less/detail.log
      +  
      +  04_isosceles_c/
      +  有効な二等辺三角形で2つの等辺を含む3種類の組合せすべてをためすことができる3つのテストケース
      +  04_isosceles_c: Test Success 2011-01-10 21:45:53
      +  Detail in /home/foo/triangle/test/04_isosceles_c/detail.log
      +  
      +
      +

      実際の開発では、こうした結果を元にプログラムの問題点を修正することになるでしょう。

      @@ -322,7 +810,7 @@ pre.example strong {

      4.1 テンプレートディレクトリー

      -

      テンプレートディレクトリーは、Autotest.mkをインストールするときに展開により作成されたtemplateディレクトリーです。このディレクトリーに移動すると次の操作ができます。 +

      テンプレートディレクトリーは、Autotest.mkをインストールするときに展開により作成されたtemplateディレクトリーです。このディレクトリーに移動すると次の操作ができます。

      @@ -410,6 +898,14 @@ pre.example strong {

      4.3.8 テストのファイル

      +
      +
      +

      脚注

      [1] 『ソフトウェア・テストの技法』では「カードから3つの整数を読む」となっているのを、「3つの引数をとる」に変更しています。

      + +

      [2] 『ソフトウェア・テストの技法』では下記の13個に加え、「それぞれのテスト・ケースについて、入力の値に対して予想される値をしめしたか」というテスト・ケースが記載されています。このテスト・ケースは、Autotest.mkを実行している場合は自動的に満たされると考えています。

      + +
      +