ログインしていません 現在ログインされていないため、一部のサービスしかご利用いただけません
会員登録/ログインすると…  ・全ての会員限定サービスがご利用いただけます
・解説記事の全文をご覧いただけます    会員登録/ログインする

IT製品 TOP > 開発 > テスト・デバッグツール >

不具合からの脱却!テスト自動化ツール研究

この記事をtweetする Yahoo!ブックマークに登録 このエントリーをはてなブックマークに追加

製品の基礎をきちんと理解! IT製品解体新書

不具合からの脱却!テスト自動化ツール研究

2008/07/14


 Webシステムの品質に対する意識は高まってきているが、十分なテストの実施はそう容易なことではない。また、ソフトウェアは社会生活の中に奥深く入り込むようになったことから、その不具合がもたらす社会的・経済的損失は深刻さを増すばかりだ。こうした背景のもと、最近の開発プロジェクトではテスト工程を分業することが重要視されるようになり、ソフトウェアテストの自動化ツール効果的な利用に注目が集まるようになってきた。そこで今回はソフトウェアテストの自動化ツールにスポットを当てその基本から最新動向までをわかりやすく解説する。また、「IT製品選び方ガイド」ではテスト自動化ツール選びの視点を解説しているので是非ご参照いただきたい。

テスト自動化ツール

※「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」の記事を一部ご紹介します。会員登録を行い、 ログインすると、「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」の記事全文がお読みいただけます。

会員登録はこちら(無料)

テスト自動化ツールの選び方ガイドへ


1

テスト自動化ツールを解体しよう!

1-1

まず「ソフトウェアテスト」の世界を理解しよう!

 ソフトウェア開発の世界では、プログラムの誤りを取り除くためにテストとデバッグが実施されているが、まず両者の違いから確認しよう。まず、テストとは、プログラムの誤り(バグ)を発見するための作業のことで、プログラマだけでなくテストエンジニアやそのプログラムの利用者などにより、ソフトウェア開発プロセス全体を通して実施される(図1)。言い換えると、ソフトウェアテストとはそのシステムの品質保証を支援する作業全体を指す。
 一方、デバッグはテストで発見されたバグを取り除く作業のことで、開発者がコーディングを変更して指摘された問題を解決することを指す。従って、テストでバグを発見した場合、プログラマがそのバグを再現させながらどこに問題があるかを迅速に解決できるように、できるだけわかりやすくテスト結果を報告する必要がある。

図1 ソフトウェア開発プロセス全体の中でのテストの位置づけ
図1 ソフトウェア開発プロセス全体の中でのテストの位置づけ
一般的に開発フェーズとテストフェーズの関係はV字モデルで表現される。
資料提供:NTTデータ
■テスト工程におけるテスト分類

 図1では単体テストや結合テストといった用語が登場しているが、ソフトウェアテストではいろいろなテスト名が登場してくるので、テストを経験したことのない人にとってはその位置関係が分かりにくい。そこで、最初に図1と図2の内容をしっかり把握すると良いだろう。

図2 テスト工程の定義
図2 テスト工程の定義
単体テストからシステムテストまで、それぞれ機能テストが実施される。
資料提供:NTTデータ

コーディング
 コーディング段階では、プログラムコードが論理的に正しいかどうかを調べる静的解析が実施される。この静的解析によって複雑度や使用されているアルゴリズム、データフローなどを分析できる。人による静的解析とツールによる静的解析がある。

単体テスト
 単体テストとは、モジュールなど個々のプログラム(ユニット)が決められた仕様を満たしているかどうかを確認するテストだ。参考までに単体テストのプロセスの一例を図3に紹介する。ここで紹介している「JUnit」とはJava用のオープンソースの単体テストツールで、オープンソースで提供されているIDE(統合開発環境)「Eclipse」にも含まれている。テストケースの抽出については、プログラムの内部構造やロジックの流れを理解しながらテストする「ホワイトボックステスト」とプログラムの中身は考慮せずに入力に対して正しい出力が得られるかどうかをテストする「ブラックボックステスト」を組み合わせることで抜けや漏れを極力減らすことが可能だ。

結合テスト・システムテスト
 単体テストが完了すると、次は結合テストが行われる。ここでは2つ以上のモジュールを組み合わせた場合、モジュール間でデータのやり取りが仕様通りになっているかなどがチェックされる。
 最後に、システムテストを行い、システム全体として機能要件を満足しているかどうかを検証する。ここでは、ほかのアプリケーションやハードウェアとの連携なども総合的に評価される。システムテストではすべてのプログラムがテストされる。

…この記事の続きは、会員限定です。  会員登録はこちら(無料)



会員限定で「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」の続きが読めます

会員限定の「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」(全文)では、「テスト自動化ツール」の概要や基本的な仕組みを解説しています。会員登録を行い、ログインすると記事の続き(以下の内容)がご覧いただけます。

INDEX

【1】テスト自動化ツールを解体しよう!

 1-1 まず「ソフトウェアテスト」の世界を理解しよう!

 1-2 テスト自動化ツールとは

 1-3 テスト自動化ツールの導入効果

【2】テスト自動化ツール 最前線!

 2-1 注目の最新機能

続きを読むには・・・

会員になると「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」など主要製品が基礎からわかるIT製品解体新書(全文)をご覧いただけます。

会員登録(無料)・ログイン


このページの先頭へ

「開発」関連 製品レポート一覧

このページの先頭へ

テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」の記事を一部ご紹介しました。
会員登録を行い、ログインすると、「テスト自動化ツール/不具合からの脱却!テスト自動化ツール研究」の記事の続きがお読みいただけます。


Myリストへ 印刷用ページへ

この記事をtweetする Yahoo!ブックマークに登録 このエントリーをはてなブックマークに追加


この記事に掲載している情報は、掲載日時点のものです。変更となる場合がございますのでご了承下さい。


ページ: 1 | 2


30002651


IT製品 TOP > 開発 > テスト・デバッグツール > 不具合からの脱却!テスト自動化ツール研究

このページの先頭へ