Agenda•会社概要とＳＰＩ活動の紹介

JaSST’11 Tokyo

ツールを利用した組合せテストの展開•はじめに（背景と課題）•施策１ 組合せテスト技術の普及－組合せテスト技術の普及と状態遷移のある動作テストへの応用－– 組合せテスト普及の方針– テスト設計プロセス、ツールの特徴

東芝ソシオシステムズ（株）
大谷 和夫 ・ 久米 智己子•施策２ 状態遷移テストへの応用（株）東芝 ソフトウェア技術センター
中野 隆司– 他社事例と新たな考え方•まとめCopyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

会社概要

主力製品

◆会社名
東芝ソシオシステムズ株式会社◆設立
１９８２年４月１日◆人員
５２１名（2010年10月現在）◆事業内容 東芝製品の設計・製造
自動化機器システム
セキュリティ関連システム
ＩＣカードシステム
アプリケーション・ソフトウェアの開発◆事業所

本社・設計部門
製造部門

海外向け選別取り揃え押印機

新幹線自動改札機

海外向け銀行券鑑査機

東芝小向工場内
秋田事業所
ＩＣ免許証情報確認端末
3Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

ＥＴＣシステム

監査・支援

SQAG

SEPG

HEPG

各課での改善活動

情報交換・横展開

管理者

ソフトウェアプロセス
改善グループ

情報交換

注 ＨＥＰＧ：Hardware Engineering Process Group

交流会

サポート
ソフトウェア技術センター（アドバイザ）ＰＳＭ ＰＳＭ

分科会
メンバ

ＰＪ

SQAG

ソフトウェア部門での改善活動

マネジメント
課の改善推進・パイプ役

監査・サポート
ＰＪ ＰＪ

ＳＥＰＧ 全体会（管理者が参加）
ＳＥＰＧ 分科会（各課代表者が参加）

ＳＱＡＧ

個別活動

東芝・グループ
会社

メトリクス
TWG

SEPGSEPG -HP
編集委員

欠陥予防
TWG

組合せテスト

TWG

ＸＤＤＰ
TWG

ＳＰＩ：Software
ＨＥＰＧ ： Hardware Engineering Process GroupＳＰＩ：Software Process Improvement
ＳＥＰＧ：
ＳＥＰＧ：Software Engineering Process Group ＳＱＡＧ： Software Quality Assurance GroupCopyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

4

ＳＰＩ活動推進体制• 体制と役割プロセス
開発現場 改善

定期券発行機Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

ＳＰＩ（ソフトウェア・プロセス改善）活動

ソフトウェア
品質保証グループ

2Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

ＳＰＩ：Software
ＴＷＧ：有効期限付きで活動する特定の改善のためのワーキング
ＳＰＩ：Software Process Improvement
ＳＥＰＧ：
ＳＥＰＧ：Software Engineering Process Group ＳＱＡＧ： Software Quality Assurance Group5

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

61

はじめに（背景と課題）組合せテストは、ソフトウェアの妥当性確認や網羅度を向上させるには有効であるが・・・

ツールを利用した組合せテストの展開• 課題１：組合せテスト技法を使いこなせない－組合せテスト技術の普及と状態遷移のある動作テストへの応用－– 直交表、All-Pair法は専門知識が必要– 使いこなすには敷居が高い– 因子・水準の洗い出しが難しい• 課題２：組合せテストの適用が広がらない– 抽出する因子・水準に漏れがある– 状態が遷移する動作テストの利用が難しい
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

78

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

はじめに（解決策の仮説）
組合せテストケースの生成を支援するツール
APTNavi® が2008年に登場！
（APTNavi：All Pair Testing Navigation Tool）

施策１ 組合せテスト技術の普及• 課題の解決策（仮説）– ツールを利用すれば組合せテストの展開が容易であり、有識者を一気に増やせる– WGを作り、組合せテストを実際に体験する– 他社事例を学び応用することで、組合せテストの対象範囲を状態遷移にまで広げることができる
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

9

施策１－１ 組合せテスト普及の方針•

１－２ 組合せテスト設計プロセス

SEPG＊1 と連携したWGの発足

仕様– 改善意識が高いソフト・ファーム技術者が参加– ３階層SEPGを活用し、コーポレートの協力を得る

・ドメイン知識、過去の不具合など蓄積したノウハウを利用
・同値分割、境界値、デシジョンテーブル利用

条件・入力洗い出し＊１：ＳＥＰＧ：Software Engineering Process Group（ソフトウェアプロセス改善グループ）• 組合せテスト技法の理論を覚え体験する

APTNavi®ツールによる自動生成
因子A– 理屈を知り、応用をきかせてツールを使う– 一人ひとりが実JOBを使い、組合せテストを体験

因子・水準表作成• ゴールの姿因子A
因子B
因子C– 組合せテスト設計プロセスを確立し有識者を増やす– 状態遷移のある組合せテストを使いこなす– 組合せテスト事例を蓄積し公開する仕組みを作る
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

10Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

直交表
選択

水準1 水準2 水準3102030abc
大小直交表
L4L8L82水準
3743水準因子と水準割付

