カテゴリ: COBOL 更新日: 2025/12/27

COBOLのテストデータとテストケースの作り方を基礎から解説!初心者でも安心の入門講座

テストデータの作り方とテストケースの考え方
テストデータの作り方とテストケースの考え方

先生と生徒の会話形式で理解しよう

生徒

「COBOLでプログラムを書いたあと、どうやって動作確認すればいいんですか?」

先生

「それにはテストデータとテストケースを使って、プログラムが正しく動くかをチェックします。」

生徒

「テストデータって、どうやって作ればいいんですか?考え方もわかりません……」

先生

「大丈夫です。テストデータの作り方と、テストケースの考え方をやさしく丁寧に説明しますね。」

1. テストデータとは?

1. テストデータとは?
1. テストデータとは?

テストデータとは、COBOLのプログラムに入力するための「確認用のデータ(数字や文字など)」のことです。

たとえば、「年齢を入力して、20歳以上なら『成人です』と表示する」プログラムなら、入力する年齢(10、20、25など)がテストデータになります。

このテストデータを使って、プログラムが正しく反応するかを確認します。

2. テストケースとは?

2. テストケースとは?
2. テストケースとは?

テストケースとは、テストデータを使って「どのような条件で、何を確認するのか」を整理した表やリストのことです。

例えば、年齢が19のときに「成人ではありません」と表示されるか、20のときに「成人です」と表示されるかをチェックするのがテストケースです。

「こういう入力をしたら、こうなるはず」と想定し、その通りになるかを見るのがテストです。

3. テストデータの作り方の基本

3. テストデータの作り方の基本
3. テストデータの作り方の基本

テストデータを作るときは、次のような種類を考えて準備するとよいです。

  • 普通のデータ:もっともよく使う、一般的な入力。
  • 境界(きょうかい)のデータ:条件ギリギリの値(たとえば19歳や20歳など)。
  • おかしなデータ:数字ではない文字、マイナスの数、大きすぎる数など。
  • 空のデータ:何も入力していない状態。

これらを考えておくことで、いろいろな状況でもプログラムが正しく動くかを調べられます。

4. テストケースの考え方

4. テストケースの考え方
4. テストケースの考え方

テストケースを作るときは、「入力(インプット)」と「結果(アウトプット)」をセットで考えます。

たとえば、次のように表にしてみると、わかりやすいです。

テスト番号 入力する年齢 期待される結果 説明
1 25 成人です 一般的なケース
2 20 成人です 条件ぎりぎり
3 19 成人ではありません 条件未満
4 空欄 エラーになる、または再入力 何も入力しなかった場合
5 abc エラーになる 文字を入力した場合

5. COBOLのサンプルコードでテストしてみよう

5. COBOLのサンプルコードでテストしてみよう
5. COBOLのサンプルコードでテストしてみよう

ここでは、年齢によって「成人かどうか」を表示するプログラムを使って、テストデータを当てはめて確認してみます。


       IDENTIFICATION DIVISION.
       PROGRAM-ID. CHECK-AGE.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 AGE         PIC 99 VALUE ZEROS.
       01 USER-INPUT  PIC X(3).
       PROCEDURE DIVISION.
           DISPLAY "年齢を入力してください(例:20): "
           ACCEPT USER-INPUT
           MOVE FUNCTION NUMVAL(USER-INPUT) TO AGE

           IF AGE >= 20 THEN
               DISPLAY "あなたは成人です。"
           ELSE
               DISPLAY "あなたは成人ではありません。"
           END-IF

           STOP RUN.

このプログラムでは、ACCEPTを使って年齢をキーボードから入力し、それをIF文で判定しています。

例えば、「25」と入力すると、次のように表示されます。


あなたは成人です。

6. 入力ミスや例外もチェックしよう

6. 入力ミスや例外もチェックしよう
6. 入力ミスや例外もチェックしよう

テストでは、想定外の入力(例外)にも対応できるようにすることが大切です。

たとえば、「abc」や空欄、「999」などの極端な値が入力されたときに、どう反応するかを見ておきましょう。

実際の業務では、こうしたテストをしておかないと、使う人がミスをしたときにシステムが止まってしまうこともあります。

7. テスト項目のチェックリストを作ろう

7. テスト項目のチェックリストを作ろう
7. テスト項目のチェックリストを作ろう

テストの見落としを防ぐためには、チェックリストを作るのがオススメです。

チェックリストには、次のような項目を入れておくと安心です。

  • 正しい数値を入れたとき、期待どおりの表示になるか
  • 境界の値(19、20など)で正しい判断がされるか
  • 空欄・文字などの不正入力でもエラーにならないか
  • 大きすぎる数でも安全に処理されるか
  • すべてのパターンでIF文が正しく動くか

