SlideShare a Scribd company logo
1 of 19
Download to read offline
日本における組み合わせテスト
~ 歴史、適用状況、技法、ツール ~
辰巳 敬三
富士通 / ASTER
July 16, 2013
2017年8月に日本語に翻訳
1 (c) K. Tatsumi 2013
“Workshop on Combinatorial Testing for Complex Computer Systems”
In conjunction with ICECCS 2013
July 16, 2013, Singapore
目次
 組み合わせテスト技法の歴史の通説
 実際の歴史
 前史
 富士通のメインフレームコンピュータの初期の歴史
 富士通におけるテスト項目設計の手順
 組み合わせテスト技法の誕生
 実験計画法の適用
 テスト項目設計支援システム
 米国への組み合わせテスト技法の移転
 組み合わせテスト技法の系譜
 日本の組み合わせテストの状況
 HAYST法
 PictMaster
 まとめ
2 (c) K. Tatsumi 2013
組み合わせテスト技法の歴史の通説
3 (c) K. Tatsumi 2013
Mandlの論文が
最初 ??
Jacek Czerwonka, Pairwise Testing
Combinatorial Test Case Generation
http://www.pairwise.org/
実際の歴史
(1957: デシジョンテーブル)
~1967: 同値分割、限界値分析
1970: 原因結果グラフ
[Elmendorf]
(1989~)1992: OATS
[Brownlie, Prowse, Phadke]
(1990~)1994: CATS
[Sherwood]
(1992~)1994: AETG
[Cohen, et. al]
AT&T, Bellcore
1980 1990 2000 20101950 1960 1970 ‘85 ‘95 ‘05
組み合わせ手法
1984: 直交配列表 / 組み合わせ表
[佐藤, 下川]
2000: CTE XL
[Daimler Chrysler]
1987: Test Case Design Support
System [Tatsumi]
1985: Orthogonal Latin Squares
[R. Mandl]
1988: Category-partition method
[Ostrand, Balcer]
(1976: テスト要因分析手法)
[富士通]
入力条件分析手法
1993: Classification-tree method
[Grochtmann, Grimm]
2007: FireEye 2009:ACTS
(IPOG) [Lei, Kuhn]
(2000~)2004: PICT
[Microsoft]
富士通
<テスト技法>
4 (c) K. Tatsumi 2013
(*1) 佐藤忍, 下川浩樹, 実験計画法を用いたソフトウェアのテスト項目設定法, 第4回SPCシンポジウム発表報文集, pp.1-8, 日科技連, 1984
(*1)
(c) K. Tatsumi 20135
前史
 富士通のメインフレームコンピュータの初期の歴史
M. A. Cusumano, "Japan's Software Factories: A Challenge to U.S. Management," Oxford University Press, 1991
K. Tatsumi, The History of Software Engineering and Software Testing - World and Japan -
http://a-lifelong-tester.cocolog-nifty.com/Chronology/ChronologyEng.html
‘65 1970 1980 ‘85‘75 1990‘55 1960
FACOM
100
FACOM
128A
FACOM
222
FACOM
230series
FACOM
230-60
Amdahl
470V/6
FACOM
M-190
FACOM
M-200
FACOM
M-380
FACOM
M-780
FUJITSU
M-1800
1954
1958
1961
1964
1968
1975
1978
1976
1981
1985
1990
FACOM
128B
1956
リレー トランジスタ IC (集積回路)
FACOM
230-75
1970
1973
FACOM
230-8series
LSI
ALGOL
compiler
FORTRAN
compiler
Data
communications
MCP II
(for 230-20/30)
1960
1963
1965
MONITOR V
(large-scale)
1968
TSS
PL/I
compiler
BOS
(mid-scale)
1971
1969
COBOL
compiler
DB/DC
BOS/VS
OSII/VS
1974
MONITOR
VI/VII
1975
OSIV/F4
(M-series OS)
1977
1982
OSIV/F4 MSP
1981
OSIV/F2 ESP
1983
OSIV/X8 FSP
OSIV/F2
OSIV/X8
RDB
AIM
(Online DB)
オペレーティング・システム
ネットワーク, DB/DC
コンパイラ
1966
MONITOR II
(for 230-50)
OSII
1989
OSIV/MSP
(MSP-EX)
1990
OSIV/FSP
1966
プログラム開発部門の創設
1968
プログラム試験課の設置
1974
ソフトウェア事業部門の設立
(c) K. Tatsumi 20136
前史
 富士通におけるテストケース設計の手順
(1970年代初めより)
Step1. テスト分類
• テスト対象の機能を小さく分割する
Step2. テスト要因分析
• 外部仕様書から、入力条件と動作環境条
件(因子)、それらが取りうる値(状態)を抽出
する
Step3. テストケース作成
• 因子と状態を組み合わせてテストケースを
作成する
Step4. テスト結果の定義
• 各テストケースの期待結果を定義する
fooコマンド [機能]
[入力形式]
・・・・・
1. ・・・
2. ・・・
<外部仕様書>
<テスト要因分析表>
A B C D
1 a1 b1 c1 d1
2 a2 b2 c2 d2
3 a3 c3 d3
4 c4
状態
因子
<テストケース表>
因子 A B C D
テストケース1 a1 b1 c1 d1
テストケース2 a2 b2 c3 d2
テストケースn a3 b1 c4 d3
(c) K. Tatsumi 20137
組み合わせテスト技法の誕生
 実験計画法の適用