11禁則
処理

4水準
1

ケース 因子A 因子B 因子C

1234・・

因子Ba b c
10 ○ ○ ○20 ○ ○ ×30 × ○ ×

10101020・・

abcb・・

大小大小・・

テストケース作成

2因子間100%Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

網羅度確認

122

１－３ 組合せテストのWG活動実績

１－３ 組合せテストのWG活動実績

使いこなす目標達成！

• 活動実績
開催日• 鉄道向け自動改札機システムの適用事例– きっぷの組合せ判定– のりこし区間の精算業務– きっぷの磁気情報の読取処理– 乗降テストパターンの洗い出し– 既存テストデータの整理

事例発表
件数

概要

2010/5/14 キックオフ：活動方針の検討、進め方の確認®
組合せテストの概要とAPTNavi ツールの紹介② 2010/6/4 組合せ条件にツールを適用した事例演習③ 2010/6/11 組合せ条件にツールを適用した事例発表①④ 2010/6/25 組合せ条件にツールを適用した事例発表②
2010/7/9 組合せ条件にツールを適用した事例発表③⑤
状態遷移のある動作テストへの適用説明⑥ 2010/8/6 動作テストにツールを適用した事例発表①
2010/8/20 動作テストにツールを適用した事例発表②／⑦
振返り①5件
5件
3件
修正1件
6件
3件
修正1件

参加人数--- １５名
事例発表--- ２２件
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

13

１－４ APTNavi®ツールの機能と特徴

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

14

１－４ APTNavi®ツールの機能と特徴• 東芝ソフトウェア技術センターがツールを開発• 禁則処理とテストケースの生成が容易– 各カンパニー、関連会社にツールを配布– 初期導入の技術サポートが充実– 要望に対し定期的にPDCAを回して機能改善– ありえない組合せを禁則設定し、２因子間の網羅度が100%になるようにテストケースを生成• ２因子間網羅した直交表、All-Pair法を採用してテストケース生成因子・水準の洗い出し– 直交表 ：２因子間のすべての組合せが同数表れる– All-Pair法 ：２因子間のすべての組合せが最低１回表れる• ３因子間を網羅した組合せも自動生成– ３因子間の網羅は必要性を確認して使用
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

禁則設定
15

テストケース生成

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

16

１－４ APTNavi®ツールの機能と特徴• 因子間の網羅度を測定– 自動生成したテストケースの２因子、３因子間網羅度を測定し、出来栄えを確認
網羅度推移
100%

施策２ 状態遷移テストへの応用

網羅度

80%
単一網羅度
2因子間網羅度3因子間網羅度

60%
40%
20%
0%
0246
テストケース数

810• EXCELベースなので誰でも気軽に使える
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

17

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

183

施策２－１ 状態遷移テストへの応用を他社事例から学ぶ①HAYST法
法②岩通ソフトシステム（株）殿提案

２回のイベントに着目して入力やタイミングを組合せる

遷移可能なすべての状態の組合せをAll-Pair法で網羅することができる• 他社事例を実際に使ってみた効果と注意点
効果
注意点①(HAYST法)状態遷 移パ ・状態遷移だけでなく、その遷移における ・遷移パスごとに組み合わせを考えるとテスにイベント組み合わせ イベントの起こし方や発生のタイミングな ストケースの数はそれだけ多くなってしまを割り付けたテストのや どの組み合わせを網羅してテストを行うこ うり方とができる②（岩通ソフトシステム ・遷移のオールペアの組み合わせで遷移 ・開始から終了までの道筋をある程度限（株）殿提案）状態遷移 パスを網羅することができ、全パス網羅 定しないと適用できない（爆発してしまう）
パスの組み合わせ作成に （C2カバレッジ100%）が不可能な場合、現 ・時系列の状態遷移を考えていく中であり適用したやり方
実的なテストケースを作成することができ えない状態での組み合わせを禁則としてる設定していくのが非常に煩雑

ログオンに関する状態遷移図
b Cont+Alt+Del

a Helpキャンセル
起動画面

ログオンce ログオフ
デスクトップ•HAYST法と岩通殿提案を参考にした新しい提案–確認しようとしている機能において、影響を与える他の画面での操作や状態を組合せの条件として因子・水準とする考え方｢組合せテストの視点で状態遷移も考慮する方式」
定期券発行機の組合せテストにて試行

d OK

状態遷移の関係行列（２回のイベント）
処理後処理前
起動画面
ログオン
デスクトップ

起動画面

ログオン

デスクトップ

aa+bc
ca+de
ea

ab
cbeb

bd-

出典：JaSST2009東京 岩通ソフトシステム（株）「オープンソースの組合せテストツールの開発」
発表資料

出典： 日科技連 秋山浩一、他
ソフトウェアテスト HAYST法入門

19Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

２－３ 定期券発行機による組合せテスト事例［氏名入力］• 因子と水準を設定

［券発行］

氏名入力

因子名
水準１処理
氏名入力
発行媒体
磁気券・新規業務切替
発行業務連続
影響を与える可能
氏名クリアあり性のある状態遷移

