SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
1
テスト自動化クロニクル
辰巳 敬三
2016年12月2日
JaSST'16 Tokai
(C) Keizo Tatsumi 2016
~ デジタルビジネス時代の今、
テスト自動化の背景と歴史を振り返る ~
2
自己紹介
 経歴
1976年 富士通入社、ソフトウェア事業部検査部
~1990年 メインフレームOS の製品検査、品質保証
~1999年 UNIX/PC のソフトウェア製品の検査、品質保証
~2009年 社内システム支援、サービスビジネス、知財・特許
2009年~2016年 高度情報通信人材育成支援センター(現CeFIL)に出向
 執筆活動 (昔 1987~1990)
富士通のソフトウェア品質保証活動(共著)(1987年)
Conceptual Support for Test Case Design(COMPSAC'87)
Test Case Design Support System(ICQC’87)
富士通におけるソフトウェア品質保証の実際(共著)(1989年)
ソフトウェア品質管理ガイドブック(共著)(1990年)
ソフトウェア品質管理事例集(共著)(1990年)
(最近 2007~)
ソフトウェア品質知識体系ガイド(SQuBOK)(共著)(2007年)
ソフトウェアテスト・ヒストリー[テストPRESS Vol.8](2009年)
続ソフトウェアテスト・ヒストリー[テストPRESS Vol.9](2009年)
100人のプロが選んだソフトウェア開発の名著(共著)(2012年)
執筆タイトル : ソフトウェアテストにはライフワークの価値がある
Combinatorial Testing in Japan(AWCT2013)
ソフトウェア品質知識体系ガイド(SQuBOK) V2(共著)(2014年)
初級ソフトウェア品質技術者資格試験 問題と解説 第2版(共著)(2015年)
(C) Keizo Tatsumi 2016
3
自己紹介
 コミュニティ活動
日科技連 SQuBOK策定部会
ソフトウェアテスト技術振興協会(ASTER) 国際調査活動 ICST参加レポート
ICST 2017@Tokyo運営委員会
Social Networking Chair
組み合わせテスト・ワークショップ(IWCT 2017) プログラム委員
 JaSST東海との関わり
・沼津市に在住
・私も東海エリアの一員です(^^)v
(C) Keizo Tatsumi 2016
4
目次
I. 何故、今、テスト自動化なのか
II. テスト自動化の歴史
III.テスト自動化のこれから
(C) Keizo Tatsumi 2016
5
I. 何故、今、テスト自動化なのか
1. 社会基盤の変化:Internet Trends
2. 経営層の意識:IBM Global C-suite Study
3. IT担当幹部の意識:World Quality Report
4. テスターの現場:State of Testing Survey
(C) Keizo Tatsumi 2016
6
Internet Trends
[出典] http://www.kpcb.com/internet-trends
 Mary Meeker
元ウォールストリートの証券アナリスト
現在はベンチャーキャピタリストでクラ
イナーパーキンスのパートナー
インターネット分野の分析の第一人者
213スライド
あります!!
(C) Keizo Tatsumi 2016
7
世界の42%がインターネット利用者
[出典] Internet Trends 2015, 2016 http://www.kpcb.com/internet-trends
1995年に1%未満(3,500万人)だった
利用者が2015年には42%(30億人)に
(C) Keizo Tatsumi 2016
8
インターネット利用の76%がスマートフォン
[出典] Internet Trends 2015 http://www.kpcb.com/internet-trends
モバイルの30%が
スマートフォン
(C) Keizo Tatsumi 2016
9
1日のインターネット利用時間 (米国)
[出典] Internet Trends 2015 http://www.kpcb.com/internet-trends
モバイル機器から
の利用が増加
(利用時間の
半分を超える)
(C) Keizo Tatsumi 2016
10
メディア使用時間 vs. 広告費 (米国)
[出典] Internet Trends 2016 http://www.kpcb.com/internet-trends
モバイル広告
のビジネスの
余地が大きい
(C) Keizo Tatsumi 2016
11
ソーシャルメディアの利用状況 (米国)
[出典] Internet Trends 2015 http://www.kpcb.com/internet-trends
若者の
Facebook
離れ
(C) Keizo Tatsumi 2016
12歳~24歳 10代が重
要視する
SNS
12
Re-imagination
[出典] Internet Trends 2014 http://www.kpcb.com/internet-trends
 既存ビジネスモデルを『再想像』 (デジタル技術を使って)
(C) Keizo Tatsumi 2016
13
IBM Global C-suite Study
 IBMが2003年から隔年で実施している経営者層の調査
調査概要(2015年)
70ヶ国超、21業界・業種の5,247人の経営者へ
のインタビュー
北米-1,112, 中南米-612, 西ヨーロッパ-1,195,
中東・アフリカ-566, 中欧・東欧-357, アジア太平
洋地域-829, 日本-576
CEO-818, CMO-723, CHRO-601, CIO-1,805,
CFO-643, COO-657
6つの異なる役割の経営者の視点から分析
CEOの視点:破壊者との競争と共創
CMOの視点:新たな顧客体験の創出
CHROの視点:異才との共創と覚醒
CIOの視点:知のネットワーク創造
CFOの視点:未来価値の創造
COOの視点:自律×共創 新たなエコシステム
[出典] IBM - グローバル経営層スタディ http://www-935.ibm.com/services/jp/ja/c-suite/
(C) Keizo Tatsumi 2016
14
経営者の意識の変化
 CEOはテクノロジーの重要性を強く認識するようになった
顧客接点におけるデジタル・テクノロジーの活用が進む
[出典] IBM - グローバル経営層スタディ http://www-935.ibm.com/services/jp/ja/c-suite/
(C) Keizo Tatsumi 2016
15
経営者の意識の変化
 デジタル企業による既存秩序の破壊
経営者はアウトサイダーが自社の領域に入ってくることを危惧
[出典] IBM - グローバル経営層スタディ http://www-935.ibm.com/services/jp/ja/c-suite/
(C) Keizo Tatsumi 2016
16
ビジネス・キーワード
 デジタルビジネス (Digital Business)
デジタルの世界と物理的な世界の境界を曖昧にすることによって、新し
いビジネス・デザインを創造すること [Gartner]
 デジタル・ディスラプション (Digital Disruption)
デジタルテクノロジーによる破壊的イノベーション
 デジタル・トランスフォーメーション (Digital Transformation)
ビジネスのデジタル化、デジタルへの変革
 Re-imagination
これまでのビジネスモデルを新しい方法で再想像(創造)
 SMAC (デジタル化の技術)
Social media, Mobile, Analytics (Big Data), Cloud
IoTも含めると SMACT
(C) Keizo Tatsumi 2016
17
World Quality Report
 Capgemini, Sogeti, HPが共同で2009年から毎年調査
調査概要
32ヶ国、1,600人のIT業務担当上級幹部への
インタビュー(44項目、2016年4月~5月に実施)
※従業員1,000人以上の企業の幹部
北米-300, 南米-80, 西欧-425, 北欧-165, 英国
/アイルランド-150, 東欧-90, 南欧-105, 中東-60,
東南アジア-100, 日本-35, 豪州/NZ-90
CIO-434, IT Directors-363, VP Applications-
290, CTO/Product Head-88, CMO/CDO-98,
QA/Test Manager-327
レポートの内容(80ページ)
品質保証とテストの最新動向
業種別分析
[出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17
(C) Keizo Tatsumi 2016
18
品質保証とテストの動向
 デジタル・トランスフォーメーション
より良い顧客体験の実現のためのビジネスモデルの破壊
 IoTとセキュリティのテスト
品質とセキュリティの必要性の拡大
 アジャイルとDevOps
スピード、品質、コストの要件を満たすインテリジェンス主導のテストへ
 工業化とテストセンター(Testing Centers of Excellence)
インテリジェンス主導のテストアプローチへの転換の反映
 テスト環境とテストデータ管理
アジャイルとDevOpsにおける品質の鍵となるイネーブラー
 品質保証とテストの予算
テストの支出の把握
[出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17
(C) Keizo Tatsumi 2016
19
品質保証とテストの予算
[出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17
 IT予算に占める品質保証とテストの予算の割合の増加
2016年は前年から減少するも、2019年には40%になるとの予想
(C) Keizo Tatsumi 2016
20
品質保証とテストの予算
[出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17
 品質保証とテストの予算の増加の背景
トップ3は、開発量・リリースの増加、アジャイル・DevOps導入に伴うテ
スト繰り返しサイクルの増加、テスト環境に関する課題の増加
(C) Keizo Tatsumi 2016
21
State of Testing Survey
 PractiTest社のJoel Montvelisky氏とTea-Time with
Tester誌のLalit Bhamare氏による調査(2013年、2015年、2016年)
第3回の調査概要(2016年1月~2月に実施)
回答者数:1000人強(60数ヶ国)
ヨーロッパ/ロシア-48%, 米国/カナダ-21%, インド
-11%, アジア(インド以外)-7%, その他-4%, ラテン
アメリカ-3%, オーストラリア/ニュージーランド-3%, 中東-
2%, アフリカ-1%
回答者テスト経験:
1年未満-5%, 1~2年-10%, 2~5年-25%, 5~10年
-28%, 10年以上-31%
主なレポート内容 (20ページ)
開発モデル, テストアプローチ, 役割, テスト用ド
キュメント, テスト自動化状況
給与, 必要なスキル, 学習方法, 将来展望
[出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/
(C) Keizo Tatsumi 2016
22
テスターに必要なスキル
 良いテスターになるにはどのようなスキルが必要ですか?
[出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/
機能テスト自動化のスキル
の必要性が高い
2016年- 2位(非常に重要61%)
2015年- 2位(非常に重要65%)
2013年- 4位(非常に重要53%)
(C) Keizo Tatsumi 2016
23
テスト自動化の状況
 テスト自動化の状況
 自動化している作業
 自動化の程度
[出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/
(C) Keizo Tatsumi 2016
24
何故、今、テスト自動化なのか
1. 社会基盤の変化:Internet Trends
2. 経営層の意識:IBM Global C-suite Study
3. IT担当幹部の意識:World Quality Report
4. テスターの現場:State of Testing Survey
(C) Keizo Tatsumi 2016
25
II. テスト自動化の歴史
1. 1960年代:テスト自動化の事始め
2. 1970年代:自動検証システム
3. 1980年代:UNIX, PCのツール
4. 1990年代:インターネット/WEBへ
5. 2000年代:OSSツール/モバイルへ
(C) Keizo Tatsumi 2016
▲ ▲ ▲ ▲
EDSAC(最初のノイマン型コンピュータ) IBM System/360 IBM System/370 Cray-1(スパコン)
▲ ▲ ▲ ▲ ▲
UNIVAC1(世界初の商用コンピュータ) DEC PDP-1 DEC PDP-8 Apple PC IBM PC
▲ ▲ ▲
IBM 701 IBM 704 Intel 4004MPU
(科学演算用) ●
(Apple社設立) (Sun Microsyste
▲ ▲ ▲ ▲
OS/360 UNIX CP/M MS-DOS
(4004MPU用OS)
▲ ▲ ▲ ▲ ▲ ▲ ▲
SpeedCode FORTRAN FORTRAN COBOL LISP PL/I C言語 ▲
開発開始 ▲ ALGOL Smalltalk-72 Smalltalk-80
FLOW-MATIC
●
(Microsoft社設立)
1965 19701950 1955 1960 1975 1980
26
-1960年代- テスト自動化の事始め
 テスト自動化の最初(?)の論文
1962年 Automatic Program Testing (Renfer、IBMカナダ)
Program Testing Packageによるテスト手順の標準化と計算機時間効率化
内容 : ファイル生成機能 (テープ、ディスク)
印刷機能 (メモリ、メモリ・スナップショット、テープ)
トレース (ディスクファイル、ブランチトレース)
プログラマが用意した操作指示カードから操作指示書の生成
(C) Keizo Tatsumi 2016
1957, Digital Computer Programming
(McRacken)
•最も初期のプログラミング教科書
•”Program Checkout”の章でデバッグや
テストを説明
1961, Computer Programming Fundamentals
(Leeds & Weinberg)
•IBM社のLeedsとWeinbergが書籍
•初めて"Program Testing"の章が設けられた
27
-1970年代- 自動検証システム
ソフトウェア危機
1968年,1969年 NATO Software Engineering
ソフトウェア開発(Production)におけるToolsも主検討テーマ
テストの自動化への取り組み
1972年 Program Test Methods
最初のテストのシンポジウム、最初のテストの書籍
テストの自動化に関する論文
 Automated Software Quality Assurance (TRW)
 A Software Testing Control System (IBM)
自動検証システム (Automated verification system)
PACE (Product Assurance Confidence Evaluator) [TRW社,1972]
PET (Program Evaluater and Tester) [McDonnell Douglas社,1972]
RXVP [General Research社,1974]
(C) Keizo Tatsumi 2016
28
-1970年代- ソフトウェアツールの拡大
最初のソフトウェアツールのリスト (D. Reifer)
1975年 Automated Aids for Reliable Software
1977年 A Glossary of Software Tools & Techniques
テスト実行時ツール
Automated Test Generator
NASA ATDG
Automated Verification System
RXVP, PET, PACE
Environment simulator
Test Drivers, Scripts, Data Generators
Test-Results Processor
(C) Keizo Tatsumi 2016
29
-1970年~1980年代- 日本の状況
メインフレーム・ソフトウェア検査部門のテストツール
(筆者の所属部門の例、1990年頃の一覧で大小合わせて約70種のツール)
シミュレータ
MTS (Multi Terminal Simulator)
多端末(数,種類,プロトコル)、キャプチャリプレイ
HTS (Hardware Trouble Simulator)
ハードウェア障害の疑似発生
リグレッションテスト自動化
テストプログラムの蓄積・管理・実行
修正に応じたテストプログラムの抽出
テストデータ、データベース生成
テスト結果判定
正解集との比較
メッセージ/完了コード判定
テスト生成
コンパイラテストの自動生成
テスト項目設計支援システム(ATAF)
負荷/ストレス
メモリ占有、割り込み発生
システム操作コマンドの発行
システム状況表示/編集
メモリ/ディスク使用状況表示
ログ、トレース編集
製品機能の利用
ジョブ制御文(JCL)マクロ
トレース(I/O、ネットワーク)
自動運転機能
その他
残存バグ予測
障害レポート管理(発行,回答,修正)
媒体形式チェック
(C) Keizo Tatsumi 2016
30
-1980年代中盤- UNIX, PCのツール
UNIX、PC上のテスト自動化ツールの出現
1985年 AutoTester社 (Randy & Linda Hayes)
最初のPC上のテスト自動化ツールAutoTesterを開発
1986年 Performance Awareness社 (1997年にRationalが買収)
preVue 出荷 (capture-replay, 性能測定、multi-user testingなど)
1989年 Mercury Interactive社 (2006年にHPが買収)
1991年に最初の製品を出荷
▲ ▲
IBM System/370 Cray-1(スパコン)
▲ ▲ ▲
Apple PC IBM PC ▲ Apple Macintosh
▲ Sun-1 ▲ ▲
Intel 4004MPU Sun SPARC Intel Pentium Pro
● ●
(Apple社設立) (Sun Microsystems社設立)
▲ ▲ ▲ ▲ ▲ ▲
UNIX CP/M MS-DOS UNIX System V Linux Windows NT
(4004MPU用OS) Netware ▲ ▲ ▲
▲ ▲ Windows 3.1 ▲ J2EE .NET
C言語 ▲ C++ ▲ Java
Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer
▲ Netscape ▲
● ● HTML/HTTP/WWW XML ●
(Microsoft社設立) (Free Software Foundation) (Apache Software Foundation)
1970 20001975 1980 1985 1990 1995
(C) Keizo Tatsumi 2016
31
-1990年代- インターネット/WEBへ
▲ ▲
IBM System/370 Cray-1(スパコン)
▲ ▲ ▲
Apple PC IBM PC ▲ Apple Macintosh
▲ Sun-1 ▲ ▲
Intel 4004MPU Sun SPARC Intel Pentium Pro
● ●
(Apple社設立) (Sun Microsystems社設立)
▲ ▲ ▲ ▲ ▲ ▲
UNIX CP/M MS-DOS UNIX System V Linux Windows NT
(4004MPU用OS) Netware ▲ ▲ ▲
▲ ▲ Windows 3.1 ▲ J2EE .NET
C言語 ▲ C++ ▲ Java
Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer
▲ Netscape ▲
● ● HTML/HTTP/WWW XML ●
(Microsoft社設立) (Free Software Foundation) (Apache Software Foundation)
1970 20001975 1980 1985 1990 1995
UNIX、PC、更にインターネット/WEBに展開
Mercury Interactive社の場合
1991年 XRunner<UNIX>
1993年 WinRunner<PC>, LoadRunner<UNIX>
1996年 WebTest
1999年 QuickTest
(C) Keizo Tatsumi 2016
32
-1990年代- 商用ツールの増加
▲ ▲
IBM System/370 Cray-1(スパコン)
▲ ▲ ▲
Apple PC IBM PC ▲ Apple Macintosh
▲ Sun-1 ▲ ▲
Intel 4004MPU Sun SPARC Intel Pentium Pro
● ●
(Apple社設立) (Sun Microsystems社設立)
▲ ▲ ▲ ▲ ▲ ▲
UNIX CP/M MS-DOS UNIX System V Linux Windows NT
(4004MPU用OS) Netware ▲ ▲ ▲
▲ ▲ Windows 3.1 ▲ J2EE .NET
C言語 ▲ C++ ▲ Java
Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer
▲ Netscape ▲
● ● HTML/HTTP/WWW XML ●
(Microsoft社設立) (Free Software Foundation) (Apache Software Foundation)
1970 20001975 1980 1985 1990 1995
商用ツールの増加
1987年 SQE tools catalogue (米国で利用可能なツール)
認定製品数: 1987年-50、1991年初-146、1991年末-190
1991年 The CAST Report 1st Ed. (Graham)
(英国で)利用可能な商用テストツールの一覧と解説を記載
82製品を掲載 cf. 1989年は25製品(英国計算機センターのリスト)
CAST : Computer Aided
Software Testing
[出典] D. Graham, "Software Testing Tools: A New Classification Scheme," 1991
(C) Keizo Tatsumi 2016
33
-1990年代- 商用ツールの増加
テストツールのタイプ別本数
米国空軍系のSTSC (Software Technology Support Center)の報告書(1994)
207社/421製品が掲載 (メインフレーム/プロプライアタリは約50製品)
テストツールのタイプ 概要 本数
Auditor 監査ツール 53
Capture-Replay Tool キャプチャ・リプレイ・ツール 58
Comparator 比較ツール 22
Complexity Measurer 複雑度測定ツール 76
Coverage/Frequency Analyzer 網羅率・頻度解析ツール 62
Cross Referencing Tool 相互参照ツール 93
Defect/Change Tracker 欠陥・変更追跡ツール 41
Performance/Timing Analyzer 性能・タイミング解析ツール 74
Requirements-Based Test Case Generator 要求ベーステストケース生成ツール 9
Run-Time Error Checker 実行時エラーチェッカー 25
Size Measurer 規模測定ツール 58
Structure Checker 構造チェッカー 125
Syntax & Semantics Analyzer 文法・意味解析ツール 81
Test Execution Manager テスト実行管理ツール 68
注)複数の機能(タイ
プ)をもつ製品はそれ
ぞれのタイプで重複
してカウントしている
(C) Keizo Tatsumi 201633
34
-1990年代- テストツールの体系化
テストツールの分類の変遷
1991年 D. Graham氏のテストツール分類の提案
[出典] D. Graham, "Software Testing Tools: A New Classification Scheme," 1991
Ramamoorthy
1978
DeMillo et. Al
1987
SQE
1987-91
CAST
1991
- - Test Management Test Management TM: Test Management 7小分類
- - Cap Playback
- Input Generation
- Test Database
Static Analysis
Evaluation
Static Analysis Static Measurement Verification
NE: Non-Execution
Evaluation
7小分類
Dynamic Comparator Dynamic Measurement Comparator
System Design Analysis Simulator Simulator
- Test Harness
- - Debugging
TA: Test Analysis
(debugging)
11小分類
Dynamic Analysis Program Instrumentors
Test Coverage
Instrumentors
TQ: Test Quality
Evaluation
7小分類
6小分類
9小分類
New Classification
1991
Test Data Generators
Test Drivers
Data Acquisition
Dynamic Measurement
TD: Test Design
TE: Test Execution
(test running)
(C) Keizo Tatsumi 201634
35
-1990年代- テスト自動化技術の確立
テスト自動化の書籍
1995年 Automated Testing Handbook
(L. Hayes)
最初のテスト自動化の書籍と言われている
1996年 Automating Specification-Based
Software Testing (R. Poston)
1999年 Automated Software Testing
(E. Dustin et al.)
2002年に翻訳版出版(ピアソンエデュケーション)
1999年 Software Test Automation
(M. Fewster & D. Graham)
2014年に翻訳版出版(テスト自動化研究会, 翔泳社)
(C) Keizo Tatsumi 2016
36
-2000年代- OSSツール/モバイルへ
テスト自動化ツールの対象の変遷
▲ ▲ ▲ ▲
IBM PC ▲ Apple Macintosh iPhone iPad
Sun-1 ▲ ▲
Sun SPARC Intel Pentium Pro
●
(Sun Microsystems社設立)
▲ ▲ ▲ ▲
MS-DOS UNIX System V Linux Windows NT ▲
Netware ▲ ▲ ▲ Android
▲ Windows 3.1 ▲ J2EE .NET ▲
▲ C++ ▲ Java ▲ Ajax
Smalltalk-80 Eiffel ▲ ▲Internet Explorer Ruby on Rails
▲ Netscape ▲ ▲
● HTML/HTTP/WWW XML ● SOAP ●
(Free Software Foundation) (Apache Software Foundation) (Eclipse Foundation)
● ● ▲ ▲
CompuServe America Online Amazon.com Amazon Web Services Amazon EC2
(商用オンラインサービス) ● ● Google Docs & Spreadsheets
Yahoo! Google ☆クラウド・コンピューティング
● ● ● ●
eBay Salesforce.com Facebook Twitter
20102000 20051980 1985 1990 1995
メインフレーム
PC DOS Mobile
UNIX, GUI
PC GUI
WEB
(OSSツール)
▲
1998
Bugzilla
▲
2001
Jmeter
OpenSTA
▲
2002
JIRA
TDD/xUnit
▲
2004
Selenium
・・・
(C) Keizo Tatsumi 2016
▲ ▲
▲ iPhone iPad
IEEE 802.11(WiFi)
▲ ▲
Linux ▲ Windows NT ▲ ▲ ▲
Windows 3.1 ▲ J2EE .NET ▲ ▲ Android
Java Ruby on Rails Ajax
▲ ▲ ▲ ▲ ▲ ▲
HTML/HTTP/WWW Netscape Internet XML SOAP ▲ ▲ ▲ HTML5
Explorer ■ ■ Hadoop ▲ OpenStack ▲ Docker
(Apache Software Foundation) (Eclipse Foundation) Hudson Jenkins
● ● ● ★ ★ ★
Amazon Yahoo! Google Cloud Computing Industrie 4.0 Industrial Internet
eBay ● ▲ ▲ ▲
Salesforce Amazon Web Services Amazon EC2/S3 Microsoft Azure
● ●
SoueceForge ● ● ● Github
LinkedIn Facebook Twitter ● ●
● ● Pinterest Snapchat
▲ Flickr YouTube ● ● Instagram
iTunes NetFlix Spotify
(streaming) ● ●
Airbnb Uber
●
Bitcoin
▲ ▲ ▲
Booch法 ▲ UML ▲ UML 2.0
▲ デザインパターン ▲ アスペクト指向 ★ ★ ◆
オブジェクト指向 Software Architecture ▲ ★ ▲ Continuous DevOps Continuous Delivery
ソフトウェア工学 XP アジャイル宣言 Scrum Integration
▲ ◆ ▲
Junit TDD BDD
▲ ▲
Component-based ▲ Search-based testing ▲ ★
Testing Architecture-based ★ Concolic testing ◆ Continuous testing
Testing Agile Testing Agile Testing (Crispin & Gregory)
▲ ▲ ▲ ▲ ▲
XRunner ▲ WebTest QuickTest Selenium ★ Appium
WinRunner ◆ Testing as a Service
LoadRunner Software Test Automation (Fewster & Graham)
20151995 2000 2005 2010
ハードウェア
ソフトウェア
サービス
開発技法
テスト技法
テストツール
37
-2010年代- 現在は?
Mobile
IoT
Cloud
Social Media
Sharing economy
FinTech, xxTech
Analytics (Big Data)
Agile Testing
CI, CD
TaaS
DevOPS
(C) Keizo Tatsumi 2016
38
-2010年代- テストツールの今
TKB (Tool Knowledge Base)
英国Gerrard Consulting社のPaul Gerrard氏が運営
2,304本のテストツールの情報を掲載(2016年11月時点)
[出典] TKB Tools by Type https://tkbase.com/tools
(C) Keizo Tatsumi 201638
Purpose
"... a trusted directory of
tools that support Devops,
SDET and Test activity."
[出典] TKB About The Tools Knowledge Base
https://tkbase.com/about
39
-2010年代- テストツールの今
TKB掲載のテストツールのタイプ別本数
[出典] TKB Tools by Type https://tkbase.com/tools
Test Management tools 202
Test Execution 298
Load/Performance Testing 128
Screen capture/reading/Comparison 42
Exploratory testing support 9
Test data mgt/generation 48
Test Design support 70
Static Testing 39
Integrated test tool suite 8
Browser Add-On 28
Mobile emulators 17
Input Fuzzing 1
19
4
2812
本数
合計
281
890
76
89
292
931
177
34
19
Development
Collaboration
Productivity
Security
Cloud-Based Services
Utility
DevOps
ツールのタイプ
Testing
Analysis
Analytics
Infrastructure
注)複数の機能(タイプ)をもつ製
品はそれぞれのタイプで重複し
てカウントしている
(C) Keizo Tatsumi 201639
40
III. テスト自動化のこれから
1. テスト自動化の研究
2. テスト自動化エンジニア
3. テスト自動化研究会
(C) Keizo Tatsumi 2016
41
テスト自動化の研究
AST (International Workshop on Automation of Software Test)
ICSE併設のワークショップ
2006年に第1回開催(2009年から2日間の開催)
テーマ&トピックス
方法論
技法
テストツールと環境
実験/実証報告
課題/将来ビジョン
[出典] AST 2016 http://tech.brookes.ac.uk/AST2016
ICSE : International Conference on Software Engineering
(C) Keizo Tatsumi 2016
42
テスト自動化の研究テーマ (ASTの場合)
特別テーマ (2008年から毎回特別テーマを設定)
2008年 Model-Based Testing for Test Automation
2009年 Testing Web Services
2010年 Integration Testing
2011年 Relating Software Design to Test Automation
2012年 Automation of Security Test
2013年 Testing Software as a Service (*1)
2014年 Testing Mobile Applications
2015年 Test Oracle
2016年 Scalability of Test Automation
(*1) Testing as a Service (TaaS)
Cloudにおける新ビジネス、サービスモデル cf. SaaS, IaaS, PaaS
最近は「Cloudのテスト」に加えて「Cloudを使ったテスト」も含む概念
(C) Keizo Tatsumi 2016
43
Cloud Testing, TaaS
 Cloud Testing
クラウド技術とソリューションを活用して、クラウドの環境やインフラ上でテストと
測定を行う活動。4つの主要な目標を持つ[Gao]
クラウド上のアプリケーションの品質保証 Testing a SaaS in a cloud
クラウド環境のサービス(SaaS)の妥当性確認 Testing of a cloud
クラウドサービス機能(プロビジョニングなど)のチェック Testing inside a cloud
SaaSやアプリケーション間の互換性や相互運用性の確認 Testing over clouds
 TaaS (Testing as a Service)
TaaSの概念は2009年にデンマークのTieto社が最初に提唱[Gao]
要求に応じていつでもクラウド中/上/間で静的/動的なテストサービスを提供
サービス提供会社の例
SOASTA http://www.soasta.com/
ITKO (2011年にCA社が買収) http://www.itko.com/solutions/cloud.jsp
IBM – Cloud Application Management – Cloud Testing Services
HP Application Lifecycle Management (ALM) on SaaS
<参考文献>
Jerry Gao et al., "Cloud-Testing - Issues, Challenges, Needs and Practice," 2011 http://seij.dce.edu/Paper%201.pdf
Sergiy Vilkomir, "Cloud Testing: A State-of-the-Art Review," 2012 http://www.it4sec.org/node/3146
(C) Keizo Tatsumi 2016
44
テスト自動化エンジニア
テスト自動化エンジニアはテスト分野の専門職
2016年10月 ISTQB Test Automation Engineer Advanced Level の
シラバス公開
[出典] ISTQB Certification http://www.istqb.org/certification-path-root.html
(C) Keizo Tatsumi 2016
45
テスト自動化エンジニアの役割
TABOKにおける役割定義
役割名称 テスト自動化における役割
Test Lead • テストチームの全体管理に責任をもつ
• テスト自動化実装計画(自動化フレームワークの開発)の策定
• 自動化の担当者の配置
Test Engineer • 通常、直接は自動化作業に関与せず手動テストに責任をもつ
• よりよい自動化のために自動化エンジニアと一緒に何を自動
化するかを検討したり、テスト手順の修正を検討する。
Lead Automation
Architect
• 自動化フレームワークの維持や構成管理に責任をもつ
• 通常、テストツールやフレームワークの専門家が役割を担う
Cross Coverage
Coordinator
• 自動化の作業の同期や整合性の確保に責任をもつ
• 版管理ソフトウェアの適切な使用、再利用可能コンポーネント
の利用提案、自動化技法の適用提案など
Automation Engineer
(Test Automator)
• 担当するアプリケーションのテスト自動化に責任をもつ
• 担当アプリケーションの機能やテスト作業をフレームワークの
中で自動化することが主たる役割
(C) Keizo Tatsumi 2016
46
テスト自動化エンジニアの仕事
Capgemini社の求人ページ
Capgemini:
フランスに本社がある、コンサルティング及び
ITサービス会社、44ヶ国で13万人以上の従業員
仕事と責務 (22項目)
テスト計画、テスト戦略策定への参画
テスト自動化計画の維持と承認取得
メトリクスの作成、及び状況の報告
各種プロジェクトのテスト自動化
自動テストソリューションの提供
新しい技術やツールの評価
経験
3年以上のテスト分析の経験
必要な知識
欠陥管理
テスト管理
テスト技法
開発方法論の知識と理解
テストツールの専門知識(例えばHPや
IBM Rationalのテストツール群)
エンドツーエンドの自動テストの提供
テスト要求の技術アーキテクチャの理解
メトリクスの作成、及び状況の報告
自動化のレベルや時期の定義
手動テスト、自動テストの作業の統合 etc.
(C) Keizo Tatsumi 2016
47
テスト品質の責任分担
プロセス品質 内部特徴 外部特徴
影響
依存
影響
依存
影響
依存
利用時の品質
システム/ソフトウェア製品品質の特性
‒ 機能適合性
‒ 性能効率性
‒ 互換性
‒ 使用性
‒ 保守性
‒ 移植性
‒ 信頼性
‒ セキュリティ
利用時の品質の特性
‒ 有効性
‒ 効率性
‒ 満足性
‒ リスク回避性
‒ 利用状況
網羅性
(参考)
ISO25010
品質モデル
ソフトウェア製品 ソフトウェア製品の効果
 テスト品質の責任分担
テストの実行資材の品質特性 (TABOKの例)
- 保守性
- 移植性
- 柔軟性
- 頑健性
- 使用性
- 性能
- 拡張性
- 信頼性
テストの内容の品質特性(STAを参考)
- Effectiveness (有効性) : バグ検出/修正、信頼度
- Thoroughness (徹底性) : 網羅度合い
テスト
テストの内容 テストの実行(資材)
内部特徴 外部特徴
影響
依存
内部特徴 外部特徴
影響
依存
テスト(結果)の効果
テスト結果
利用時の品質
影響
依存テスト自動化
プロセス品質
テスト開発
プロセス品質
実行形式のテスト資材 など
- テストスィート(script, program, etc.), 自動テスト など
テスト仕様書/設計書/報告書 など
- テスト要求/アーキテクチャ/詳細設計の成果物など)
テスト結果の利用時の特性
( ?? )
影響
依存
影響
依存
Test Automation
Engineer
Test Engineer
(C) Keizo Tatsumi 2016
48
テスト自動化研究会
国内のテスト自動化エンジニアのコミュニティ(2012年設立)
目標
「テスト自動化エンジニア」という職種を日本でも普及させる
ツールに依らないテスト自動化技術の知識体系を築きあげる
(C) Keizo Tatsumi 201648
[出典] テスト自動化研究会 https://sites.google.com/site/testautomationresearch/
活動
テスト自動化カンファレンス
開催(STAC)(1回/年)
テスト自動化スキル標準の
検討
テスト自動化技術情報の収
集/整理/発信
など
ICST 2017 (ソフトウェアテスト国際会議)
2017年3月13日~17日に東京で開催
49 (C) Keizo Tatsumi 2016
[出典] ICST 2017 http://aster.or.jp/conference/icst2017/
@早稲田大学
西早稲田キャンパス
(C) Keizo Tatsumi 201650
ICST 2017 プログラム概要
 メイン・カンファレンス
Research Sessions
• フルペーパー : 36件
• ショートペーパー : 8件
Industry Sessions
Testing Tools Sessions
Tool Demonstrations
Software Testing Contest
Poster Session
TAIC PART: Testing: Academia-Industry
Collaboration, Practice and Research
Techniques
ITEQS: Testing Extra-Functional Properties
& Quality Characteristics of Software Systems
Mutation: Mutation Analysis
IWCT: Combinatorial Testing
InSTA: Software Test Architecture
A-MOST: Advances in Model Based Testing
 ワークショップ メイン・カンファレンス
 博士課程 シンポジウム  その他
Doctral Symposium
[出典] ICST 2017 http://aster.or.jp/conference/icst2017/
ACSE: Asian Symposium on Collaborative
Software Engineering
Special Sessions
• Aerospace IV&V (JAXA)
• Japan Government (IPA)
51
まとめ
(C) Keizo Tatsumi 201651
まとめ
 テスト自動化がホットになっている背景を考えることで、テスト
やテスト自動化のポイントが見えてこないでしょうか?
 テスト自動化は古くて新しい課題。歴史は長いが、専門化さ
れ始めてからは10~15年程度
 デジタルビジネス時代になり、テスト自動化技術の進展が加
速し、専門職としてのテスト自動化エンジニアの需要が増大
⇒テスト自動化研究会などのコミュニティで議論したり、情報
収集・共有を図るのがお薦めです
52 (C) Keizo Tatsumi 2016
 今後のテスト(自動化)エンジニアはテスト自動化に必要なス
キル、知識の獲得に向けた活動が必須
53
ご清聴ありがとうございました
(C) Keizo Tatsumi 201653

Más contenido relacionado

La actualidad más candente

プロレス クラウドExpo 20140515(公開版)
プロレス クラウドExpo 20140515(公開版)プロレス クラウドExpo 20140515(公開版)
プロレス クラウドExpo 20140515(公開版)
Daisuke Kawada
 
ICT技術がもたらす旅館の更なる可能性
ICT技術がもたらす旅館の更なる可能性ICT技術がもたらす旅館の更なる可能性
ICT技術がもたらす旅館の更なる可能性
Osaka University
 

La actualidad más candente (15)

世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)世界のソフトウェアテストの会議 (JaSST 2018 東京)
世界のソフトウェアテストの会議 (JaSST 2018 東京)
 
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
ICST 2017の歩き方 -歴史、開催概要、聴きどころ、Who's Who ・・ -
 
ソフトウェアテストの最新動向
ソフトウェアテストの最新動向ソフトウェアテストの最新動向
ソフトウェアテストの最新動向
 
Misra cpp, cert cpp 2016 and RTL design style guide with HAZOP
Misra cpp, cert cpp 2016 and RTL design style guide with HAZOPMisra cpp, cert cpp 2016 and RTL design style guide with HAZOP
Misra cpp, cert cpp 2016 and RTL design style guide with HAZOP
 
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
組み合わせテストの設計(PictMaster勉強会) 2008年7月17日
 
39 works:ドコモにおける オープンイノベーションプログラムの紹介
 39 works:ドコモにおける オープンイノベーションプログラムの紹介 39 works:ドコモにおける オープンイノベーションプログラムの紹介
39 works:ドコモにおける オープンイノベーションプログラムの紹介
 
Container related technologies and how to start it コンテナー関連技術の概要と取り組む方法について
Container related technologies and how to start it コンテナー関連技術の概要と取り組む方法についてContainer related technologies and how to start it コンテナー関連技術の概要と取り組む方法について
Container related technologies and how to start it コンテナー関連技術の概要と取り組む方法について
 
プロレス クラウドExpo 20140515(公開版)
プロレス クラウドExpo 20140515(公開版)プロレス クラウドExpo 20140515(公開版)
プロレス クラウドExpo 20140515(公開版)
 
Developer summit2014
Developer summit2014Developer summit2014
Developer summit2014
 
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumi
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumiYahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumi
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumi
 
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
 
Jaws festa 20130928
Jaws festa 20130928Jaws festa 20130928
Jaws festa 20130928
 
Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版
 
ICT技術がもたらす旅館の更なる可能性
ICT技術がもたらす旅館の更なる可能性ICT技術がもたらす旅館の更なる可能性
ICT技術がもたらす旅館の更なる可能性
 
Language presentations at WOCS and after.
Language presentations at WOCS and after.Language presentations at WOCS and after.
Language presentations at WOCS and after.
 

Similar a テスト自動化クロニクル (JaSST 東海 2016)

「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
Makoto Nonaka
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
Akiko Kosaka
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料
Tae Yoshida
 

Similar a テスト自動化クロニクル (JaSST 東海 2016) (20)

テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
アジャイル事例紹介
アジャイル事例紹介アジャイル事例紹介
アジャイル事例紹介
 
初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法初心者向けCTFのWeb分野の強化法
初心者向けCTFのWeb分野の強化法
 
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
世界に目を向けよう - ASTER国際連携活動事例(JaSST'15 tokyo)
 
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #SeleniumjpSeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
 
SQiP2016発表資料_プロセス改善の黒歴史(slideshare共有版)
SQiP2016発表資料_プロセス改善の黒歴史(slideshare共有版)SQiP2016発表資料_プロセス改善の黒歴史(slideshare共有版)
SQiP2016発表資料_プロセス改善の黒歴史(slideshare共有版)
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方
 
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 ~明日にでも訪れてしまう組込みシステムのテストの姿~
 
JasstTokyo2017
JasstTokyo2017JasstTokyo2017
JasstTokyo2017
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤変わる!? リクルートグループのデータ解析基盤
変わる!? リクルートグループのデータ解析基盤
 
見積り入門
見積り入門見積り入門
見積り入門
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用20170419PFNオープンハウス リサーチャーの仕事_公開用
20170419PFNオープンハウス リサーチャーの仕事_公開用
 
Retty recommendation project
Retty recommendation projectRetty recommendation project
Retty recommendation project
 
Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料Agile japan2010 rakuten様プレゼン資料
Agile japan2010 rakuten様プレゼン資料
 
日本における組み合わせテスト - 歴史、適用状況、技法、ツール -
日本における組み合わせテスト - 歴史、適用状況、技法、ツール -日本における組み合わせテスト - 歴史、適用状況、技法、ツール -
日本における組み合わせテスト - 歴史、適用状況、技法、ツール -
 
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
 
第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料第5回SIA研究会(例会)プレゼン資料
第5回SIA研究会(例会)プレゼン資料
 

Más de 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
 
The genealogy of combinatorial testing
The genealogy of combinatorial testingThe genealogy of combinatorial testing
The genealogy of combinatorial testing
Keizo 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
 
History of combinatorial testing
History of combinatorial testingHistory of combinatorial testing
History of combinatorial testing
Keizo Tatsumi
 
カバーフローで見る5分間ソフトウェアテスト・ヒストリー
カバーフローで見る5分間ソフトウェアテスト・ヒストリーカバーフローで見る5分間ソフトウェアテスト・ヒストリー
カバーフローで見る5分間ソフトウェアテスト・ヒストリー
Keizo Tatsumi
 

Más de Keizo Tatsumi (14)

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
 
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)
 
History of combinatorial testing
History of combinatorial testingHistory of combinatorial testing
History of combinatorial testing
 
カバーフローで見る5分間ソフトウェアテスト・ヒストリー
カバーフローで見る5分間ソフトウェアテスト・ヒストリーカバーフローで見る5分間ソフトウェアテスト・ヒストリー
カバーフローで見る5分間ソフトウェアテスト・ヒストリー
 

テスト自動化クロニクル (JaSST 東海 2016)

  • 1. 1 テスト自動化クロニクル 辰巳 敬三 2016年12月2日 JaSST'16 Tokai (C) Keizo Tatsumi 2016 ~ デジタルビジネス時代の今、 テスト自動化の背景と歴史を振り返る ~
  • 2. 2 自己紹介  経歴 1976年 富士通入社、ソフトウェア事業部検査部 ~1990年 メインフレームOS の製品検査、品質保証 ~1999年 UNIX/PC のソフトウェア製品の検査、品質保証 ~2009年 社内システム支援、サービスビジネス、知財・特許 2009年~2016年 高度情報通信人材育成支援センター(現CeFIL)に出向  執筆活動 (昔 1987~1990) 富士通のソフトウェア品質保証活動(共著)(1987年) Conceptual Support for Test Case Design(COMPSAC'87) Test Case Design Support System(ICQC’87) 富士通におけるソフトウェア品質保証の実際(共著)(1989年) ソフトウェア品質管理ガイドブック(共著)(1990年) ソフトウェア品質管理事例集(共著)(1990年) (最近 2007~) ソフトウェア品質知識体系ガイド(SQuBOK)(共著)(2007年) ソフトウェアテスト・ヒストリー[テストPRESS Vol.8](2009年) 続ソフトウェアテスト・ヒストリー[テストPRESS Vol.9](2009年) 100人のプロが選んだソフトウェア開発の名著(共著)(2012年) 執筆タイトル : ソフトウェアテストにはライフワークの価値がある Combinatorial Testing in Japan(AWCT2013) ソフトウェア品質知識体系ガイド(SQuBOK) V2(共著)(2014年) 初級ソフトウェア品質技術者資格試験 問題と解説 第2版(共著)(2015年) (C) Keizo Tatsumi 2016
  • 3. 3 自己紹介  コミュニティ活動 日科技連 SQuBOK策定部会 ソフトウェアテスト技術振興協会(ASTER) 国際調査活動 ICST参加レポート ICST 2017@Tokyo運営委員会 Social Networking Chair 組み合わせテスト・ワークショップ(IWCT 2017) プログラム委員  JaSST東海との関わり ・沼津市に在住 ・私も東海エリアの一員です(^^)v (C) Keizo Tatsumi 2016
  • 5. 5 I. 何故、今、テスト自動化なのか 1. 社会基盤の変化:Internet Trends 2. 経営層の意識:IBM Global C-suite Study 3. IT担当幹部の意識:World Quality Report 4. テスターの現場:State of Testing Survey (C) Keizo Tatsumi 2016
  • 6. 6 Internet Trends [出典] http://www.kpcb.com/internet-trends  Mary Meeker 元ウォールストリートの証券アナリスト 現在はベンチャーキャピタリストでクラ イナーパーキンスのパートナー インターネット分野の分析の第一人者 213スライド あります!! (C) Keizo Tatsumi 2016
  • 7. 7 世界の42%がインターネット利用者 [出典] Internet Trends 2015, 2016 http://www.kpcb.com/internet-trends 1995年に1%未満(3,500万人)だった 利用者が2015年には42%(30億人)に (C) Keizo Tatsumi 2016
  • 8. 8 インターネット利用の76%がスマートフォン [出典] Internet Trends 2015 http://www.kpcb.com/internet-trends モバイルの30%が スマートフォン (C) Keizo Tatsumi 2016
  • 9. 9 1日のインターネット利用時間 (米国) [出典] Internet Trends 2015 http://www.kpcb.com/internet-trends モバイル機器から の利用が増加 (利用時間の 半分を超える) (C) Keizo Tatsumi 2016
  • 10. 10 メディア使用時間 vs. 広告費 (米国) [出典] Internet Trends 2016 http://www.kpcb.com/internet-trends モバイル広告 のビジネスの 余地が大きい (C) Keizo Tatsumi 2016
  • 11. 11 ソーシャルメディアの利用状況 (米国) [出典] Internet Trends 2015 http://www.kpcb.com/internet-trends 若者の Facebook 離れ (C) Keizo Tatsumi 2016 12歳~24歳 10代が重 要視する SNS
  • 12. 12 Re-imagination [出典] Internet Trends 2014 http://www.kpcb.com/internet-trends  既存ビジネスモデルを『再想像』 (デジタル技術を使って) (C) Keizo Tatsumi 2016
  • 13. 13 IBM Global C-suite Study  IBMが2003年から隔年で実施している経営者層の調査 調査概要(2015年) 70ヶ国超、21業界・業種の5,247人の経営者へ のインタビュー 北米-1,112, 中南米-612, 西ヨーロッパ-1,195, 中東・アフリカ-566, 中欧・東欧-357, アジア太平 洋地域-829, 日本-576 CEO-818, CMO-723, CHRO-601, CIO-1,805, CFO-643, COO-657 6つの異なる役割の経営者の視点から分析 CEOの視点:破壊者との競争と共創 CMOの視点:新たな顧客体験の創出 CHROの視点:異才との共創と覚醒 CIOの視点:知のネットワーク創造 CFOの視点:未来価値の創造 COOの視点:自律×共創 新たなエコシステム [出典] IBM - グローバル経営層スタディ http://www-935.ibm.com/services/jp/ja/c-suite/ (C) Keizo Tatsumi 2016
  • 16. 16 ビジネス・キーワード  デジタルビジネス (Digital Business) デジタルの世界と物理的な世界の境界を曖昧にすることによって、新し いビジネス・デザインを創造すること [Gartner]  デジタル・ディスラプション (Digital Disruption) デジタルテクノロジーによる破壊的イノベーション  デジタル・トランスフォーメーション (Digital Transformation) ビジネスのデジタル化、デジタルへの変革  Re-imagination これまでのビジネスモデルを新しい方法で再想像(創造)  SMAC (デジタル化の技術) Social media, Mobile, Analytics (Big Data), Cloud IoTも含めると SMACT (C) Keizo Tatsumi 2016
  • 17. 17 World Quality Report  Capgemini, Sogeti, HPが共同で2009年から毎年調査 調査概要 32ヶ国、1,600人のIT業務担当上級幹部への インタビュー(44項目、2016年4月~5月に実施) ※従業員1,000人以上の企業の幹部 北米-300, 南米-80, 西欧-425, 北欧-165, 英国 /アイルランド-150, 東欧-90, 南欧-105, 中東-60, 東南アジア-100, 日本-35, 豪州/NZ-90 CIO-434, IT Directors-363, VP Applications- 290, CTO/Product Head-88, CMO/CDO-98, QA/Test Manager-327 レポートの内容(80ページ) 品質保証とテストの最新動向 業種別分析 [出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17 (C) Keizo Tatsumi 2016
  • 18. 18 品質保証とテストの動向  デジタル・トランスフォーメーション より良い顧客体験の実現のためのビジネスモデルの破壊  IoTとセキュリティのテスト 品質とセキュリティの必要性の拡大  アジャイルとDevOps スピード、品質、コストの要件を満たすインテリジェンス主導のテストへ  工業化とテストセンター(Testing Centers of Excellence) インテリジェンス主導のテストアプローチへの転換の反映  テスト環境とテストデータ管理 アジャイルとDevOpsにおける品質の鍵となるイネーブラー  品質保証とテストの予算 テストの支出の把握 [出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17 (C) Keizo Tatsumi 2016
  • 19. 19 品質保証とテストの予算 [出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17  IT予算に占める品質保証とテストの予算の割合の増加 2016年は前年から減少するも、2019年には40%になるとの予想 (C) Keizo Tatsumi 2016
  • 20. 20 品質保証とテストの予算 [出典] World Quality Report 2016-17 https://www.capgemini.com/thought-leadership/world-quality-report-2016-17  品質保証とテストの予算の増加の背景 トップ3は、開発量・リリースの増加、アジャイル・DevOps導入に伴うテ スト繰り返しサイクルの増加、テスト環境に関する課題の増加 (C) Keizo Tatsumi 2016
  • 21. 21 State of Testing Survey  PractiTest社のJoel Montvelisky氏とTea-Time with Tester誌のLalit Bhamare氏による調査(2013年、2015年、2016年) 第3回の調査概要(2016年1月~2月に実施) 回答者数:1000人強(60数ヶ国) ヨーロッパ/ロシア-48%, 米国/カナダ-21%, インド -11%, アジア(インド以外)-7%, その他-4%, ラテン アメリカ-3%, オーストラリア/ニュージーランド-3%, 中東- 2%, アフリカ-1% 回答者テスト経験: 1年未満-5%, 1~2年-10%, 2~5年-25%, 5~10年 -28%, 10年以上-31% 主なレポート内容 (20ページ) 開発モデル, テストアプローチ, 役割, テスト用ド キュメント, テスト自動化状況 給与, 必要なスキル, 学習方法, 将来展望 [出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/ (C) Keizo Tatsumi 2016
  • 22. 22 テスターに必要なスキル  良いテスターになるにはどのようなスキルが必要ですか? [出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/ 機能テスト自動化のスキル の必要性が高い 2016年- 2位(非常に重要61%) 2015年- 2位(非常に重要65%) 2013年- 4位(非常に重要53%) (C) Keizo Tatsumi 2016
  • 23. 23 テスト自動化の状況  テスト自動化の状況  自動化している作業  自動化の程度 [出典] State of Testing 2016 http://qablog.practitest.com/state-of-testing/ (C) Keizo Tatsumi 2016
  • 24. 24 何故、今、テスト自動化なのか 1. 社会基盤の変化:Internet Trends 2. 経営層の意識:IBM Global C-suite Study 3. IT担当幹部の意識:World Quality Report 4. テスターの現場:State of Testing Survey (C) Keizo Tatsumi 2016
  • 25. 25 II. テスト自動化の歴史 1. 1960年代:テスト自動化の事始め 2. 1970年代:自動検証システム 3. 1980年代:UNIX, PCのツール 4. 1990年代:インターネット/WEBへ 5. 2000年代:OSSツール/モバイルへ (C) Keizo Tatsumi 2016
  • 26. ▲ ▲ ▲ ▲ EDSAC(最初のノイマン型コンピュータ) IBM System/360 IBM System/370 Cray-1(スパコン) ▲ ▲ ▲ ▲ ▲ UNIVAC1(世界初の商用コンピュータ) DEC PDP-1 DEC PDP-8 Apple PC IBM PC ▲ ▲ ▲ IBM 701 IBM 704 Intel 4004MPU (科学演算用) ● (Apple社設立) (Sun Microsyste ▲ ▲ ▲ ▲ OS/360 UNIX CP/M MS-DOS (4004MPU用OS) ▲ ▲ ▲ ▲ ▲ ▲ ▲ SpeedCode FORTRAN FORTRAN COBOL LISP PL/I C言語 ▲ 開発開始 ▲ ALGOL Smalltalk-72 Smalltalk-80 FLOW-MATIC ● (Microsoft社設立) 1965 19701950 1955 1960 1975 1980 26 -1960年代- テスト自動化の事始め  テスト自動化の最初(?)の論文 1962年 Automatic Program Testing (Renfer、IBMカナダ) Program Testing Packageによるテスト手順の標準化と計算機時間効率化 内容 : ファイル生成機能 (テープ、ディスク) 印刷機能 (メモリ、メモリ・スナップショット、テープ) トレース (ディスクファイル、ブランチトレース) プログラマが用意した操作指示カードから操作指示書の生成 (C) Keizo Tatsumi 2016 1957, Digital Computer Programming (McRacken) •最も初期のプログラミング教科書 •”Program Checkout”の章でデバッグや テストを説明 1961, Computer Programming Fundamentals (Leeds & Weinberg) •IBM社のLeedsとWeinbergが書籍 •初めて"Program Testing"の章が設けられた
  • 27. 27 -1970年代- 自動検証システム ソフトウェア危機 1968年,1969年 NATO Software Engineering ソフトウェア開発(Production)におけるToolsも主検討テーマ テストの自動化への取り組み 1972年 Program Test Methods 最初のテストのシンポジウム、最初のテストの書籍 テストの自動化に関する論文  Automated Software Quality Assurance (TRW)  A Software Testing Control System (IBM) 自動検証システム (Automated verification system) PACE (Product Assurance Confidence Evaluator) [TRW社,1972] PET (Program Evaluater and Tester) [McDonnell Douglas社,1972] RXVP [General Research社,1974] (C) Keizo Tatsumi 2016
  • 28. 28 -1970年代- ソフトウェアツールの拡大 最初のソフトウェアツールのリスト (D. Reifer) 1975年 Automated Aids for Reliable Software 1977年 A Glossary of Software Tools & Techniques テスト実行時ツール Automated Test Generator NASA ATDG Automated Verification System RXVP, PET, PACE Environment simulator Test Drivers, Scripts, Data Generators Test-Results Processor (C) Keizo Tatsumi 2016
  • 29. 29 -1970年~1980年代- 日本の状況 メインフレーム・ソフトウェア検査部門のテストツール (筆者の所属部門の例、1990年頃の一覧で大小合わせて約70種のツール) シミュレータ MTS (Multi Terminal Simulator) 多端末(数,種類,プロトコル)、キャプチャリプレイ HTS (Hardware Trouble Simulator) ハードウェア障害の疑似発生 リグレッションテスト自動化 テストプログラムの蓄積・管理・実行 修正に応じたテストプログラムの抽出 テストデータ、データベース生成 テスト結果判定 正解集との比較 メッセージ/完了コード判定 テスト生成 コンパイラテストの自動生成 テスト項目設計支援システム(ATAF) 負荷/ストレス メモリ占有、割り込み発生 システム操作コマンドの発行 システム状況表示/編集 メモリ/ディスク使用状況表示 ログ、トレース編集 製品機能の利用 ジョブ制御文(JCL)マクロ トレース(I/O、ネットワーク) 自動運転機能 その他 残存バグ予測 障害レポート管理(発行,回答,修正) 媒体形式チェック (C) Keizo Tatsumi 2016
  • 30. 30 -1980年代中盤- UNIX, PCのツール UNIX、PC上のテスト自動化ツールの出現 1985年 AutoTester社 (Randy & Linda Hayes) 最初のPC上のテスト自動化ツールAutoTesterを開発 1986年 Performance Awareness社 (1997年にRationalが買収) preVue 出荷 (capture-replay, 性能測定、multi-user testingなど) 1989年 Mercury Interactive社 (2006年にHPが買収) 1991年に最初の製品を出荷 ▲ ▲ IBM System/370 Cray-1(スパコン) ▲ ▲ ▲ Apple PC IBM PC ▲ Apple Macintosh ▲ Sun-1 ▲ ▲ Intel 4004MPU Sun SPARC Intel Pentium Pro ● ● (Apple社設立) (Sun Microsystems社設立) ▲ ▲ ▲ ▲ ▲ ▲ UNIX CP/M MS-DOS UNIX System V Linux Windows NT (4004MPU用OS) Netware ▲ ▲ ▲ ▲ ▲ Windows 3.1 ▲ J2EE .NET C言語 ▲ C++ ▲ Java Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer ▲ Netscape ▲ ● ● HTML/HTTP/WWW XML ● (Microsoft社設立) (Free Software Foundation) (Apache Software Foundation) 1970 20001975 1980 1985 1990 1995 (C) Keizo Tatsumi 2016
  • 31. 31 -1990年代- インターネット/WEBへ ▲ ▲ IBM System/370 Cray-1(スパコン) ▲ ▲ ▲ Apple PC IBM PC ▲ Apple Macintosh ▲ Sun-1 ▲ ▲ Intel 4004MPU Sun SPARC Intel Pentium Pro ● ● (Apple社設立) (Sun Microsystems社設立) ▲ ▲ ▲ ▲ ▲ ▲ UNIX CP/M MS-DOS UNIX System V Linux Windows NT (4004MPU用OS) Netware ▲ ▲ ▲ ▲ ▲ Windows 3.1 ▲ J2EE .NET C言語 ▲ C++ ▲ Java Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer ▲ Netscape ▲ ● ● HTML/HTTP/WWW XML ● (Microsoft社設立) (Free Software Foundation) (Apache Software Foundation) 1970 20001975 1980 1985 1990 1995 UNIX、PC、更にインターネット/WEBに展開 Mercury Interactive社の場合 1991年 XRunner<UNIX> 1993年 WinRunner<PC>, LoadRunner<UNIX> 1996年 WebTest 1999年 QuickTest (C) Keizo Tatsumi 2016
  • 32. 32 -1990年代- 商用ツールの増加 ▲ ▲ IBM System/370 Cray-1(スパコン) ▲ ▲ ▲ Apple PC IBM PC ▲ Apple Macintosh ▲ Sun-1 ▲ ▲ Intel 4004MPU Sun SPARC Intel Pentium Pro ● ● (Apple社設立) (Sun Microsystems社設立) ▲ ▲ ▲ ▲ ▲ ▲ UNIX CP/M MS-DOS UNIX System V Linux Windows NT (4004MPU用OS) Netware ▲ ▲ ▲ ▲ ▲ Windows 3.1 ▲ J2EE .NET C言語 ▲ C++ ▲ Java Smalltalk-72 Smalltalk-80 Eiffel ▲ ▲Internet Explorer ▲ Netscape ▲ ● ● HTML/HTTP/WWW XML ● (Microsoft社設立) (Free Software Foundation) (Apache Software Foundation) 1970 20001975 1980 1985 1990 1995 商用ツールの増加 1987年 SQE tools catalogue (米国で利用可能なツール) 認定製品数: 1987年-50、1991年初-146、1991年末-190 1991年 The CAST Report 1st Ed. (Graham) (英国で)利用可能な商用テストツールの一覧と解説を記載 82製品を掲載 cf. 1989年は25製品(英国計算機センターのリスト) CAST : Computer Aided Software Testing [出典] D. Graham, "Software Testing Tools: A New Classification Scheme," 1991 (C) Keizo Tatsumi 2016
  • 33. 33 -1990年代- 商用ツールの増加 テストツールのタイプ別本数 米国空軍系のSTSC (Software Technology Support Center)の報告書(1994) 207社/421製品が掲載 (メインフレーム/プロプライアタリは約50製品) テストツールのタイプ 概要 本数 Auditor 監査ツール 53 Capture-Replay Tool キャプチャ・リプレイ・ツール 58 Comparator 比較ツール 22 Complexity Measurer 複雑度測定ツール 76 Coverage/Frequency Analyzer 網羅率・頻度解析ツール 62 Cross Referencing Tool 相互参照ツール 93 Defect/Change Tracker 欠陥・変更追跡ツール 41 Performance/Timing Analyzer 性能・タイミング解析ツール 74 Requirements-Based Test Case Generator 要求ベーステストケース生成ツール 9 Run-Time Error Checker 実行時エラーチェッカー 25 Size Measurer 規模測定ツール 58 Structure Checker 構造チェッカー 125 Syntax & Semantics Analyzer 文法・意味解析ツール 81 Test Execution Manager テスト実行管理ツール 68 注)複数の機能(タイ プ)をもつ製品はそれ ぞれのタイプで重複 してカウントしている (C) Keizo Tatsumi 201633
  • 34. 34 -1990年代- テストツールの体系化 テストツールの分類の変遷 1991年 D. Graham氏のテストツール分類の提案 [出典] D. Graham, "Software Testing Tools: A New Classification Scheme," 1991 Ramamoorthy 1978 DeMillo et. Al 1987 SQE 1987-91 CAST 1991 - - Test Management Test Management TM: Test Management 7小分類 - - Cap Playback - Input Generation - Test Database Static Analysis Evaluation Static Analysis Static Measurement Verification NE: Non-Execution Evaluation 7小分類 Dynamic Comparator Dynamic Measurement Comparator System Design Analysis Simulator Simulator - Test Harness - - Debugging TA: Test Analysis (debugging) 11小分類 Dynamic Analysis Program Instrumentors Test Coverage Instrumentors TQ: Test Quality Evaluation 7小分類 6小分類 9小分類 New Classification 1991 Test Data Generators Test Drivers Data Acquisition Dynamic Measurement TD: Test Design TE: Test Execution (test running) (C) Keizo Tatsumi 201634
  • 35. 35 -1990年代- テスト自動化技術の確立 テスト自動化の書籍 1995年 Automated Testing Handbook (L. Hayes) 最初のテスト自動化の書籍と言われている 1996年 Automating Specification-Based Software Testing (R. Poston) 1999年 Automated Software Testing (E. Dustin et al.) 2002年に翻訳版出版(ピアソンエデュケーション) 1999年 Software Test Automation (M. Fewster & D. Graham) 2014年に翻訳版出版(テスト自動化研究会, 翔泳社) (C) Keizo Tatsumi 2016
  • 36. 36 -2000年代- OSSツール/モバイルへ テスト自動化ツールの対象の変遷 ▲ ▲ ▲ ▲ IBM PC ▲ Apple Macintosh iPhone iPad Sun-1 ▲ ▲ Sun SPARC Intel Pentium Pro ● (Sun Microsystems社設立) ▲ ▲ ▲ ▲ MS-DOS UNIX System V Linux Windows NT ▲ Netware ▲ ▲ ▲ Android ▲ Windows 3.1 ▲ J2EE .NET ▲ ▲ C++ ▲ Java ▲ Ajax Smalltalk-80 Eiffel ▲ ▲Internet Explorer Ruby on Rails ▲ Netscape ▲ ▲ ● HTML/HTTP/WWW XML ● SOAP ● (Free Software Foundation) (Apache Software Foundation) (Eclipse Foundation) ● ● ▲ ▲ CompuServe America Online Amazon.com Amazon Web Services Amazon EC2 (商用オンラインサービス) ● ● Google Docs & Spreadsheets Yahoo! Google ☆クラウド・コンピューティング ● ● ● ● eBay Salesforce.com Facebook Twitter 20102000 20051980 1985 1990 1995 メインフレーム PC DOS Mobile UNIX, GUI PC GUI WEB (OSSツール) ▲ 1998 Bugzilla ▲ 2001 Jmeter OpenSTA ▲ 2002 JIRA TDD/xUnit ▲ 2004 Selenium ・・・ (C) Keizo Tatsumi 2016
  • 37. ▲ ▲ ▲ iPhone iPad IEEE 802.11(WiFi) ▲ ▲ Linux ▲ Windows NT ▲ ▲ ▲ Windows 3.1 ▲ J2EE .NET ▲ ▲ Android Java Ruby on Rails Ajax ▲ ▲ ▲ ▲ ▲ ▲ HTML/HTTP/WWW Netscape Internet XML SOAP ▲ ▲ ▲ HTML5 Explorer ■ ■ Hadoop ▲ OpenStack ▲ Docker (Apache Software Foundation) (Eclipse Foundation) Hudson Jenkins ● ● ● ★ ★ ★ Amazon Yahoo! Google Cloud Computing Industrie 4.0 Industrial Internet eBay ● ▲ ▲ ▲ Salesforce Amazon Web Services Amazon EC2/S3 Microsoft Azure ● ● SoueceForge ● ● ● Github LinkedIn Facebook Twitter ● ● ● ● Pinterest Snapchat ▲ Flickr YouTube ● ● Instagram iTunes NetFlix Spotify (streaming) ● ● Airbnb Uber ● Bitcoin ▲ ▲ ▲ Booch法 ▲ UML ▲ UML 2.0 ▲ デザインパターン ▲ アスペクト指向 ★ ★ ◆ オブジェクト指向 Software Architecture ▲ ★ ▲ Continuous DevOps Continuous Delivery ソフトウェア工学 XP アジャイル宣言 Scrum Integration ▲ ◆ ▲ Junit TDD BDD ▲ ▲ Component-based ▲ Search-based testing ▲ ★ Testing Architecture-based ★ Concolic testing ◆ Continuous testing Testing Agile Testing Agile Testing (Crispin & Gregory) ▲ ▲ ▲ ▲ ▲ XRunner ▲ WebTest QuickTest Selenium ★ Appium WinRunner ◆ Testing as a Service LoadRunner Software Test Automation (Fewster & Graham) 20151995 2000 2005 2010 ハードウェア ソフトウェア サービス 開発技法 テスト技法 テストツール 37 -2010年代- 現在は? Mobile IoT Cloud Social Media Sharing economy FinTech, xxTech Analytics (Big Data) Agile Testing CI, CD TaaS DevOPS (C) Keizo Tatsumi 2016
  • 38. 38 -2010年代- テストツールの今 TKB (Tool Knowledge Base) 英国Gerrard Consulting社のPaul Gerrard氏が運営 2,304本のテストツールの情報を掲載(2016年11月時点) [出典] TKB Tools by Type https://tkbase.com/tools (C) Keizo Tatsumi 201638 Purpose "... a trusted directory of tools that support Devops, SDET and Test activity." [出典] TKB About The Tools Knowledge Base https://tkbase.com/about
  • 39. 39 -2010年代- テストツールの今 TKB掲載のテストツールのタイプ別本数 [出典] TKB Tools by Type https://tkbase.com/tools Test Management tools 202 Test Execution 298 Load/Performance Testing 128 Screen capture/reading/Comparison 42 Exploratory testing support 9 Test data mgt/generation 48 Test Design support 70 Static Testing 39 Integrated test tool suite 8 Browser Add-On 28 Mobile emulators 17 Input Fuzzing 1 19 4 2812 本数 合計 281 890 76 89 292 931 177 34 19 Development Collaboration Productivity Security Cloud-Based Services Utility DevOps ツールのタイプ Testing Analysis Analytics Infrastructure 注)複数の機能(タイプ)をもつ製 品はそれぞれのタイプで重複し てカウントしている (C) Keizo Tatsumi 201639
  • 40. 40 III. テスト自動化のこれから 1. テスト自動化の研究 2. テスト自動化エンジニア 3. テスト自動化研究会 (C) Keizo Tatsumi 2016
  • 41. 41 テスト自動化の研究 AST (International Workshop on Automation of Software Test) ICSE併設のワークショップ 2006年に第1回開催(2009年から2日間の開催) テーマ&トピックス 方法論 技法 テストツールと環境 実験/実証報告 課題/将来ビジョン [出典] AST 2016 http://tech.brookes.ac.uk/AST2016 ICSE : International Conference on Software Engineering (C) Keizo Tatsumi 2016
  • 42. 42 テスト自動化の研究テーマ (ASTの場合) 特別テーマ (2008年から毎回特別テーマを設定) 2008年 Model-Based Testing for Test Automation 2009年 Testing Web Services 2010年 Integration Testing 2011年 Relating Software Design to Test Automation 2012年 Automation of Security Test 2013年 Testing Software as a Service (*1) 2014年 Testing Mobile Applications 2015年 Test Oracle 2016年 Scalability of Test Automation (*1) Testing as a Service (TaaS) Cloudにおける新ビジネス、サービスモデル cf. SaaS, IaaS, PaaS 最近は「Cloudのテスト」に加えて「Cloudを使ったテスト」も含む概念 (C) Keizo Tatsumi 2016
  • 43. 43 Cloud Testing, TaaS  Cloud Testing クラウド技術とソリューションを活用して、クラウドの環境やインフラ上でテストと 測定を行う活動。4つの主要な目標を持つ[Gao] クラウド上のアプリケーションの品質保証 Testing a SaaS in a cloud クラウド環境のサービス(SaaS)の妥当性確認 Testing of a cloud クラウドサービス機能(プロビジョニングなど)のチェック Testing inside a cloud SaaSやアプリケーション間の互換性や相互運用性の確認 Testing over clouds  TaaS (Testing as a Service) TaaSの概念は2009年にデンマークのTieto社が最初に提唱[Gao] 要求に応じていつでもクラウド中/上/間で静的/動的なテストサービスを提供 サービス提供会社の例 SOASTA http://www.soasta.com/ ITKO (2011年にCA社が買収) http://www.itko.com/solutions/cloud.jsp IBM – Cloud Application Management – Cloud Testing Services HP Application Lifecycle Management (ALM) on SaaS <参考文献> Jerry Gao et al., "Cloud-Testing - Issues, Challenges, Needs and Practice," 2011 http://seij.dce.edu/Paper%201.pdf Sergiy Vilkomir, "Cloud Testing: A State-of-the-Art Review," 2012 http://www.it4sec.org/node/3146 (C) Keizo Tatsumi 2016
  • 44. 44 テスト自動化エンジニア テスト自動化エンジニアはテスト分野の専門職 2016年10月 ISTQB Test Automation Engineer Advanced Level の シラバス公開 [出典] ISTQB Certification http://www.istqb.org/certification-path-root.html (C) Keizo Tatsumi 2016
  • 45. 45 テスト自動化エンジニアの役割 TABOKにおける役割定義 役割名称 テスト自動化における役割 Test Lead • テストチームの全体管理に責任をもつ • テスト自動化実装計画(自動化フレームワークの開発)の策定 • 自動化の担当者の配置 Test Engineer • 通常、直接は自動化作業に関与せず手動テストに責任をもつ • よりよい自動化のために自動化エンジニアと一緒に何を自動 化するかを検討したり、テスト手順の修正を検討する。 Lead Automation Architect • 自動化フレームワークの維持や構成管理に責任をもつ • 通常、テストツールやフレームワークの専門家が役割を担う Cross Coverage Coordinator • 自動化の作業の同期や整合性の確保に責任をもつ • 版管理ソフトウェアの適切な使用、再利用可能コンポーネント の利用提案、自動化技法の適用提案など Automation Engineer (Test Automator) • 担当するアプリケーションのテスト自動化に責任をもつ • 担当アプリケーションの機能やテスト作業をフレームワークの 中で自動化することが主たる役割 (C) Keizo Tatsumi 2016
  • 46. 46 テスト自動化エンジニアの仕事 Capgemini社の求人ページ Capgemini: フランスに本社がある、コンサルティング及び ITサービス会社、44ヶ国で13万人以上の従業員 仕事と責務 (22項目) テスト計画、テスト戦略策定への参画 テスト自動化計画の維持と承認取得 メトリクスの作成、及び状況の報告 各種プロジェクトのテスト自動化 自動テストソリューションの提供 新しい技術やツールの評価 経験 3年以上のテスト分析の経験 必要な知識 欠陥管理 テスト管理 テスト技法 開発方法論の知識と理解 テストツールの専門知識(例えばHPや IBM Rationalのテストツール群) エンドツーエンドの自動テストの提供 テスト要求の技術アーキテクチャの理解 メトリクスの作成、及び状況の報告 自動化のレベルや時期の定義 手動テスト、自動テストの作業の統合 etc. (C) Keizo Tatsumi 2016
  • 47. 47 テスト品質の責任分担 プロセス品質 内部特徴 外部特徴 影響 依存 影響 依存 影響 依存 利用時の品質 システム/ソフトウェア製品品質の特性 ‒ 機能適合性 ‒ 性能効率性 ‒ 互換性 ‒ 使用性 ‒ 保守性 ‒ 移植性 ‒ 信頼性 ‒ セキュリティ 利用時の品質の特性 ‒ 有効性 ‒ 効率性 ‒ 満足性 ‒ リスク回避性 ‒ 利用状況 網羅性 (参考) ISO25010 品質モデル ソフトウェア製品 ソフトウェア製品の効果  テスト品質の責任分担 テストの実行資材の品質特性 (TABOKの例) - 保守性 - 移植性 - 柔軟性 - 頑健性 - 使用性 - 性能 - 拡張性 - 信頼性 テストの内容の品質特性(STAを参考) - Effectiveness (有効性) : バグ検出/修正、信頼度 - Thoroughness (徹底性) : 網羅度合い テスト テストの内容 テストの実行(資材) 内部特徴 外部特徴 影響 依存 内部特徴 外部特徴 影響 依存 テスト(結果)の効果 テスト結果 利用時の品質 影響 依存テスト自動化 プロセス品質 テスト開発 プロセス品質 実行形式のテスト資材 など - テストスィート(script, program, etc.), 自動テスト など テスト仕様書/設計書/報告書 など - テスト要求/アーキテクチャ/詳細設計の成果物など) テスト結果の利用時の特性 ( ?? ) 影響 依存 影響 依存 Test Automation Engineer Test Engineer (C) Keizo Tatsumi 2016
  • 48. 48 テスト自動化研究会 国内のテスト自動化エンジニアのコミュニティ(2012年設立) 目標 「テスト自動化エンジニア」という職種を日本でも普及させる ツールに依らないテスト自動化技術の知識体系を築きあげる (C) Keizo Tatsumi 201648 [出典] テスト自動化研究会 https://sites.google.com/site/testautomationresearch/ 活動 テスト自動化カンファレンス 開催(STAC)(1回/年) テスト自動化スキル標準の 検討 テスト自動化技術情報の収 集/整理/発信 など
  • 49. ICST 2017 (ソフトウェアテスト国際会議) 2017年3月13日~17日に東京で開催 49 (C) Keizo Tatsumi 2016 [出典] ICST 2017 http://aster.or.jp/conference/icst2017/ @早稲田大学 西早稲田キャンパス
  • 50. (C) Keizo Tatsumi 201650 ICST 2017 プログラム概要  メイン・カンファレンス Research Sessions • フルペーパー : 36件 • ショートペーパー : 8件 Industry Sessions Testing Tools Sessions Tool Demonstrations Software Testing Contest Poster Session TAIC PART: Testing: Academia-Industry Collaboration, Practice and Research Techniques ITEQS: Testing Extra-Functional Properties & Quality Characteristics of Software Systems Mutation: Mutation Analysis IWCT: Combinatorial Testing InSTA: Software Test Architecture A-MOST: Advances in Model Based Testing  ワークショップ メイン・カンファレンス  博士課程 シンポジウム  その他 Doctral Symposium [出典] ICST 2017 http://aster.or.jp/conference/icst2017/ ACSE: Asian Symposium on Collaborative Software Engineering Special Sessions • Aerospace IV&V (JAXA) • Japan Government (IPA)
  • 52. まとめ  テスト自動化がホットになっている背景を考えることで、テスト やテスト自動化のポイントが見えてこないでしょうか?  テスト自動化は古くて新しい課題。歴史は長いが、専門化さ れ始めてからは10~15年程度  デジタルビジネス時代になり、テスト自動化技術の進展が加 速し、専門職としてのテスト自動化エンジニアの需要が増大 ⇒テスト自動化研究会などのコミュニティで議論したり、情報 収集・共有を図るのがお薦めです 52 (C) Keizo Tatsumi 2016  今後のテスト(自動化)エンジニアはテスト自動化に必要なス キル、知識の獲得に向けた活動が必須