現在のソフトウェア開発に欠かせない「テスト自動化」について、およそ5分でざっくり解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
近年、「テスト自動化」というキーワードを目にする機会が増えてきています。本稿では、テスト自動化の基本的な考え方と注意点について、5分で理解できるよう、ざっくりと解説していきます。
そもそも、テスト自動化とは何をすることなのでしょうか。ソフトウェアテストは下図のプロセスから成り立ちます。
各項目を簡単に解説します。
テスト自動化は、このテストプロセスのうち、「テスト実行」の一部を自動化することを指します。他のプロセスについても将来的には自動化が可能になるかもしれませんが、現状では「テスト自動化」という表現を用いる場合は「テスト実行の自動化」という意味であることが一般的です。
テスト自動化には、その目的や適用箇所によって幾つかの種類があります。また、使用するツールもさまざまな種類があります。代表的なものを紹介します。
テスト対象のソースコードに対してテストコードを作成し、それを実行することで自動的にテストを実施します。テスト対象のプログラムを直接実行できるため、特にホワイトボックステストの実行に向いています。使用するツールとしては、テスト用のフレームワークがプログラム言語ごとに提供されていることが一般的です。
アプリケーションやモジュール間のインタフェースをテストします。主に結合テストの実行に使用します。具体的なツールとしてはWebアプリケーションのAPIに使用されるRESTやSOAPなどのプロトコルに従ってデータやパラメーターのやりとりを行うものなどがあります。
ユーザーが実際に操作するように、画面の要素を操作するテストです。テキストボックスへの入力や、ボタン押下などの操作をシミュレートします。その名の通り、ユーザーインタフェース(UI)の確認の他、エンドツーテスト(E2Eテスト)と呼ばれる、システム全体をユーザーサイドから一通り操作するテストを行う際に必要となります。
他にも、ソースコードの静的解析ツールや、性能テスト用の実行ツールなどをテスト自動化ツールに含む場合もあります。
テスト自動化を行うことのメリットは、以下のようなものがあります。
Copyright © ITmedia, Inc. All Rights Reserved.