Tweet | |
西浦, "ソフトウェアテストの自動化を目指した組み合わせテスト入力値限局手法とテストコード自動生成手法の考案," 博士学位論文, 京都工芸繊維大学, 2021年. | |
ID | 916 |
分類 | 学位論文 |
タグ | 博論 博士論文 |
表題 (title) |
ソフトウェアテストの自動化を目指した組み合わせテスト入力値限局手法とテストコード自動生成手法の考案 |
表題 (英文) |
|
著者名 (author) |
西浦 生成 |
英文著者名 (author) |
Kinari Nishiura |
キー (key) |
Kinari Nishiura |
学校名 (school) |
京都工芸繊維大学 |
出版社住所 (address) |
|
刊行月 (month) |
9 |
出版年 (year) |
2021 |
URL |
|
付加情報 (note) |
|
注釈 (annote) |
|
内容梗概 (abstract) |
ソフトウェアの品質を高め信頼性を保つことは重要な課題である.そのため,不具
合の事前検出を目的としたソフトウェアテストが広く行われている.しかしソフト ウェアテストに要求されるリソースは重く,自動化による作業の短縮化が望まれて いる.またテストプロセスには,テストケースの設計,テストの実行,不具合箇所 の限局など多くの工程が含まれており,生産性の拡大のため全てのテスト工程を横 断的に自動化できることが望まれる.しかし,組み合わせテスト設計ツールに代表 されるようなテストケース設計の自動化や,継続的インテグレーションに代表され るテスト自動実行環境の整備など,部分における自動化は発展している一方で,未 だ十分な自動化が実現されておらず,横断的なテスト自動化のボトルネックとなる 部分も存在している. こうしたソフトウェアテストプロセスの自動化に関連する課題から,本論文では 入力値限局およびテストコード生成の 2 つのトピックに焦点を当て,問題の改善に 取り組んだ.入力値限局とは,失敗したテストケースを含む組み合わせテストの結 果から不具合を誘発する入力値の組み合わせを限局する操作を指す.限局結果から は開発者がソフトウェアシステムから不具合を取り除くための有益な情報が得られ るため,自動修復技術の精度にも大きく関係する.またテストコードとは,テスト 操作を自動的に行うために作成されたプログラムを指す.テストコードを使ったテ ストの自動実行は現在では主流となっている. 入力値限局における問題点として,テスト結果を分析し疑わしい組み合わせを推 定する既存手法では,その精度に改善の余地がある.また限局の過程で不具合を誘 発した可能性のある組み合わせを全て列挙する必要があるため,組み合わせ爆発に より処理時間が膨大化することがある.さらに,既存手法は同一のテストケースの結果が常に同一であることを前提とする一方,その前提に沿わない非決定的なテスト結果の存在が報告されており,既存手法では不可能な場合がある. 次にテストコードを利用した自動テスト実行における問題点として,テストコー ドの作成には相応の労力がかかる.そのためテストコードを自動生成できることが 望まれている.しかし,既存のテストコード自動生成技術は単純かつ低品質な単体 テストのみを生成対象としていることや,構造化された仕様書のようなデータの整 備が必要であるといった限界がある.これに対し,OSS を対象とした先行調査によって,類似した機能を持つプロジェクトのテストコードを再利用することで目的のテ ストコードを用意できる可能性が示唆されている.しかし,実際にテストコードを 自動的に再利用する方法は未だ開拓されていない. 本論文では,こうした入力値限局およびテストコード生成における課題を改善す るための手法を提案する.またその評価や調査の結果を示すことで提案の有効性を 明らかにする. まず,ロジスティック回帰分析によって得られる回帰係数を疑惑値として利用で き,既存手法よりも高精度に入力値限局が可能であることを評価実験により明らか にした.また限局すべき組み合わせの回帰係数が高くなることに加え,その部分集 合にも高い回帰係数が見られることを発見した.この特性を利用することで,限局 すべき組み合わせの部分集合を先に推定し,それらの超集合として組み合わせを推 定する手法を構築した.また実際のシステムに基づくテスト結果を用いた評価実験 によって,処理を高速化しつつ,高い精度で実際の不具合誘発入力値を推定できる ことを示した. 次に,先行研究で報告されたテスト結果が非決定的になる要因のうち実行順序へ の依存性に焦点を絞り,非決定的なテスト結果に対応できるよう拡張された入力値 限局手法を提案した.初めにテストの失敗を再現するテスト実行順序を特定し,そ れらを連続に実行して非決定性を排除することで,正しい限局結果を得ることが期 待できる.実際のシステムに基づくテスト結果を用いた評価実験によって,提案手 法の特定精度およびテストの追加実行回数の増加割合が好ましいものであることを 示した. 最後に,OSS からの再利用による Java テストコードの自動生成手法の開発に取 り組んだ.まず,特定のテストメソッドを実行可能性を保ちつつ自動的に移植する ために必要な条件を定義し,それに基づいて OSS 中のテストメソッドが持つ依存関 係等を調査することで,テストコードの再利用が現実的かつ有益であることを示し た.加えて,既存テストコードの再利用によるテストコード自動生成モデルを実際 に提案した.このモデルでは,テスト対象コードへの依存を分析し,機械的操作のみ によって実行可能性を維持できるテストメソッドを検出することで,移植用のテス トコードを自動的に生成する.さらに,自然言語処理技術によってテスト操作の意 味的な適切さを担保する.また,このモデルをいくつかの Android アプリケーショ ンに適用した事例によって,手法の有効性および課題を示した. |
論文電子ファイル | Published (application/pdf) [一般閲覧可] |
BiBTeXエントリ |
@phdthesis{id916, title = {ソフトウェアテストの自動化を目指した組み合わせテスト入力値限局手法とテストコード自動生成手法の考案}, author = {西浦 生成}, school = {京都工芸繊維大学}, month = {9}, year = {2021}, } |