こうした確認をすると、見逃しが少なくなり、安心してプログラムを動かせます。

8. 手作業と自動化のちがい

8. 手作業と自動化のちがい
8. 手作業と自動化のちがい

初心者のうちは、1つずつ入力してテストする「手作業のテスト」でOKです。

ただし、後になってテストする回数が増えたら、自動でテストする「自動化テスト」も覚えると便利になります。

まずは手作業でテストデータを自分で入力し、表示される内容が合っているかを見ていく練習をしましょう。

まとめ

まとめ
まとめ

COBOLのテストデータとテストケースの作り方を学んできた内容を振り返ると、システム開発において「事前にどれだけ想定して準備できるか」が非常に重要であることがよく分かります。とくにCOBOLのように業務処理を正確に実行することが求められる言語では、テストデータの種類やテストケースの網羅性が、プログラムの品質を大きく左右します。日常的な入力例だけではなく、境界値や異常値、空欄や文字列など、実際の現場で起こりうるさまざまな状況を想定してテストデータを準備することで、プログラムの信頼性と安全性を高めることができます。 また、テストケースを一覧表として整理することは、初心者だけでなく経験者にとっても有効な手法です。テスト番号ごとに入力と期待される結果を明確にしておくことで、どのケースを確認済みかが一目で分かり、作業の抜け漏れを防ぐことができます。業務システムでは人の入力ミスが起きやすいため、「正常」「境界」「異常」「空欄」の四つの視点でデータを準備することが基本となります。 さらに、実際のCOBOLコードとテストデータを照らし合わせながら確認することで、IF文の動きやNUMVAL関数の役割など、プログラムの仕組みも自然と理解が深まります。次のサンプルは、入力された年齢が成人かどうかを判定するテスト向けプログラムで、テストケースとともに実際の動きを確認する際に役立ちます。

テスト確認用サンプルプログラム


IDENTIFICATION DIVISION.
PROGRAM-ID. AGE-TEST-SAMPLE.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-AGE     PIC 99 VALUE ZERO.
01 INPUT-VALUE  PIC X(3).

PROCEDURE DIVISION.
    DISPLAY "年齢を入力してください(例:19、20、abc、空欄): "
    ACCEPT INPUT-VALUE

    IF INPUT-VALUE = SPACE OR INPUT-VALUE = "" THEN
        DISPLAY "入力が空欄です。正しい数値を入れてください。"
    ELSE
        MOVE FUNCTION NUMVAL(INPUT-VALUE) TO USER-AGE

        IF USER-AGE >= 20 THEN
            DISPLAY "成人です。"
        ELSE
            DISPLAY "成人ではありません。"
        END-IF
    END-IF

    STOP RUN.

このプログラムは、正しい数値だけでなく「空欄」「文字列」「境界値」などのテストデータを入力して動きを確認するのに適しています。テストケースの設計によっては、例えば「99」や「00」などの特殊な値を入れて、IF文が意図通りに動作しているか確認することも大切です。 また、テストはただ動かすだけではなく、「期待される結果と一致しているか」「例外が正しく処理されているか」「変数の型や桁数に問題がないか」など多角的なチェックが必要です。こうした積み重ねが、誤りの少ない堅牢なCOBOLプログラムにつながります。 初心者のうちは手作業で確認するだけでも十分ですが、テスト件数が増えてくると自動化したい場面も出てきます。まずは正しいテストデータを作成し、それに沿って確認する習慣を身につけることが上達への第一歩です。業務システムではテストが品質を左右するため、テストデータやテストケースを丁寧に作成する姿勢が非常に重要になります。

先生と生徒の振り返り会話

生徒

「テストデータって、ただ何となく作ればいいものじゃなくて、いろいろな種類が必要なんですね!」

先生

「その通りです。普通の入力だけでなく、境界値や例外も含めて準備することで、プログラムの弱い部分を見つけることができます。」

生徒

「テストケースを表にする方法がすごく分かりやすかったです。なにを確認するのかが一目で分かりますね!」

先生

「そうですね。テストの可視化はとても大切です。ひとつひとつの入力に対して、どういう結果が出るべきか整理することで、ミスを減らすことができます。」

生徒

「これからは境界値や異常値も意識してテストデータを作ってみます!」

先生

「良い心がけです。テストはプログラムの品質を守る重要な工程ですから、丁寧に作成していきましょう。」

カテゴリの一覧へ
新着記事
New1
C#
C#のLINQでAny・Allなど条件確認メソッドの使い方を完全ガイド!初心者でもわかるデータ検証
New2
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New3
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New4
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!