原因結果グラフと同様の制約条件
- 排他
- 包含
- 一つのみ
辰巳のCOMPSAC‘87 発表スライドより
(1983-1984)
(c) K. Tatsumi 20138
組み合わせテスト技法の誕生
 テストケース設計支援システム
(1986-1987)
 テスト設計プロセスの支援
• テスト分類からテストケース作
成のフェーズまでを支援
• テスト仕様書の管理や改訂の
支援
 支援機能の改良
• テストケース生成アルゴリズム
• 制約条件の処理
– 状態-状態間, 因子-状態間,
因子-因子間
» 排他的組み合わせ
» 組み合わせなし
» 必要な組み合わせ
» 状態のグルーピング
辰巳のCOMPSAC‘87 発表スライドより
(c) K. Tatsumi 20139
米国への組み合わせテスト技法の移転
 英語論文の発表
 T. Yoshida, “Attaining Higher Quality in Software
Development - Evaluation in Practice”, FSTJ, 1985
 K. Tatsumi, "Conceptual Support for Test Case Design",
COMPSAC'87
 K. Tatsumi, "Test Case Design Support System",
ICQC'87
T. Yoshida, "Attaining Higher Quality in Software Development - Evaluation in Practice -", Fujitsu Scientific and Technical Journal, Vol.21, pp.305-316, 1985
吉田 征, 技術の伝承と移転-芸術と技術と人間との接点からの発想, pp.113-114, 日科技連出版, 1994
 米国AT&T社への紹介(1989年)
(吉田氏の著書より)
 吉田は富士通のジャーナル(FSTJ)に掲載された論文を読んだAT&T社の人か
ら、実験計画法(DoE)の適用方法を教えて欲しいと依頼を受けていた
 日科技連の第1次ソフトウェア製品品質管理調査団の一員として海外視察に
参加した際、視察途中の1989年4月30日にニュージャージー州Somersetの
Marriottホテルで吉田らはAT&T社の技術者達とのミーティングをもち説明した
 この時、説明資料の一つとして辰巳がICQC'87で発表した論文のコピーが提
供された
組み合わせテスト技法の系譜
10 (c) K. Tatsumi 2013
1920-1930 実験計画法(DoE) (Fisher)
1940 直交表 (Rao)
品質工学 (田口)
u
<企業> 品質工学フォーラム(学会)設立
品質工学誌に「ソフトウェア開発のためのロバスト・テスティング法」を寄稿 (Phadke)
ソフトウェアテストへの適用(田口)
ソフトウェアテストへの適用事例
(エプソン、ミノルタ、松下電工)
米国で直交表を HAYST法開発開始 HAYST法発表 入門書籍出版 ツール外販開始
ソフトウェアテストに適用
ソフトウェアテストに
実験計画法を適用 Test Case Design Support System (辰巳)
富士通英文ジャーナル(FSTJ)誌に論文掲載
PictMaster (岩通ソフト)
適用事例 (NEC, IBM Japan)
<アカデミア>
組み合わせ論理 遺伝アルゴリズム(GA)適用 CIT-BACH
u u "Taguchi methods"と命名される
品質工学の紹介
(Xerox, Bell研) u
富士通からAT&Tに技術紹介
OATS (Brownlie, Phadke et.al.)
CATS (Sherwood)
AETG (Cohen et.al.)
Adaコンパイラのテストに
DoEのラテン方格適用 (Mandl) PICT(Microsoft) ACTS(NIST)
1995 2000 2005 20101985 19901950 1960 1970 1980
品質工学
コミュニティ
ソフトウェア
品質/テスト
コミュニティ
日本
米国
[富士ゼロックス]
[富士通]
[AT&T]
[大阪大学]
計算論的アプローチ
代数的アプローチ (OA, CA)
[Bellcore]
日本の組み合わせテストの状況
 ソフトウェアテスト技術者のコミュニティ
 ASTER: Association of Software Test EngineeRing
• 特定非営利活動法人 ソフトウェアテスト技術振興協会
• ソフトウェアテスト専門技術者のボランティアによる組織運営
• 活動
– シンポジウム開催 - JaSST: Japan Symposium on Software Testing
– 資格認定試験 - JSTQB: Japan Software Testing Qualifications
Board, ISTQB会員
– 海外連携 - ASTA (アジア連携) / ISO-IEC (国際標準規格)
– 教育研修 – セミナー開催 / 教材公開 / 大学カリキュラム /
Test.SSF (スキル標準)
– 研究 – テストアーキテクチャ、バグ分析などの研究活動
(1/2)
11 (c) K. Tatsumi 2013
日本の組み合わせテストの状況
 組み合わせテストに関する論文や発表件数の推移
1984-’90: 9件, ’91-’95: 0件, ’96-’00: 6件, ’01-’05: 9件, ’06- : 31件
 組み合わせテストの実務への適用状況
(日本の主要IT企業5社のテスト技術者への聴き取り調査より)
 5社とも組み合わせテスト技法は導入済み
 使用ツール
• PICT, PictMaster, ACTS, HAYST, 自社製ツール
 課題
• 組み合わせ以前のテスト設計フェーズが重要
• 組み合わせテスト技法と他の同様のテスト技法の選択基準
 著名なツール
 HAYST法
 PictMaster
