• 検索結果がありません。

ソフトウェアの流用開発における自動テストのための試験データの自動生成

N/A
N/A
Protected

Academic year: 2021

シェア "ソフトウェアの流用開発における自動テストのための試験データの自動生成"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第68回全国大会. 7A-6. ソフトウェアテストのための テストデータの自動生成 氏 所. 名 属. 戸堀. 賢治†. 古澤. †三菱電機株式会社. 康一†. 大橋. 一史†. 先端技術総合研究所. 近年、ソフトウェア(以下 S/W とする)の開発は、目まぐるしく変わるユーザのニーズに対応するた め、開発速度の向上が求められている。S/W 開発におけるテスト作業は、設計やプログラミングと同 程度か、それ以上にコストが掛かる工程であり、テスト作業の効率化によって開発期間を短縮できる。 テストに必要なテストドライバ、スタブ等のモジュールの生成作業、評価作業等については、様々な 自動化が検討されてきた。しかし、ブラックボックステストに使用するテストデータは、それぞれの 開発対象 S/W の仕様によって異なるため、自動的に生成することは困難である。本稿では、S/W のバ ージョンアップ開発におけるテストデータの自動生成方法について述べる。 1.はじめに S/W 開発において、テスト作業は、設計やプ ログラミング以上にコストが掛かる工程であり、 テスト作業の効率化によって開発期間を短縮で きる。そのため、テストの自動化、バグ発生時 の再現の効率化等を考慮した S/W テスト環境を 整備することは、非常に有効である[1]。 S/W の開発では様々なテストを実施するが、 プログラムの動作の確認には、ブラックボック ステストが通常用いられている[2]。現在開発中 の S/W テスト環境では、このブラックボックス テストを対象としており、テストの前準備、テ ストおよび評価の作業の自動・半自動化を行っ ている。本稿では、テスト対象とするアプリケ ーション内のモジュールをバージョンアップし た場合のテストに必要なテストデータの自動生 成方法について述べる。 2.. S/W テスト環境 現在、テストに必要なテストドライバ・スタ ブの生成、テストの実行、評価作業、テストに 必要なデータの生成を自動化する S/W テスト環 境を開発している。本 S/W テスト環境では、一 部のモジュールがリファクタリングやアルゴリ ズム変更等で新しいバージョンとなったアプリ ケーション(以下、新バージョンとし、バージョ ンアップ前のアプリケーションを旧バージョン と呼ぶ)内のバージョンアップしたモジュールの ブラックボックステストを想定している(図 1)。 今回、GUI モジュールはテスト対象に含まない ものとする。. 新バージョン 旧バージョン. GUI. モジュールの バージョンアップ. GUI. 他のモジュール 変更された対象モジュール (テスト対象). 対象モジュール 他のモジュール. 他のモジュール. 図 1.テスト対象となる事例 テスト対象となるモジュールのソースコード やリンクエラー出力からテストドライバやスタ ブを自動生成する。テスト対象の関数およびそ の引数値、実行する関数の順序等のテスト仕様 を定義したデータ(以下、テスト入力データとす る)を用いてテストを行う。そのテスト結果の評 価は、テスト対象の関数処理後の引数値や戻り 値等の関数処理結果(以下、ログデータとする)と、 ログデータの期待値(以下、比較参照データとす る)の比較により行う(図 2)。 S/W テスト環境で必要となるテストデータは、 テスト入力データおよび比較参照データである。 これらのテストデータは、テスト対象のモジュ ールにより異なるため、基本的にはユーザの手 作業により作成される。しかし、テストの規模 が大きくなるにつれ、テストデータの作成量も 大きくなり、ユーザの負担および人為的ミスが 増加する。 テスト入力 データ. 入力 テスト対象モジュール 出力 ログ データ. 比較参照 データ. 入力. 入力. 比較による評価. Automatic Generation of Test Data for Software Testing † Kenji Tobori, †Koichi Furusawa, †Kazushi Ohashi Advanced Technology R&D Center, Mitsubishi Electric Corporation (†). 1-173. 出力 評価結果. 図 2.本 S/W テスト環境によるテスト概要.

