📒 ミライのITパス日誌

第9話「いきなり書くな!」

マネジメント系 / 開発技術 ── テーマ:開発の流れ・テストの種類・V字モデル

▶ マンガで読む(無料・登録なし)

この話で覚える用語(7語)

要件定義ようけんていぎ
システム開発の最初の工程。利用者が何をしたいか、システムに何が必要か(機能・性能など)を明らかにしてまとめる。
V字モデルぶいじもでる
開発の工程とテストの対応をV字で表したもの。要件定義は運用テスト、外部設計はシステムテスト、内部設計は結合テストで確かめる、のように対応させる。
結合テストけつごうてすと
単体テストを終えた部品(モジュール)を組み合わせ、部品どうしのデータの受け渡しやつなぎ目が正しく動くかを確かめるテスト。
システムテストしすてむてすと
システム全体が要件どおりに動くかを、開発側が確かめるテスト。機能のほか、性能(速さ)や大量のデータへの耐性なども確かめる。総合テストともいう。
ブラックボックステストぶらっくぼっくすてすと
プログラムの中身(内部構造)は見ずに、入力に対して仕様どおりの出力が出るかだけを確かめるテスト。
ホワイトボックステストほわいとぼっくすてすと
プログラムの中身(内部構造)に注目し、命令や分かれ道(条件分岐)が正しく通るかを確かめるテスト。主に単体テストで使う。
回帰テストかいきてすと
プログラムを修正・変更したあと、変更していない部分に悪い影響(新しい不具合)が出ていないかを確かめるテスト。リグレッションテストともいう。

試験に出るポイント

覚え方:料理でたとえる
ここ試験に出る!

確認クイズ(ITパスポート試験の形式)

問1 システム開発のテストのうち、単体テストを終えたモジュールを組み合わせ、モジュール間のデータの受け渡しが正しく行われるかを確認するものはどれか。
  1. 単体テスト
  2. 結合テスト
  3. システムテスト
  4. 運用テスト
答えと解説を見る

正解:イ 結合テスト
つなぎ目を確かめるのが結合テスト。システム全体が要件どおりかを見るのはシステムテスト、利用者が業務で使えるか確かめるのは運用テストです。

問2 プログラムの内部構造には着目せず、入力データに対して仕様どおりの結果が出力されるかを確認するテスト手法はどれか。
  1. ホワイトボックステスト
  2. ブラックボックステスト
  3. 回帰テスト
  4. レビュー
答えと解説を見る

正解:イ ブラックボックステスト
中を見ないのがブラックボックステスト。内部構造(命令や分岐)を確かめるのはホワイトボックステストです。

問3 プログラムの不具合を修正した後に、修正していない部分に新たな不具合が生じていないかを確認するテストはどれか。
  1. 運用テスト
  2. 単体テスト
  3. 回帰テスト
  4. ホワイトボックステスト
答えと解説を見る

正解:ウ 回帰テスト
修正の影響が他に出ていないかを確かめるのが回帰(リグレッション)テストです。運用テストは利用者が業務で使えるかを確かめます。

▶ アプリでクイズに挑戦(間違えた問題は復習に残ります)

マンガのセリフ(文字版)

部長「家計簿アプリに「レシート読み取り」機能を追加だ!」

ミライ「はい!さっそくプログラムを書き始めます!」

ツカサ先輩「待て!何を作るか決まってないのに書くな!」

ツカサ先輩「家を建てるとき、いきなり柱は立てないだろ?まず希望を聞いて、設計図を描く」

ミライ「たしかに…いきなり柱は怖い…」

ツカサ先輩「開発も同じ。最初は要件定義。利用者が何をしたいかをまとめるんだ」

1要件定義何が必要かを決める(家なら希望を聞く)2外部設計利用者から見える部分(画面・操作)3内部設計中のしくみ(データの持ち方など)4プログラミング設計どおりにプログラムを書く5テスト小さい単位から順に確かめる6導入・運用・保守本番で使い始め、直しながら使い続ける
システム開発の流れ 上から順に進む。テストのあとに本番で使い始める