(2/2)
12 (c) K. Tatsumi 2013
HAYST 法
 概要
 直交表に基づくテスト技法
 富士ゼロックス社が2000年に開発
 ソフトウェアテストHAYST法入門を2007年に出版
 テストケース設計手法
 “FV表”を用いてテスト分析結果を整理
 “ラルフチャート” でテスト対象機能をモデル化
 “FL表” に因子・水準を抽出して整理
13 (c) K. Tatsumi 2013
(1/4)
<FV表> <FL表><ラルフチャート>
No. 目的機能 検証内容 テスト技法 No. 因子名 水準1 水準2 … 水準N
HAYST 法
 HAYST法ツール “MatrixTester”
 テンプレート(強度2, L4 - L256)から多水準直交表に変形
 禁則回避(制約条件)の処理
 部分組合せ保証(3, 4, 5 因子間)
 組合せ網羅率の算出
 適用状況
 MatrixTester
• 自社(560 ライセンス)及び社外(23 社, 160 ライセンス)で使用
– 製造業(自動車, 医療), 金融業, 流通業, 家電, 通信・放送機器, 化学 など
 入門書籍販売数
• 4000 部
14 (c) K. Tatsumi 2013
(2/4)
K. Akiyama et al., "Development and Evaluation of HAYST Method Tool," in Proc. SoMeT, 2010, pp.398-414.
http://www.hayst.com/Documents/HAYST-MethodTool.pdf (slides) http://www.hayst.com/Documents/20101001-SoMeT.pdf
HAYST 法
 MatrixTester : 入力 (因子, 水準, 禁則情報)
15 (c) K. Tatsumi 2013
(3/4)
Input type Explanation
Factor (Parameter) Name of parameter to be combined
Level (Value) List of values existing in parameter
Importance of factor Factors are grouped and it is possible to specify strength for group
Importance of level Importance of level (Weighting)
Constraint information Constraint condition in combination between levels
Assignment method Normal assignment, Partial combination assurance, rating assurance,
Level consolidation, Room technique, Strength 3, PICT calling
Detection bug
information
Type of bug
Specific factor Value generation type, Fixed value, Sequence number
Form style Form style at the time of Excel output
Auto execution support
information
Windows Dialog GUI information for auto execution
[禁則情報]
(Source: Koichi Akiyama, Fuji Xerox)
HAYST 法
 MatrixTester : 出力 (テストマトリクス)
16 (c) K. Tatsumi 2013
(4/4)
Type of output Explanation
Test matrix Result of assignment to orthogonal array
Test script Orthogonal array is output to Excel in script format in each line
Appearance status Appearance frequency and combination that does not appear
Rating Rating of combination between 2 factors and 3 factors
Round Robin table Round Robin table indicating appearance status of level combination
between 2 factors and 3 factors
Constraint graph Graph indicating hierarchical status of constraint and that data table
Test analysis result Result of analysis of existence position of bug based on the test result
(Source: Koichi Akiyama, Fuji Xerox)
PictMaster
 概要
 Excel ベースのGUIをもつペアワイズテストツール
 テストケース生成エンジンとして PICT を利用
 2008年に岩通ソフトの鶴巻氏が開発
 適用状況
 2008年公開以降, 累積ダウンロード数は20,000回以上
 岩通社内のビジネスホンシステムのシステムテスト
 車載OSのテスト
 大規模パッケージソフトウエア
 ダウンロード
http://en.sourceforge.jp/projects/pictmaster/releases/
17 (c) K. Tatsumi 2013
(1/2)
Mr. Tsurumaki can be contacted at LinkedIn "Combinatorial and Pairwise Testing" group.
http://www.linkedin.com/groups/Combinatorial-Pairwise-Testing-4243185
PictMaster
 主な機能
 GUI サポート
 制約表 (PICTの制約条件に変換)
 テスト期待結果表
18 (c) K. Tatsumi 2013
(2/2)
(Source: Toshiro Tsurumaki, IWATSU SYSTEM & SOFTWARE)
まとめ
 組み合わせテスト技法の開発の歴史からの学び
テスト技術の進化のためには以下が必要
 オープン性と協業(コラボレーション)
 ツールと方法論
 日本における課題
 テストプロセスの上流の強化
• テストアーキテクチャ設計, 入力モデリング
 多数のテスト技法から適切な技法を選択するための指針
• どのようなタイプのソフトウェアに組み合わせテスト技法を適用する
とよいのか?
19 (c) K. Tatsumi 2013

More Related Content

What's hot

Demystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextYasuharu Nishi
 
測試是什麼
測試是什麼測試是什麼
測試是什麼Yvonne Yu
 
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Masashi Umezawa
 
フィーチャモデルの描き方
フィーチャモデルの描き方フィーチャモデルの描き方
フィーチャモデルの描き方H Iseri
 
UTP(UML Testing Profile)概要紹介
UTP(UML Testing Profile)概要紹介UTP(UML Testing Profile)概要紹介
UTP(UML Testing Profile)概要紹介Noriyuki Mizuno
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -Hironori Washizaki
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~Hiroaki Matsunaga
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドHiroyuki Ito
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏Naoki Nakano
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろうscarletplover
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンHiroyuki Ito
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Hironori Washizaki
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうSayaka Nakano
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
テストの組み立て方
テストの組み立て方テストの組み立て方
テストの組み立て方kauji0522
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析崇 山﨑
 

What's hot (20)

Demystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
 
測試是什麼
測試是什麼測試是什麼
測試是什麼
 
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
Scrumの紹介とXPプロジェクトへの適用(Scrum and XP)
 
