ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

単体テスト、結合テスト、総合テストの違い

2016-07-22 16:34:07 | Weblog
単体テスト、結合テスト、総合テストの違いと方法について、
みんな知ってると思っていたけど、明らかに知らない人がいたので
意識合わせのメモ




■単体テスト(ユニットテスト、モジュールテスト)
・最小限の単位である、関数ないしはメソッドレベルで行う
・詳細仕様の通りに作ってあるかを、確認する
・2通りあり、プロジェクトにより、どちらか一方を採用する

 1(現在はマイナー):
  プログラムの分岐点にいき、値を設定して、通過するかどうかチェック
  これを、IF分全部に対して行う。for,whileループも確認。
   →テスト項目は、分岐に対応して出てくる
  ・gdbを使って調査する(値のところでとめて、変数の値を設定出来る)
  ・網羅率で、C1,C2とかいうのは、この話
  ・ソースコードをみて、分岐点を判断する=ホワイトボックステスト

 2.(こちらが多い)
  JUnit等を使い、対象メソッドの入力に対して、出力が正しいか確認する
  すべて緑になればOK!
   →テスト項目は、入力に対する出力結果に対応して出てくる
  ・JUnitをはじめとするxUnit,などで調査する
  ・入力を適当に変えて網羅率を上げる(ブラックボックス)
   →っていうことを行うのは難しいので、実はツールを使う
    djunit等を使うと、網羅率が分かる

■結合テスト
・単体テストが終わると、次は結合テストを行う。
 レベル違いによって、IT1、IT2・・・がある※

・外部仕様どおりにつくっているか、確認する
 各画面、画面項目に対して、テスト観点の掛け合わせで
 テスト項目が出てくる(多すぎるときは直行表等で減らす)。
  →境界値、同値などは、観点の1つ

・selenium等を使う。

※システムを1個のものと考えれば、IT1(IT2)だけでよい。
 システムが、いくつかのコンポーネントに別れているとき、
 ・各コンポートのテストがIT1,
 ・全体を1つのものとみて、入出力を確認するのがIT2

■総合テスト
・要求通りに創っているか、確認する
 大きく2種類のテストがある。両方確認する必要がある

(1)機能要件に対するテスト
・正常系のシナリオ、異常系のシナリオを満たしているか、確認する

(2)非機能要件に対するテスト
・負荷テストなど。品質特性などに従ってやるとか・・・

ツールとしてはJMeter等がある




とりあえず、こんなかんじかな
また、後で、加筆するかも

P.S 具体的なテスト項目の挙げ方の違いについては、以下参照

単体テストと結合テストのテスト項目の違い
https://blog.goo.ne.jp/xmldtp/e/890d3a845901b980b5704bc75f5ac694

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« AIは、デバッグも要件定義も... | トップ | ブロックチェーンのHyperledg... »
最新の画像もっと見る

Weblog」カテゴリの最新記事