Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

目次

１．はじめに
２．要求仕様の状態遷移表適応
３．仕様表現方法の種類とその特徴
４．状態遷移表のメリット/デメリット
５．状態遷移表をベースにしたテスト方法
６．適応結果７．今後の課題

受入れ検査での状態遷移表適応

キャッツ株式会社
石橋 匠
Copyright© 2009 CATS Co.,ltd. All rights reserved.

www.ZIPC.com

1

Copyright© 2009 CATS Co.,ltd. All rights reserved.

Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

１. はじめに

２．要求仕様の状態遷移表適応（１）適応時の状況

2問題が問題が発生した
発生した理由した理由•品質レベルの認識を一致できていなかった。
•試験シナリオはあるが、試験シナリオの背景を共有できていなかった。
•想定外の操作での問題が多発している。

 それまで自分達で開発していた製品を、OEMとして社外で開発するようになった。
 しかし、受入れ検査で何度も問題が発生してしまい、製品出荷できない状況が続いた。
 正常ケースは動作するが、異常ケースで問題が発生する。
 不具合を修正しても、何度も同様の問題が発生する。
 担当者が変わると、作業が振り出しに戻ってしまう。
 海外メーカの場合、問題の共通認識が困難である。
 簡単な仕様変更でも、問題が発生してしまう。

製品の振舞について、認識を一致させる必要がある。

要求仕様を要求仕様を状態遷移表でモデル化モデル化することにより、することにより、要求仕様の要求仕様の認識を認識を一致させる一致させる。
させる。

目的
上記問題を解決する為に、開発時に作成していた状態遷移表を受入れ検査に使用する。

状態遷移表をもとに、試験シナリオを作成する。
Copyright© 2009 CATS Co.,ltd. All rights reserved.

3

Copyright© 2009 CATS Co.,ltd. All rights reserved.

4Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

２．要求仕様の状態遷移表適応（２）３．仕様表現方法の種類とその特徴（１）状態遷移表により状態遷移表により、により、要求仕様の要求仕様の認識を認識を一致させる一致させる！
させる！

■自然言語による要求仕様

状態遷移表

要求仕様書
○○システム仕様書■要求項目
１．HOSTからの送信要求
・ドライバにデータ送信を行う
・タイマを起動する
２．送信完了時
・HOSTに正常完了を通知する
・タイマを停止する
３．タイムアウト時
・HOSTに送信異常を通知する
・タイマを停止する

SE
送信要求 0

待機開発するタスクは、ホストから送信要求があるとドライバにデータを送信し、ドライバから送信終了を得るとホストに正常完了を返す。

送信中

0
1
データ送信

1
BUSY返信
0
送信正常
0
送信異常

送信完了 1
タイムアウト 2

テストシナリオ
テストドキュメント

S○○システムテスト結果報告書
１．試験内容・試験手順①送信完了を発行する②送信要求を発行する③送信要求を発行する④タイムアウトさせる
・確認内容
送信異常を通知すること
２．試験結果
送信異常を通知した

待機

送信中

E

0

1

送信要求

0

1
②
データ送信

送信完了

1

①

初期状態：待機
入力イベント：
送信完了 ⇒
送信要求 ⇒
送信要求 ⇒
タイムアウト
終了状態：待機確認事項：
送信異常を返すこと③
BUSY返信
0
送信正常
0
送信異常④

タイムアウト 2

Copyright© 2009 CATS Co.,ltd. All rights reserved.

ドライバにデータを送信し、ドライバからの送信完了を得る
前にタイムアウトがあると、ホストに異常完了を返す。

自然言語では、読む人によって認識が異なる。

Copyright© 2009 CATS Co.,ltd. All rights reserved.

5

6Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

３．仕様表現方法の種類とその特徴（２）３．仕様表現方法の種類とその特徴（３）■メッセージシーケンス■状態遷移図Normal Sequence
DriverTask

Host

Abnormal Sequence
Timer

DriverTask

送信要求

ドライバからの送信完了/ホストに正常完了を返す

Host
送信要求

データ送信

ホストからの送信要求/ドライバにデータを送信する

データ送信

初期

タイムアウト

送信中

送信完了
正常完了

異常完了

タイマからのタイムアウト/ホストに異常完了を返す

全てのシナリオを、シーケンスで表すのは大変である。
Copyright© 2009 CATS Co.,ltd. All rights reserved.

システムの振舞が分かりやすい
7