ミライ「外部設計と内部設計って、何が違うんですか?」

ツカサ先輩「外部は利用者から見える所。家なら間取りや外観だ」

ツカサ先輩「内部は中のしくみ。家なら壁の中の配線や配管だな」

ツカサ先輩「テストは小さい順。単体→結合→システム→運用だ」

ツカサ先輩「作る工程とテストの対応を表したのがV字モデルだ」

要件定義何がほしい?運用テスト(受入れテスト)外部設計画面・操作システムテスト全体が要件どおり内部設計中のしくみ結合テスト部品のつなぎ目プログラム設計部品の中身単体テスト部品1つずつ確かめるプログラミング左:作る順(上→下) 右:テストの順(下→上)点線=同じ高さどうしで確かめる
V字モデル 設計で決めたことを、対応するテストで確かめる
テスト確かめること主にだれが単体テスト部品(モジュール)1つずつ正しく動くか開発者結合テスト部品をつないだときのデータの受け渡し開発者システムテスト全体が要件どおりか(性能なども)開発側運用テスト(受入れ)実際の業務で使えるか利用者(発注側)
テストの順番と中身 運用テストだけは「使う側」が主役

ミライ「結合テストとシステムテスト、ごっちゃになりそう…」

ツカサ先輩「結合テストは部品のつなぎ目を見る」

ツカサ先輩「システムテストは全体が要件どおりかを見る」

📝 メモ:覚え方:料理でたとえる
  • 単体=「たんたん」と材料を1つずつ味見
  • 結合=「結び目」チェック。合わせた鍋の味を見る
  • システム=コース全体を、店の人が「しっかり」通しで確認
  • 運用(受入れ)=お客さんが食べて「受け入れます!」
  • 語呂:タン→ケツ→シス→ウン。小さい順に「たんけつ、しっかり運ぶ」

ツカサ先輩「確かめ方は2つ。中を見ずに入力と出力だけ見るブラックボックステスト」

ツカサ先輩「中の道すじを1本ずつ通すホワイトボックステストだ」

ミライ「ブラックボックス…黒い箱に入れて、ガシャガシャ振るテスト!?」

ツカサ先輩「振るな!中を見ないという意味だ!」

⬛ブラックボックステスト中身は見ない。入力→出力が仕様どおりかだけ確かめる例:自動販売機にお金を入れてジュースが出るか⬜ホワイトボックステスト中身(内部構造)を見る。命令や条件分岐を正しく通るか例:自動販売機を開けて部品の動きを1つずつ確かめる
ブラックボックスとホワイトボックス 「中を見るか、見ないか」で区別する

リリース前日――

部長「不具合を直したら、前は動いてた画面が壊れたぞ!」

ツカサ先輩「修正のあとは回帰テスト。直してない所も確かめ直します」

ツカサ先輩「設計書もレビューで人の目で点検しておくべきでした」

ミライ「決めて、設計して、作って、小さい順にテスト。家づくりと同じ!」

ツカサ先輩「そうだ。ここはテストの区別がよく問われるぞ」

📌 ここ試験に出る!:ここ試験に出る!
  • 部品(モジュール)どうしのデータの受け渡しを確かめる → 結合テスト
  • 全体が要件どおりか開発側が確かめる → システムテスト
  • 利用者が実際の業務で使えるか確かめる → 運用テスト(受入れテスト)
  • 中を見ず入力と出力 → ブラックボックス/内部構造 → ホワイトボックス
  • 修正後、ほかの部分に影響がないか → 回帰(リグレッション)テスト
  • 設計書などを人が読んで誤りを見つける → レビュー

翌日――

部長「単体テストはわしがやった!全部つないで一発で動かしたぞ!」

ミライ「部長、それ単体じゃなくて、いきなり全体です!」

← 第8話 鍵はどっちの?第10話 その名簿、渡して大丈夫? →