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

JAIST Repository https://dspace.jaist.ac.jp/

N/A
N/A
Protected

Academic year: 2021

シェア "JAIST Repository https://dspace.jaist.ac.jp/"

Copied!
4
0
0

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

全文

(1)

Japan Advanced Institute of Science and Technology

JAIST Repository

https://dspace.jaist.ac.jp/

Title アスペクト指向を適用した組み込みシステムテスト方

法の研究

Author(s) 楊, 明睿

Citation

Issue Date 2011‑03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/9626 Rights

Description Supervisor:落水浩一郎 , 情報科学研究科, 修士

(2)

アスペクト指向を適用した組み込みシステムテスト方法の 研究

楊 明睿(0910070)

北陸先端科学技術大学院大学 情報科学研究科 2011年2月8日

キーワード: テスト, テストケース,アスペクト指向 .

1 研究の背景と目的

ソフトウェア品質への要求は年々高まっている。ソフトウェアの品質を確保するため、

テストは非常に重要である。そのため、ソフトウェア開発におけるテストの重要性も年々 高まっている。

本学「高信頼組込みシステムコース」のPBL演習において、コンロ制御ボードシステ ムを設計し、実現した。コンロ制御ボードの開発においては、安全性に関する品質をいか に充足するかが重要である。安全性に関する品質を保証するためには、単体テスト、統合 テスト、システムテストの三つテストを実施する必要がある。各段階では、それぞれの担 当者によってテストケースを作成し、テストを実施する。しかしながら、単体テスト、統 合テスト、システムテストの三つの段階は別々で設計し、実施するので、重複するテスト データが設計された。このことはテストの効率にひいてはソフトウェア開発全体の効率に まで影響を与える。このためには、単体テスト、統合テスト、システムテストの各段階に おいて、系統的なテストを実施する必要があるが、その手法は明らかでない。

本研究ではIvar Jacobsonが提案した「ユースケースによるアスペクト指向ソフトウェ ア開発法」におけるユースケーススライスの概念を利用して、「安全性」を保証するため、

単体テスト、統合テスト及びシステムテストのテストケースを系統的に作成する手法を提 案する。テストデータ全体の量を削減する面とテスト対象を明確する面とも考えて、系統 的なテスト手法を提案する。コンロ制御ボードシステムを対象とする。

2 テストにおける重複問題

単体テストにおいては、すべてのクラスについてテストを実施する。統合テストにおい ては、単体テストを実施した上、各システムコンポーネントの中で、一つのクラスをも

Copyright c2011 by Yang Mingrui

1

(3)

とに、一つずつを増加して、インタフェースについて、テストを実施する。つまり、すべ てのクラスについてもう一度テストを実施する。システムにおいては、各システムコン ポーネントを一つのモジュールとして、テストを実施する。しかしながら、これらのテ ストでは、同じ対象(同じプログラム構造:クラス)についてテストを実施する。そのた め、同じクラスは複数のテスト段階でテストされた可能性がある。注目する点は違うが、

テストケースを重複に設計する可能性がある。もちろん、そのまま、元々のテスト手法を 実施すると、品質に保証できるが、テスト量が膨大であるため、ソフトウェア開発の効 率が減っていく。このため、各段階において、品質保証と効率向上のトレードオフを考え ながら、テストすべき最低限界を提案する。まず、テストを実施する手順としては、単体 テスト、統合テスト、システムテストの順番でテストを実施する。そして、各システムコ ンポーネントについて、コミュニケーション図を利用する。次には、単体テストでは、コ ミュニケーション図中の一番上位クラスと一番下位クラスについて、テストを実施する。

統合テストでは、各システムコンポーネントの中で、単体テストでテストした一番上位ク ラスをドライバとして、下位クラスについてトップダウンテストを実施する。一番下位ク ラスをスタブとして、上位クラスについてボトムアップテストを実施する。システムテス トでは、各システムコンポーネントについて、入出力のテストを実施する。

3 テスト対象の選択問題

テスト対象を明確する手法も必要である。単体テストは、各クラスについて、テストを 実施する。統合テストは、システムコンポーネント中のクラス間のインタフェースについ て、テストを実施する。システムテストは、システムコンポーネントの入出力について、

テストを実施する。しかしながら、統合テストとシステムテストにおけるシステムコン ポーネントを明確する方法が必要である。そのため、テスト対象を選択する方法を提案 する。システムテスト設計では、各ユースケーススライスについて、テストケースを設 計し、テストを実施する。IBMの「ユースケースからテストケースへの追跡」を利用す る。統合テスト設計では、各ユースケーススライス内のクラス群について、テストケース を設計し、テストを実施する。コミュニケーション図を利用する。単体テスト設計では、

各ユースケーススライス内のクラス群の各クラスについて、テストケースを設計し、テス トを実施する。これを実現するため、分析からテストまでユースケースモジュールによる システムを開発できる「ユースケースによるアスペクト指向ソフトウェア開発」が利用で きると考える。

4 系統的なテスト手法

本研究では、同値分割技法に基づいて、テストケースを設計する。

2

(4)

上記の重複問題を解決するテスト手法とテスト対象を明確する手法をまとめて、下記の ような系統的なテスト手法を提案する。まず、各ユースケーススライスについて、コミュ ニケーション図を作る。次に、コミュニケーション図中で、一番上位クラスと一番下位ク ラスについて、単体テストを実施する。さらに、単体テストにおいてテストした一番上 位クラスをドライバとして、下位クラスについてトップダウンテストを実施する;単体テ ストにおいてテストした一番下位クラスをスタブとして、上位クラスについてボトムアッ プテストを実施する。これは統合テストである。最後は、各ユースケースについて、入出 力のテストを実施する。これはシステムテストである。IBM「ユースケースからテスト ケースへの追跡」を利用する。

3

参照

関連したドキュメント

Causation and effectuation processes: A validation study , Journal of Business Venturing, 26, pp.375-390. [4] McKelvie, Alexander & Chandler, Gaylen & Detienne, Dawn

Previous studies have reported phase separation of phospholipid membranes containing charged lipids by the addition of metal ions and phase separation induced by osmotic application

It is separated into several subsections, including introduction, research and development, open innovation, international R&D management, cross-cultural collaboration,

UBICOMM2008 BEST PAPER AWARD 丹   康 雄 情報科学研究科 教 授 平成20年11月. マルチメディア・仮想環境基礎研究会MVE賞

To investigate the synthesizability, we have performed electronic structure simulations based on density functional theory (DFT) and phonon simulations combined with DFT for the

During the implementation stage, we explored appropriate creative pedagogy in foreign language classrooms We conducted practical lectures using the creative teaching method

講演 1 「多様性の尊重とわたしたちにできること:LGBTQ+と無意識の 偏見」 (北陸先端科学技術大学院大学グローバルコミュニケーションセンター 講師 元山

Come with considering two features of collaboration, unstructured collaboration (information collaboration) and structured collaboration (process collaboration); we