フィーチャモデルの描き方
フィーチャモデルの描き方フィーチャモデルの描き方
フィーチャモデルの描き方
 
UTP(UML Testing Profile)概要紹介
UTP(UML Testing Profile)概要紹介UTP(UML Testing Profile)概要紹介
UTP(UML Testing Profile)概要紹介
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~
 
アジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイドアジャイルメトリクス実践ガイド
アジャイルメトリクス実践ガイド
 
テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏テスト計画の立て方 WACATE2019 夏
テスト計画の立て方 WACATE2019 夏
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーンメトリクスによる「見える化」のススメ: エッセンシャル・リーン
メトリクスによる「見える化」のススメ: エッセンシャル・リーン
 
Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)Agile Quality アジャイル品質パターン (QA2AQ)
Agile Quality アジャイル品質パターン (QA2AQ)
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
テストの組み立て方
テストの組み立て方テストの組み立て方
テストの組み立て方
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 

Similar to 日本における組み合わせテスト - 歴史、適用状況、技法、ツール -

テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからKeizo Tatsumi
 
テスト自動化クロニクル (JaSST 東海 2016)
テスト自動化クロニクル (JaSST 東海 2016)テスト自動化クロニクル (JaSST 東海 2016)
テスト自動化クロニクル (JaSST 東海 2016)Keizo Tatsumi
 
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy Learning
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy LearningDiscriminative Deep Dyna-Q: Robust Planning for Dialogue Policy Learning
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy LearningTomoyasuOkada
 
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱い
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱いSSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱い
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱いHironori Washizaki
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Yasuharu Nishi
 
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービスAkio Miyoshi
 
20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べKazuhiro Suzuki
 
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)Keizo Tatsumi
 
HAZOP 3.0 Safety and Security 28 Q&A added version
HAZOP 3.0 Safety and Security 28 Q&A added versionHAZOP 3.0 Safety and Security 28 Q&A added version
HAZOP 3.0 Safety and Security 28 Q&A added versionKiyoshi Ogawa
 
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -Keizo Tatsumi
 
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)Hironori Washizaki
 
inet-lab introduction
inet-lab introductioninet-lab introduction
inet-lab introductionIsmail Arai
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~Kazuhiro Suzuki
 
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計Hironori Washizaki
 
システム開発のテスト メモリーツリー
システム開発のテスト メモリーツリーシステム開発のテスト メモリーツリー
システム開発のテスト メモリーツリーSE情報技術研究会
 
20180822_ICON技術セミナー6_星野森本
20180822_ICON技術セミナー6_星野森本20180822_ICON技術セミナー6_星野森本
20180822_ICON技術セミナー6_星野森本ICT_CONNECT_21
 
コンピュータのソフトとハードの境界、そしてIoTへ
コンピュータのソフトとハードの境界、そしてIoTへコンピュータのソフトとハードの境界、そしてIoTへ
コンピュータのソフトとハードの境界、そしてIoTへJunichi Akita
 
世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)Keizo Tatsumi
 
データモデルの更新を効率よく検証するの並列可能性
データモデルの更新を効率よく検証するの並列可能性データモデルの更新を効率よく検証するの並列可能性
データモデルの更新を効率よく検証するの並列可能性Jiachen Yang
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性Takahiro Katagiri
 

Similar to 日本における組み合わせテスト - 歴史、適用状況、技法、ツール - (20)

テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
テスト自動化クロニクル (JaSST 東海 2016)
テスト自動化クロニクル (JaSST 東海 2016)テスト自動化クロニクル (JaSST 東海 2016)
テスト自動化クロニクル (JaSST 東海 2016)
 
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy Learning
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy LearningDiscriminative Deep Dyna-Q: Robust Planning for Dialogue Policy Learning
Discriminative Deep Dyna-Q: Robust Planning for Dialogue Policy Learning
 
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱い
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱いSSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱い
SSR平成28年度成果報告会 クラウドを含む複雑なネットワークシステムのためのパターンを中心としたセキュリティ&プライバシ知識の扱い
 
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
(株)インサイト15年間の技術と経験の蓄積に基づいたサービス
 
20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ20181102_テスト管理を語る夕べ
20181102_テスト管理を語る夕べ
 
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
 
HAZOP 3.0 Safety and Security 28 Q&A added version
HAZOP 3.0 Safety and Security 28 Q&A added versionHAZOP 3.0 Safety and Security 28 Q&A added version
HAZOP 3.0 Safety and Security 28 Q&A added version
 
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
 
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
機械学習エンジニアリング・品質保証 (ESS2018招待講演 鷲崎弘宜)
 
inet-lab introduction
inet-lab introductioninet-lab introduction
inet-lab introduction
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
 
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
ソフトウェアパターン概論およびパターンを活用したアーキテクチャ設計
 
システム開発のテスト メモリーツリー
システム開発のテスト メモリーツリーシステム開発のテスト メモリーツリー
システム開発のテスト メモリーツリー
 
20180822_ICON技術セミナー6_星野森本
20180822_ICON技術セミナー6_星野森本20180822_ICON技術セミナー6_星野森本
20180822_ICON技術セミナー6_星野森本
 
コンピュータのソフトとハードの境界、そしてIoTへ
コンピュータのソフトとハードの境界、そしてIoTへコンピュータのソフトとハードの境界、そしてIoTへ
コンピュータのソフトとハードの境界、そしてIoTへ
 
世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)
 
