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

プレース/トランジションネットに基づくソフトウェアネガティブテストのフレームワークの提案

N/A
N/A
Protected

Academic year: 2021

シェア "プレース/トランジションネットに基づくソフトウェアネガティブテストのフレームワークの提案"

Copied!
2
0
0

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

全文

(1)情報処理学会第 77 回全国大会. 5A-01. プレース/トランジションネットに基づく ソフトウェアネガティブテストのフレームワークの提案 高木 智彦 香川大学工学部. 1. はじめに ネガティブテストは,テスト対象ソフトウェ アの想定される特定の故障を発見するための手 法である[1].特に広大な状態空間をもつ並行ソ フトウェア(複数の構成要素が互いに協調しな がら並行動作するソフトウェア)では全体を網 羅的にテストすることが困難であるため,リス クのある故障に着目したネガティブテストを行 うことは有効なテスト戦術のひとつと考えられ る.従来手法では,テスト対象ソフトウェアの 期待される振舞いをステートマシンとして定義 し,これを変異させたモデルであるミュータン トに基づいてネガティブテストケースを生成す ることが多い.本稿では,ステートマシンでは なく,並行ソフトウェアの期待される振舞いの 形式的表現に適したプレース/トランジション ネット(PN:Place/transition Net)に基づいた, 新たなネガティブテスト法のフレームワークに ついて考察する.本フレームワークは,ミュー タント生成器とネガティブテストケース生成器 を中心に構成されるもので,テスト技術者が作 成した PN と,想定される故障に関する定義であ る故障パターンを入力として与えると,その想 定される故障に特化したネガティブテストケー スを生成する. 本稿では,2 節で一般的なネガティブテストの 概要を示す.そして 3 節で本研究が提案するネガ ティブテスト法を実現するためのフレームワー クについて考察する.. 2. ネガティブテストの概要 本研究でいうネガティブテストは,テスト対 象ソフトウェアの期待される振舞いを表す形式 的モデルに基づいてテストを実施する手法であ る MBT(Model-Based Testing)と,故意に挿入 した欠陥の検出を試みることによってテストケ ースの質を改善する手法として知られるミュー テーションテスト法を組み合わせたものである. The Framework of Software Negative Testing based on a Place/transition Net Tomohiko Takagi Faculty of Engineering, Kagawa University, Takamatsu, Kagawa 761-0396, Japan. その手順は以下の通りである. [ステップ 1] オリジナルモデルの作成 仕様書などに基づいて,テスト対象ソフトウ ェアの期待される振舞いを表す形式的モデル (オリジナルモデル)をテスト技術者が作成 する.モデル化の範囲や粒度は,テストの目 的やテスト対象ソフトウェアの性質などに基 づいて決定される. [ステップ 2] ミュータントの生成 オリジナルモデルに対して,想定される欠陥 を意図的に挿入することによってミュータン トを生成する.ここで使用される欠陥挿入方 法はミューテーション・オペレータと呼ばれ, オリジナルモデルの表記法毎にあらかじめ定 義される. [ステップ 3] ネガティブテストケースの生成 ミュータントに基づいて,挿入した欠陥を顕 在化させるテストケースであるネガティブテ ストケースを生成する.ネガティブテストケ ースは入力条件と期待結果からなり,挿入し た欠陥を網羅する必要がある.生成アルゴリ ズムは,オリジナルモデルの表記法毎に開発 される. [ステップ 4] テストの実行 ネガティブテストケースを使用してテスト対 象ソフトウェアを実行し,想定される欠陥が 顕在化しないことを確認する.欠陥が顕在化 した場合は,テスト対象ソフトウェアを修正 し,再度実行・確認する.すべてのネガティ ブテストケースについて欠陥が顕在化しない ことを確認できれば,テストを終了する.. 3. フレームワークの提案 本節では,PN に基づいた新たなネガティブテ スト法の概要,およびそれを実現するフレーム ワーク(本手法を実装したテスト環境の構成の 概要)を提案する. PN はペトリネットの一種であり,ソフトウェ アの構成要素の状態を表すプレース,構成要素 の現在状態を表すトークン,状態遷移を表すト ランジションとアークから構成される.並行ソ フトウェアの状態は PN 上のトークンの配置であ るマーキングによって表される.ペトリネット. 1-189. Copyright 2015 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 77 回全国大会. は従来から並行ソフトウェアの設計や MBT(ポ ジティブテスト)に用いられ,効果的であるこ とが報告されている[2].ステップ 1 では,従来 の PN によるモデリング法に基づいてオリジナル モデルを作成する.これには GUI を備えたモデ リングツールを使用する.さらに,テスト技術 者はテスト対象ソフトウェアのリスク分析を行 い,マーキングに基づく表記法によって故障パ ターンを定義する.本手法の最終成果物は,故 障パターンを顕在化させるネガティブテストケ ースであり,それには故障パターンを含むミュ ータントが生成されなければならない. ミュータントを生成するにはミューテーショ ン・オペレータが必要であるが,著者らは PN の ためのミューテーション・オペレータとして, プレース,トークン,トランジション,アーク のそれぞれについて追加または削除するという ものを提案している[3].オリジナルモデルに対 してミューテーション・オペレータを適用した 部分が欠陥となるが,PN の場合は欠陥と故障 (欠陥によって生じるソフトウェアの不具合の 現象)の対応関係が直接的ではない.ゆえに, 故障パターンを含むミュータントを生成するた めのミューテーション・オペレータを決定論的 に選択することは困難である.そこで本手法で は,メタヒューリスティクスを応用したミュー タント生成アルゴリズムを開発し,ツール(ミ ュータント生成器)として実装する.たとえば, メタヒューリスティクスの代表的なものの一つ である GA(Genetic Algorithm)を採用した場合 のミュータント生成アルゴリズムとしては以下 が考えられる. 1. 初期集団を生成する.初期集団を構成する 各個体(解候補)は,ミューテーション・ オペレータと,オリジナルモデルにおける 当該ミューテーション・オペレータの適用 対象(プレース,トークン,トランジショ ン,アーク)のランダムな組合せの集合で ある.個体を構成する各組合せを本稿では 遺伝子と呼ぶことにする. 2. 交叉と突然変異によって新たな個体を生成 し,集団に追加する.交叉では,ランダム に選択した個体間で遺伝子を交換すること によって新たな個体を生成する.一方,突 然変異では,ランダムに選択した個体の一 部の遺伝子を,新たに生成した遺伝子で置 き換えることによって新たな個体を生成す る. 3. 各個体の適合度を求める.ある個体の適合 度は,総故障パターン集合 F の要素数に対. する,当該個体により生成されるミュータ ントに含まれる到達可能な故障パターン集 合 I(I ⊆ F)の要素数の割合であり,この割 合が大きいほど優れた個体と判定される. 4. 集団の世代交代が一定回数に達するか,最 良の個体の適合度が一定期間変化しない場 合,最良の個体を最終的な解候補とする. それ以外の場合は,優れた個体をエリート 保存法やルーレット選択法により選択し, その選択した個体群を次世代集団として 2. に戻る. 5. 4.で得られた最終的な解候補に含まれる故障 パターンを F から除く.F が空でなければ 1. に戻る. 上述のようなアルゴリズムによってミュータ ントが得られれば,各ミュータントに基づいて すべての故障パターンを網羅するネガティブテ ストケースを生成できる.ここでいうネガティ ブテストケースは,ミュータントの初期マーキ ングからはじまり故障パターンに合致するマー キングで終了する,マーキングとトランジショ ンの連続する列である.本研究では,グラフ探 索アルゴリズムなどを用いてネガティブテスト ケースを生成するツール(ネガティブテストケ ース生成器)を開発する.. 4. おわりに 今後の研究では,ミュータント生成器とネガ ティブテストケース生成器を試作し,有効性の 評価とアルゴリズムの改良を行う予定である.. 謝辞 本研究は JSPS 科研費 26730038 の助成を受けた.. 参考文献 [1] M. Weiglhofer, B. Aichernig and F. Wotawa, "Fault-based Conformance Testing in Practice", International Journal of Software and Informatics, Vol.3, No.2-3, pp.375-411, 2009. [2] H. Li, X. Ye, C. Wu, L. Liu and L. Wang, "Modeling Interactive Property of MIPv6 with Petri Net for Interoperability Testing", Proc. 2nd International Conference on Information and Computing Science, pp.313-316, 2009. [3] T. Takagi, R. Takata, Z. Furukawa, F. Belli, M. Beyazıt, "Metrics for Model-Based Mutation Testing Based on Place/Transition Nets", Proc. of Joint Conference of 21st International Workshop on Software Measurement and 6th International Conference on Software Process and Product Measurement (IWSM-MENSURA), pp.7-10, Nov. 2011.. 1-190. Copyright 2015 Information Processing Society of Japan. All Rights Reserved..

(3)

参照

関連したドキュメント

の変化は空間的に滑らかである」という仮定に基づいて おり,任意の画素と隣接する画素のフローの差分が小さ くなるまで推定を何回も繰り返す必要がある

以上,本研究で対象とする比較的空気を多く 含む湿り蒸気の熱・物質移動の促進において,こ

基本目標2 一人ひとりがいきいきと活動する にぎわいのあるまちづくり 基本目標3 安全で快適なうるおいのあるまちづくり..

・ 教育、文化、コミュニケーション、など、具体的に形のない、容易に形骸化する対 策ではなく、⑤のように、システム的に機械的に防止できる設備が必要。.. 質問 質問内容

 このように、審議会基準と ASBJ 基準案のいずれにおいても、貸借対照表における退職

評価員:評価基準案の項目に挙がっている全体という表現は、他業務の評価基準案の表現と統一

2 解析手法 2.1 解析手法の概要 本研究で用いる個別要素法は計算負担が大きく,山

以上のような背景の中で、本研究は計画に基づく戦