券面
印刷
発行

申込用紙
読取り

状態遷移がある組合せテスト

訂正入力

訂正入力は2種類の方法
バックスペース訂正、カーソル移動訂正

氏名入力

定期区間表示＜業務切替＞
発行業務連続払戻から発行業務に切替

氏名クリア

氏名表示

発行券の発行

21

NO.
1
2
3
4
5
6
7
8
9処理
氏名入力
氏名入力
氏名入力
氏名入力
申込み用紙入力
申込み用紙入力
申込み用紙入力
申込み用紙入力
氏名クリア

発行媒体
磁気券・新規磁気券・旧券継続IC・新規IC・旧券継続
磁気券・新規磁気券・旧券継続IC・新規IC・旧券継続
磁気券・新規業務切替
発行業務連続払戻から発行業務切替払戻から発行業務切替
発行業務連続払戻から発行業務切替
発行業務連続発行業務連続払戻から発行業務切替
発行業務連続

影響を与える可能性のある状態遷移
氏名クリアありバックスペース訂正
カーソル移動訂正－
カーソル移動訂正－
氏名クリアありバックスペース訂正
バックスペース訂正

151617181920

訂正入力
訂正入力
発行
発行
発行
発行

磁気券・旧券継続
IC・新規
IC・旧券継続
磁気券・新規磁気券・旧券継続
IC・新規
IC・旧券継続発行業務連続発行業務連続払戻から発行業務切替
発行業務連続払戻から発行業務切替
発行業務連続払戻から発行業務切替

カーソル移動訂正
バックスペース訂正
氏名クリアあり
氏名クリアありバックスペース訂正
カーソル移動訂正－

払戻→発行申込み用紙入力* 発行

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

22– HAYST法
状態遷移パスに入力やタイミングの条件を組合せた確認に最適~~処理を実現するために不足している処理を追加（*記号が該当）
訂正入力には、バックスペースorカーソル移動訂正を適宜選択する
発行媒体
手順1
手順2
手順3
手順4申込み用紙入力* 氏名クリアあり
磁気券・新規氏名入力
発行
磁気券・新規氏名入力*
バックスペース訂正 氏名クリア
磁気券・旧券継続 申込み用紙入力 カーソル移動訂正 バックスペース訂正*
IC・旧券継続

各イベントに影響を与えると考えられる他のイベントを示し
今回は過去に発生した不具合から氏名訂正に着目した４水準• 状態が遷移するテストは確認する目的により使い分ける– 岩通システム殿提案方式
状態遷移パスが複雑な場合に、複数パスを組合せた確認に最適• パターンを実行するテストケースを15件作成~~ 15 20– 影響を与える可能性のある状態遷移：

２－４ 状態遷移テストへの応用の考察• ツールによりテストパターン20件生成（All-Pair法）

NO. NO. NO. 業務切替
1 1 17 発行→発行
2 9発行→発行
3 6 14 発行→発行

カーソル移動訂正 －実際にあり得る条件として、発行媒体４水準、業務切替２水準
他にボタンの早押し・複数同時押し等の操作タイミングがある

２－３ 定期券発行機による組合せテスト事例

ケース テストパターン

バックスペース訂正水準4水準5訂正入力
発行
IC・旧券継続– その他の因子：申込み用紙入力

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

~~ 14 訂正入力

水準2水準3
申込み用紙入力
氏名クリア
磁気券・旧券継続
IC・新規払戻から発行業務切替– 処 理：イベントの氏名入力～発行までの５水準• 定期券発行機 氏名入力処理の状態遷移図に着目＜発行媒体＞
磁気券IC
新規区間
旧券継続区間の組合せ

20

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

２－３ 定期券発行機による組合せテスト事例• 定期券発行機の発行操作フロー［前の業務］ ［業務切替］ ［媒体］ ［発行形態］ ［区間］
発行
磁気新規業務定期or発行or区間業務ＩＣ
継続払戻設定選択選択
業務
従来の組合せテスト

２－２ 他社事例を実践– 東芝提案方式
状態遷移を簡易的にとらえて入力やタイミングを組合せた確認に最適~~
23

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

24

4

特に工夫した点• 失敗事例を大歓迎
体験事例発表会では、失敗したところ、工夫した点を含めて報告し、因子と水準の洗い出し方、組合せテストのノウハウを身につけることができた

まとめ• 社内専門家の参加専門家によるアドバイスにより、参加者全員で組合せテストの完成度を高めていった• 情報の公開
体験した事例はソフトウェア部門のホームページに公開し、技術者全員で情報を共有している
Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

25

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

26

活動成果と今後の展開•組合せテスト設計プロセスが確立し、参加者全員（15名）がテスト技法を使いこなせるようになった

ご清聴ありがとうございました

今後、この有識者が部門の推進役となり展開していく•状態遷移テストへの応用は「組合せテストの視点で状態遷移を考慮する方式」は比較的簡単な手順で実施できることが分かった
今後、適用事例を積み上げこの方式の最適化を目指す

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

27

Copyright© 2011 Toshiba Social Automation Systems Co. Ltd. All Rights Reserved.

5