データモデルの更新を効率よく検証するの並列可能性
データモデルの更新を効率よく検証するの並列可能性データモデルの更新を効率よく検証するの並列可能性
データモデルの更新を効率よく検証するの並列可能性
 
自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性自動チューニングとビックデータ:機械学習の適用の可能性
自動チューニングとビックデータ:機械学習の適用の可能性
 

More from Keizo Tatsumi

ソフトウェアテストの変遷と最近の品質管理の方向性
ソフトウェアテストの変遷と最近の品質管理の方向性ソフトウェアテストの変遷と最近の品質管理の方向性
ソフトウェアテストの変遷と最近の品質管理の方向性Keizo Tatsumi
 
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)Keizo Tatsumi
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向Keizo Tatsumi
 
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)Keizo Tatsumi
 
Timeline to the New Normal for Software Testing
Timeline to the New Normal for Software TestingTimeline to the New Normal for Software Testing
Timeline to the New Normal for Software TestingKeizo Tatsumi
 
ソフトウェアテスト年表 - テストのニューノーマルへの流れ
ソフトウェアテスト年表 - テストのニューノーマルへの流れソフトウェアテスト年表 - テストのニューノーマルへの流れ
ソフトウェアテスト年表 - テストのニューノーマルへの流れKeizo Tatsumi
 
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -Keizo Tatsumi
 
Introduction to ICST 2017
Introduction to ICST 2017Introduction to ICST 2017
Introduction to ICST 2017Keizo Tatsumi
 
ソフトウェアテスト年表-WACATE2015冬
ソフトウェアテスト年表-WACATE2015冬ソフトウェアテスト年表-WACATE2015冬
ソフトウェアテスト年表-WACATE2015冬Keizo Tatsumi
 
Test Automation - Past, Present and Future
Test Automation - Past, Present and FutureTest Automation - Past, Present and Future
Test Automation - Past, Present and FutureKeizo Tatsumi
 
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力Keizo Tatsumi
 
SQuBOKガイドで測る日本の実力(2007年12月10日)
SQuBOKガイドで測る日本の実力(2007年12月10日)SQuBOKガイドで測る日本の実力(2007年12月10日)
SQuBOKガイドで測る日本の実力(2007年12月10日)Keizo Tatsumi
 
Software testing magazines in the world
Software testing magazines in the worldSoftware testing magazines in the world
Software testing magazines in the worldKeizo Tatsumi
 
ソフトウェアテストの最新動向
ソフトウェアテストの最新動向ソフトウェアテストの最新動向
ソフトウェアテストの最新動向Keizo Tatsumi
 
How to Learn The History of Software Testing
How to Learn The History of Software Testing How to Learn The History of Software Testing
How to Learn The History of Software Testing Keizo Tatsumi
 
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219Keizo Tatsumi
 
Conceptual support for test case design (COMPSAC 87)
Conceptual support for test case design (COMPSAC 87)Conceptual support for test case design (COMPSAC 87)
Conceptual support for test case design (COMPSAC 87)Keizo Tatsumi
 
The genealogy of combinatorial testing
The genealogy of combinatorial testingThe genealogy of combinatorial testing
The genealogy of combinatorial testingKeizo Tatsumi
 
Combinatorial testing in Japan
Combinatorial testing in JapanCombinatorial testing in Japan
Combinatorial testing in JapanKeizo Tatsumi
 
The History of Software Engineering and Software Testing (World and Japan)
The History of Software Engineering and Software Testing (World and Japan)The History of Software Engineering and Software Testing (World and Japan)
The History of Software Engineering and Software Testing (World and Japan)Keizo Tatsumi
 

More from Keizo Tatsumi (20)

