第142回 MSTestによるユニットテスト(単体テスト)について

公開日:2018-05-12 更新日:2019-05-11

1. 概要

ユニットテスト(単体テスト)の概要とMSTestを使ってテストコードを書く方法について説明しています。

2. 動画



3. 内容

1. ユニットテスト(単体テスト)とは

各部品が正常に動作することを確認するためのテストです。
各部品を1つずつテストをしてバグを取り除き、その積み重ねによりソフトウェア全体の品質を向上させます。

2. テスト方法

  1. 手動
    使い捨ての簡易プログラムや、イミディエイトウィンドウなどで動作を確認する。

  2. 自動
    テスト用簡易プログラムや、テストフレームワークを利用したテストプログラムを実装して、テストをいつでも簡単に行えるようにする。

3. テストプログラムによる自動化のメリット

  1. テスト工数の削減

  2. プログラムを修正後、毎回テストを実行することにより、簡単に動作を保証できる。

  3. 実際にプログラムを使用することにより、新しいI/Fや仕様のアイディアが生まれる場合がある。
    また、実際に入ってくる引数のパターンが明確になる。

  4. テストプログラムがプログラムの使用方法のサンプルになる。


4. テストプログラムによる自動化のデメリット

  1. テストプログラムの実装が大変。ソフト完成までに時間がかかる。

  2. 仕様変更があった場合に、テストプログラムを作り直す必要がある。

  3. 作ったプログラムが不要になった場合、
    テストプログラムの実装が無駄になる。


5. テストプログラムを実装するタイミング

  1. 最初 テスト駆動開発(DTT)?

  2. 同時

  3. 最後

個人的には、テスト対象となるプログラム(メソッド)をほぼ作り終えてから、単純に動作を保証するものとしてテストプログラムを作っています。