Copyright© 2009 CATS Co.,ltd. All rights reserved.

8Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

３．仕様表現方法の種類とその特徴（４）３．仕様表現方法の種類とその特徴（５）■状態遷移図を状態遷移表に変換する■状態遷移図を状態遷移表に変換する

SE

初期

送信中

1

2

1

ドライバからの送信完了

2

ホストに正常完了を返す=>初期

3

ホストに異常完了を返す
=>初期

送信中

1

2

ドライバにデータ送信する=>送信中

ホストにビジーを返す

ホストからの送信要求

1

ドライバからの送信完了

2

ホストに正常完了を返す=>初期

3

ホストに異常完了を返す=>初期タイマからのタイムアウト

無視

不可

状態遷移表を用いることで、モレ・ヌケのないモデルができる

モレ・ヌケが見つかりやすい。
Copyright© 2009 CATS Co.,ltd. All rights reserved.

初期E

ドライバにデータ送信する=>送信中

ホストからの送信要求

タイマからのタイムアウト

S

9Copyright© 2009 CATS Co.,ltd. All rights reserved.

Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

４．状態遷移表のメリット//デメリット
４．状態遷移表のメリット

５．状態遷移表をベースにしたテスト方法

■メリット
■メリット

■デメリット■デメリット・仕様の不備を見つけやすい・仕様の不備を見つけやすい

・直ぐに表が大きくなる
・直ぐに表が大きくなる

・異常処理や例外ケースを・異常処理や例外ケースを容易に記述できる
容易に記述できる・アクションが細かくなりやすい
・アクションが細かくなりやすい・モレ・ヌケを防止できる・モレ・ヌケを防止できる

10■ステートを網羅した試験
全てのステートを通るシナリオをテストする。
⇒テストシナリオは少ないが、テストを実施しても問題を無くせなかった。
簡易的な試験を行う際に使用した。

・概要を把握するのが難しい
・概要を把握するのが難しい■アクションを網羅した試験
全てのアクションを通るシナリオをテストする。
⇒妥当なテストシナリオで、一定の品質を保つことができた。

・仕様変更によるドキュメント
・仕様変更によるドキュメントの変更が容易であるの変更が容易である■シナリオを網羅した試験
状態遷移表から導き出される全てのシナリオをテストする。
⇒テストシナリオが膨大になった為に、テストを実施できなかった。
Copyright© 2009 CATS Co.,ltd. All rights reserved.

11

Copyright© 2009 CATS Co.,ltd. All rights reserved.

12Modeling does the future with the state-of-the-art engineering tool.

Modeling does the future with the state-of-the-art engineering tool.

６．適応結果７．今後の課題

・要求仕様についての認識を一致できた。
・要求仕様についての認識を一致できた。

個人依存 状態遷移表から導き出すテストシナリオについて、個人依存になってしまい、製品の品質を統一できなかった。
 その為には、状態遷移表をベースにした効率的な試験シナリオを導き出す手法が必要になってくる。

・不具合への検討が容易になった。
・不具合への検討が容易になった。
・不具合の修正がはやくなった。
・不具合の修正がはやくなった。

時間
・同様の不具合も発生しなくなった。
・同様の不具合も発生しなくなった。

 時間が原因で発生する問題について対策できなかった。
 振舞だけでなく、時間を考慮したモデルが必要になってくる。

自動テスト
 自動テストを行う際にも、テストスクリプトを作成するのに時間がかかってしまった。
 状態遷移表からテストスクリプトを自動的に作成するツールが必要になってくる。

無事に製品を出荷できた。
Copyright© 2009 CATS Co.,ltd. All rights reserved.

13

Modeling does the future with the state-of-the-art engineering tool.

キャッツ株式会社〒222-0033
神奈川県横浜市港北区新横浜2-11-5
TEL: 045-473-2816
FAX: 045-473-2673
E-Mail: info@zipc.com
http://www.zipc.com/ＣＥＳＬ-CATS Embedded System Laboratoryキャッツ組込みソフトウェア研究所〒814-0001
福岡県福岡市早良区百道浜3-8-33
福岡システムＬＳＩ総合開発センター514
TEL: 092-832-7131
FAX: 092-832-7132

http://www.zipc.com/cesl/
Copyright© 2009 CATS Co.,ltd. All rights reserved.

15

Copyright© 2009 CATS Co.,ltd. All rights reserved.

14