ソフトウェアテストの変遷と最近の品質管理の方向性
ソフトウェアテストの変遷と最近の品質管理の方向性ソフトウェアテストの変遷と最近の品質管理の方向性
ソフトウェアテストの変遷と最近の品質管理の方向性
 
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)SQuBOKの変遷 (SQuBOK V3発行記念イベント)
SQuBOKの変遷 (SQuBOK V3発行記念イベント)
 
ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向
 
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
ニューノーマル時代のテストエンジニアへの"food for thought" (JaSST'18 Kansai)
 
Timeline to the New Normal for Software Testing
Timeline to the New Normal for Software TestingTimeline to the New Normal for Software Testing
Timeline to the New Normal for Software Testing
 
ソフトウェアテスト年表 - テストのニューノーマルへの流れ
ソフトウェアテスト年表 - テストのニューノーマルへの流れソフトウェアテスト年表 - テストのニューノーマルへの流れ
ソフトウェアテスト年表 - テストのニューノーマルへの流れ
 
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
ソフトウェア品質技術の歴史を振り返る - ソフトウェア品質測定を中心に -
 
Introduction to ICST 2017
Introduction to ICST 2017Introduction to ICST 2017
Introduction to ICST 2017
 
ソフトウェアテスト年表-WACATE2015冬
ソフトウェアテスト年表-WACATE2015冬ソフトウェアテスト年表-WACATE2015冬
ソフトウェアテスト年表-WACATE2015冬
 
Test Automation - Past, Present and Future
Test Automation - Past, Present and FutureTest Automation - Past, Present and Future
Test Automation - Past, Present and Future
 
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力SQuBOKガイドV2で測る日本のソフトウェア品質技術力
SQuBOKガイドV2で測る日本のソフトウェア品質技術力
 
SQuBOKガイドで測る日本の実力(2007年12月10日)
SQuBOKガイドで測る日本の実力(2007年12月10日)SQuBOKガイドで測る日本の実力(2007年12月10日)
SQuBOKガイドで測る日本の実力(2007年12月10日)
 
Software testing magazines in the world
Software testing magazines in the worldSoftware testing magazines in the world
Software testing magazines in the world
 
ソフトウェアテストの最新動向
ソフトウェアテストの最新動向ソフトウェアテストの最新動向
ソフトウェアテストの最新動向
 
How to Learn The History of Software Testing
How to Learn The History of Software Testing How to Learn The History of Software Testing
How to Learn The History of Software Testing
 
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
 
Conceptual support for test case design (COMPSAC 87)
Conceptual support for test case design (COMPSAC 87)Conceptual support for test case design (COMPSAC 87)
Conceptual support for test case design (COMPSAC 87)
 
The genealogy of combinatorial testing
The genealogy of combinatorial testingThe genealogy of combinatorial testing
The genealogy of combinatorial testing
 
Combinatorial testing in Japan
Combinatorial testing in JapanCombinatorial testing in Japan
Combinatorial testing in Japan
 
The History of Software Engineering and Software Testing (World and Japan)
The History of Software Engineering and Software Testing (World and Japan)The History of Software Engineering and Software Testing (World and Japan)
The History of Software Engineering and Software Testing (World and Japan)
 

日本における組み合わせテスト - 歴史、適用状況、技法、ツール -

  • 1. 日本における組み合わせテスト ~ 歴史、適用状況、技法、ツール ~ 辰巳 敬三 富士通 / ASTER July 16, 2013 2017年8月に日本語に翻訳 1 (c) K. Tatsumi 2013 “Workshop on Combinatorial Testing for Complex Computer Systems” In conjunction with ICECCS 2013 July 16, 2013, Singapore
  • 2. 目次  組み合わせテスト技法の歴史の通説  実際の歴史  前史  富士通のメインフレームコンピュータの初期の歴史  富士通におけるテスト項目設計の手順  組み合わせテスト技法の誕生  実験計画法の適用  テスト項目設計支援システム  米国への組み合わせテスト技法の移転  組み合わせテスト技法の系譜  日本の組み合わせテストの状況  HAYST法  PictMaster  まとめ 2 (c) K. Tatsumi 2013
  • 3. 組み合わせテスト技法の歴史の通説 3 (c) K. Tatsumi 2013 Mandlの論文が 最初 ?? Jacek Czerwonka, Pairwise Testing Combinatorial Test Case Generation http://www.pairwise.org/
  • 4. 実際の歴史 (1957: デシジョンテーブル) ~1967: 同値分割、限界値分析 1970: 原因結果グラフ [Elmendorf] (1989~)1992: OATS [Brownlie, Prowse, Phadke] (1990~)1994: CATS [Sherwood] (1992~)1994: AETG [Cohen, et. al] AT&T, Bellcore 1980 1990 2000 20101950 1960 1970 ‘85 ‘95 ‘05 組み合わせ手法 1984: 直交配列表 / 組み合わせ表 [佐藤, 下川] 2000: CTE XL [Daimler Chrysler] 1987: Test Case Design Support System [Tatsumi] 1985: Orthogonal Latin Squares [R. Mandl] 1988: Category-partition method [Ostrand, Balcer] (1976: テスト要因分析手法) [富士通] 入力条件分析手法 1993: Classification-tree method [Grochtmann, Grimm] 2007: FireEye 2009:ACTS (IPOG) [Lei, Kuhn] (2000~)2004: PICT [Microsoft] 富士通 <テスト技法> 4 (c) K. Tatsumi 2013 (*1) 佐藤忍, 下川浩樹, 実験計画法を用いたソフトウェアのテスト項目設定法, 第4回SPCシンポジウム発表報文集, pp.1-8, 日科技連, 1984 (*1)
  • 5. (c) K. Tatsumi 20135 前史  富士通のメインフレームコンピュータの初期の歴史 M. A. Cusumano, "Japan's Software Factories: A Challenge to U.S. Management," Oxford University Press, 1991 K. Tatsumi, The History of Software Engineering and Software Testing - World and Japan - http://a-lifelong-tester.cocolog-nifty.com/Chronology/ChronologyEng.html ‘65 1970 1980 ‘85‘75 1990‘55 1960 FACOM 100 FACOM 128A FACOM 222 FACOM 230series FACOM 230-60 Amdahl 470V/6 FACOM M-190 FACOM M-200 FACOM M-380 FACOM M-780 FUJITSU M-1800 1954 1958 1961 1964 1968 1975 1978 1976 1981 1985 1990 FACOM 128B 1956 リレー トランジスタ IC (集積回路) FACOM 230-75 1970 1973 FACOM 230-8series LSI ALGOL compiler FORTRAN compiler Data communications MCP II (for 230-20/30) 1960 1963 1965 MONITOR V (large-scale) 1968 TSS PL/I compiler BOS (mid-scale) 1971 1969 COBOL compiler DB/DC BOS/VS OSII/VS 1974 MONITOR VI/VII 1975 OSIV/F4 (M-series OS) 1977 1982 OSIV/F4 MSP 1981 OSIV/F2 ESP 1983 OSIV/X8 FSP OSIV/F2 OSIV/X8 RDB AIM (Online DB) オペレーティング・システム ネットワーク, DB/DC コンパイラ 1966 MONITOR II (for 230-50) OSII 1989 OSIV/MSP (MSP-EX) 1990 OSIV/FSP 1966 プログラム開発部門の創設 1968 プログラム試験課の設置 1974 ソフトウェア事業部門の設立
  • 6. (c) K. Tatsumi 20136 前史  富士通におけるテストケース設計の手順 (1970年代初めより) Step1. テスト分類 • テスト対象の機能を小さく分割する Step2. テスト要因分析 • 外部仕様書から、入力条件と動作環境条 件(因子)、それらが取りうる値(状態)を抽出 する Step3. テストケース作成 • 因子と状態を組み合わせてテストケースを 作成する Step4. テスト結果の定義 • 各テストケースの期待結果を定義する fooコマンド [機能] [入力形式] ・・・・・ 1. ・・・ 2. ・・・ <外部仕様書> <テスト要因分析表> A B C D 1 a1 b1 c1 d1 2 a2 b2 c2 d2 3 a3 c3 d3 4 c4 状態 因子 <テストケース表> 因子 A B C D テストケース1 a1 b1 c1 d1 テストケース2 a2 b2 c3 d2 テストケースn a3 b1 c4 d3
  • 7. (c) K. Tatsumi 20137 組み合わせテスト技法の誕生  実験計画法の適用 原因結果グラフと同様の制約条件 - 排他 - 包含 - 一つのみ 辰巳のCOMPSAC‘87 発表スライドより (1983-1984)
  • 8. (c) K. Tatsumi 20138 組み合わせテスト技法の誕生  テストケース設計支援システム (1986-1987)  テスト設計プロセスの支援 • テスト分類からテストケース作 成のフェーズまでを支援 • テスト仕様書の管理や改訂の 支援  支援機能の改良 • テストケース生成アルゴリズム • 制約条件の処理 – 状態-状態間, 因子-状態間, 因子-因子間 » 排他的組み合わせ » 組み合わせなし » 必要な組み合わせ » 状態のグルーピング 辰巳のCOMPSAC‘87 発表スライドより
  • 9. (c) K. Tatsumi 20139 米国への組み合わせテスト技法の移転  英語論文の発表  T. Yoshida, “Attaining Higher Quality in Software Development - Evaluation in Practice”, FSTJ, 1985  K. Tatsumi, "Conceptual Support for Test Case Design", COMPSAC'87  K. Tatsumi, "Test Case Design Support System", ICQC'87 T. Yoshida, "Attaining Higher Quality in Software Development - Evaluation in Practice -", Fujitsu Scientific and Technical Journal, Vol.21, pp.305-316, 1985 吉田 征, 技術の伝承と移転-芸術と技術と人間との接点からの発想, pp.113-114, 日科技連出版, 1994  米国AT&T社への紹介(1989年) (吉田氏の著書より)  吉田は富士通のジャーナル(FSTJ)に掲載された論文を読んだAT&T社の人か ら、実験計画法(DoE)の適用方法を教えて欲しいと依頼を受けていた  日科技連の第1次ソフトウェア製品品質管理調査団の一員として海外視察に 参加した際、視察途中の1989年4月30日にニュージャージー州Somersetの Marriottホテルで吉田らはAT&T社の技術者達とのミーティングをもち説明した  この時、説明資料の一つとして辰巳がICQC'87で発表した論文のコピーが提 供された
  • 10. 組み合わせテスト技法の系譜 10 (c) K. Tatsumi 2013 1920-1930 実験計画法(DoE) (Fisher) 1940 直交表 (Rao) 品質工学 (田口) u <企業> 品質工学フォーラム(学会)設立 品質工学誌に「ソフトウェア開発のためのロバスト・テスティング法」を寄稿 (Phadke) ソフトウェアテストへの適用(田口) ソフトウェアテストへの適用事例 (エプソン、ミノルタ、松下電工) 米国で直交表を HAYST法開発開始 HAYST法発表 入門書籍出版 ツール外販開始 ソフトウェアテストに適用 ソフトウェアテストに 実験計画法を適用 Test Case Design Support System (辰巳) 富士通英文ジャーナル(FSTJ)誌に論文掲載 PictMaster (岩通ソフト) 適用事例 (NEC, IBM Japan) <アカデミア> 組み合わせ論理 遺伝アルゴリズム(GA)適用 CIT-BACH u u "Taguchi methods"と命名される 品質工学の紹介 (Xerox, Bell研) u 富士通からAT&Tに技術紹介 OATS (Brownlie, Phadke et.al.) CATS (Sherwood) AETG (Cohen et.al.) Adaコンパイラのテストに DoEのラテン方格適用 (Mandl) PICT(Microsoft) ACTS(NIST) 1995 2000 2005 20101985 19901950 1960 1970 1980 品質工学 コミュニティ ソフトウェア 品質/テスト コミュニティ 日本 米国 [富士ゼロックス] [富士通] [AT&T] [大阪大学] 計算論的アプローチ 代数的アプローチ (OA, CA) [Bellcore]
  • 11. 日本の組み合わせテストの状況  ソフトウェアテスト技術者のコミュニティ  ASTER: Association of Software Test EngineeRing • 特定非営利活動法人 ソフトウェアテスト技術振興協会 • ソフトウェアテスト専門技術者のボランティアによる組織運営 • 活動 – シンポジウム開催 - JaSST: Japan Symposium on Software Testing – 資格認定試験 - JSTQB: Japan Software Testing Qualifications Board, ISTQB会員 – 海外連携 - ASTA (アジア連携) / ISO-IEC (国際標準規格) – 教育研修 – セミナー開催 / 教材公開 / 大学カリキュラム / Test.SSF (スキル標準) – 研究 – テストアーキテクチャ、バグ分析などの研究活動 (1/2) 11 (c) K. Tatsumi 2013
  • 12. 日本の組み合わせテストの状況  組み合わせテストに関する論文や発表件数の推移 1984-’90: 9件, ’91-’95: 0件, ’96-’00: 6件, ’01-’05: 9件, ’06- : 31件  組み合わせテストの実務への適用状況 (日本の主要IT企業5社のテスト技術者への聴き取り調査より)  5社とも組み合わせテスト技法は導入済み  使用ツール • PICT, PictMaster, ACTS, HAYST, 自社製ツール  課題 • 組み合わせ以前のテスト設計フェーズが重要 • 組み合わせテスト技法と他の同様のテスト技法の選択基準  著名なツール  HAYST法  PictMaster (2/2) 12 (c) K. Tatsumi 2013
  • 13. HAYST 法  概要  直交表に基づくテスト技法  富士ゼロックス社が2000年に開発  ソフトウェアテストHAYST法入門を2007年に出版  テストケース設計手法  “FV表”を用いてテスト分析結果を整理  “ラルフチャート” でテスト対象機能をモデル化  “FL表” に因子・水準を抽出して整理 13 (c) K. Tatsumi 2013 (1/4) <FV表> <FL表><ラルフチャート> No. 目的機能 検証内容 テスト技法 No. 因子名 水準1 水準2 … 水準N
  • 14. HAYST 法  HAYST法ツール “MatrixTester”  テンプレート(強度2, L4 - L256)から多水準直交表に変形  禁則回避(制約条件)の処理  部分組合せ保証(3, 4, 5 因子間)  組合せ網羅率の算出  適用状況  MatrixTester • 自社(560 ライセンス)及び社外(23 社, 160 ライセンス)で使用 – 製造業(自動車, 医療), 金融業, 流通業, 家電, 通信・放送機器, 化学 など  入門書籍販売数 • 4000 部 14 (c) K. Tatsumi 2013 (2/4) K. Akiyama et al., "Development and Evaluation of HAYST Method Tool," in Proc. SoMeT, 2010, pp.398-414. http://www.hayst.com/Documents/HAYST-MethodTool.pdf (slides) http://www.hayst.com/Documents/20101001-SoMeT.pdf
  • 15. HAYST 法  MatrixTester : 入力 (因子, 水準, 禁則情報) 15 (c) K. Tatsumi 2013 (3/4) Input type Explanation Factor (Parameter) Name of parameter to be combined Level (Value) List of values existing in parameter Importance of factor Factors are grouped and it is possible to specify strength for group Importance of level Importance of level (Weighting) Constraint information Constraint condition in combination between levels Assignment method Normal assignment, Partial combination assurance, rating assurance, Level consolidation, Room technique, Strength 3, PICT calling Detection bug information Type of bug Specific factor Value generation type, Fixed value, Sequence number Form style Form style at the time of Excel output Auto execution support information Windows Dialog GUI information for auto execution [禁則情報] (Source: Koichi Akiyama, Fuji Xerox)
  • 16. HAYST 法  MatrixTester : 出力 (テストマトリクス) 16 (c) K. Tatsumi 2013 (4/4) Type of output Explanation Test matrix Result of assignment to orthogonal array Test script Orthogonal array is output to Excel in script format in each line Appearance status Appearance frequency and combination that does not appear Rating Rating of combination between 2 factors and 3 factors Round Robin table Round Robin table indicating appearance status of level combination between 2 factors and 3 factors Constraint graph Graph indicating hierarchical status of constraint and that data table Test analysis result Result of analysis of existence position of bug based on the test result (Source: Koichi Akiyama, Fuji Xerox)
  • 17. PictMaster  概要  Excel ベースのGUIをもつペアワイズテストツール  テストケース生成エンジンとして PICT を利用  2008年に岩通ソフトの鶴巻氏が開発  適用状況  2008年公開以降, 累積ダウンロード数は20,000回以上  岩通社内のビジネスホンシステムのシステムテスト  車載OSのテスト  大規模パッケージソフトウエア  ダウンロード http://en.sourceforge.jp/projects/pictmaster/releases/ 17 (c) K. Tatsumi 2013 (1/2) Mr. Tsurumaki can be contacted at LinkedIn "Combinatorial and Pairwise Testing" group. http://www.linkedin.com/groups/Combinatorial-Pairwise-Testing-4243185
  • 18. PictMaster  主な機能  GUI サポート  制約表 (PICTの制約条件に変換)  テスト期待結果表 18 (c) K. Tatsumi 2013 (2/2) (Source: Toshiro Tsurumaki, IWATSU SYSTEM & SOFTWARE)
  • 19. まとめ  組み合わせテスト技法の開発の歴史からの学び テスト技術の進化のためには以下が必要  オープン性と協業(コラボレーション)  ツールと方法論  日本における課題  テストプロセスの上流の強化 • テストアーキテクチャ設計, 入力モデリング  多数のテスト技法から適切な技法を選択するための指針 • どのようなタイプのソフトウェアに組み合わせテスト技法を適用する とよいのか? 19 (c) K. Tatsumi 2013