(2) 情報処理学会第68回全国大会. 3.. に、データを変換する必要がある。その場合、 旧バージョンから新バージョンへの関数名、引 数の並び、引数の削除、引数の追加等の関数情 報の変更方法を定義したマッピングデータを用 いてログ出力機能が出力する関数情報を変換す る。これにより、テスト入力データおよび比較 参照データを自動生成することができる(図 3)。 このデータ自動生成方法を使用すれば、テス トデータを作成するために、テスト環境や対象 モジュールの独自の仕様や操作方法を習得する 3.1 テストデータの生成方法 必要が少なく、ログデータを出力する関数を指 テストデータを生成するための手順は、以下 定しさえすれば、旧バージョンのユーザ・イン のとおりである。 タフェースへの入力操作(例えば、GUI 操作)に 関数呼び出しの際に、ログ出力機能は、スタ より、テストデータを生成できる。新バージョ ック上に格納された情報を解析することにより、 ンのテストでは、それらのデータをそのまま使 呼び出し元の関数情報を取得する。 用することが可能である。 その取得した関数情報を出力することにより、 テストデータを生成する。 入力データ このようなログ出力機能によるテストデータ の生成には、出力対象となる関数からログ出力 入力 呼出 機能を呼び出す必要がある。ログ出力機能の呼 マッピング 旧バージョン ログ出力機能 び出しの実装は、自動的に、かつ、ソースコー データ ドの改修なしで、実現できるプロファイル機能 メモリの解析 関数情報の入力 入力 を利用する。プロファイル機能とは、コンパイ ラが提供している機能であり、コンパイル時に データ変換機能 対象となるモジュールの全関数の関数処理の先 出力 出力 頭と末尾に特定の関数(以下、プロファイル関数 とする)を挿入する機能である。このプロファイ 新バージョンの 新バージョンの ル関数内にログ出力機能の呼び出しを実装する テスト入力データ 比較参照データ ことで、旧バージョンからログ出力機能を呼び 出すことが可能である。このような機能を用い 図 3.テストデータ自動生成システムの概要 て、本 S/W テスト環境では、テストデータを自 4. おわりに 動生成する。 本稿では、テスト作業において、ブラックボ 3.2 関数仕様変更への対応 ックステストのテストデータを自動生成する方 ログ出力機能内で取得した関数情報は、バー 法について述べた。 ジョンアップの際に、関数仕様が変わらず、内 本稿の自動生成では、変更前の S/W を改修す 部仕様のみが変わった関数については、旧バー ることなく、比較的容易な操作でテストデータ ジョンと新バージョンの動作結果は全く等しく を作成できるという特徴を持っており、テスト なるので、旧バージョンの関数処理前の関数情 の効率化、テスト品質の向上だけでなく、導入 報を新バージョンのテスト入力データとして、 期間の短縮といった効果も期待できる。 旧バージョンの関数処理後の関数情報を新バー ジョンの比較参照データとして、そのまま使用 参考文献 することができる。 [1] 辻宏郷, 佐藤, 勝山, 水野, 曽我, “形式手法によ しかし、実際には、バージョンアップの際に る通信ソフトウェア試験データの生成とその 関数仕様が変更されている場合も少なくない。 試験方法,” 情報処理学会論文誌, Vol.34, No.6, このような場合、旧バージョンの関数処理の前 pp.1347-1361, 1993. 後で取得した関数情報をそのまま新バージョン [2] Myers, G.J., “The Art of Software Testing,” のテストデータとして使用することは不可能で John Wiley & Sons, 1979. ある。そのため、新バージョンのテストのため テストデータの自動生成 ここでは、テスト入力データおよび比較参照 データの自動生成方法について述べる。テスト 入力データおよび比較参照データの生成には、 旧バージョンの関数名、戻り値の型、戻り値、 引数の型および引数値(以下、関数情報とする)が 必要である。そのため、呼び出し元の関数の処 理の先頭と末尾で関数情報を取得する機能(以下、 ログ出力機能とする)を用いて実現する。. 1-174.

(3)

参照

関連したドキュメント

12月 米SolarWinds社のIT管理ソフトウェア(orion platform)の

奥付の記載が西暦の場合にも、一貫性を考えて、 []付きで元号を付した。また、奥付等の数

奥付の記載が西暦の場合にも、一貫性を考えて、 []付きで元号を付した。また、奥付等の数

交通事故死者数の推移

貸借若しくは贈与に関する取引(第四項に規定するものを除く。)(以下「役務取引等」という。)が何らの

入学願書✔票に記載のある金融機関の本・支店から振り込む場合は手数料は不要です。その他の金融機

断するだけではなく︑遺言者の真意を探求すべきものであ

6 他者の自動車を利用する場合における自動車環境負荷を低減するための取組に関する報告事項 報  告  事  項 内