6. テスト自動化の事始め
テスト自動化の最初(?)の論文
1962年 Automatic Program Testing (Renfer、IBMカナダ)
Program Testing Packageによるテスト手順の標準化と計算機時間効率化
内容 : ファイル生成機能 (テープ、ディスク)
印刷機能 (メモリ、メモリ・スナップショット、テープ)
トレース (ディスクファイル、ブランチトレース)
プログラマが用意した操作指示カードから操作指示書の生成
1950
1955
▲
EDSAC(最初のノイマン型コンピュータ)
▲
UNIVAC1(世界初の商用コンピュータ)
▲
▲
IBM 701 IBM 704
(科学演算用)
1960
▲
DEC PDP-1
1965
▲
IBM System/360
▲
DEC PDP-8
1970
1975
▲
IBM System/370
1980
▲
Cray-1(スパコン)
▲
Apple PC
▲
IBM PC
▲
Intel 4004MPU
●
1961年 Computer Programming Fundamentals (Sun Microsyste
(Apple社設立)
▲
▲
▲
▲
(Leeds & Weinberg)
OS/360
UNIX
CP/M
MS-DOS
(4004MPU用OS)
•IBM社のLeedsとWeinbergが書いたコンピュータ
▲
▲
プログラミングの書籍 C言語
PL/I
▲
Smalltalk-72
Smalltalk-80
•初めて"Program Testing"の章が設けられた書籍
1957年 Digital Computer Programming
(McRacken)
•最も初期のプログラミング教科書
▲ ▲
▲
▲
▲
SpeedCode FORTRAN FORTRAN
COBOL
LISP
•”Program Checkout”の章でデバッグや
▲
ALGOL
開発開始
テストを説明
FLOW-MATIC
6
●
(Microsoft社設立)
(C) Keizo Tatsumi 2013
7. テスト自動化
-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]
7
(C) Keizo Tatsumi 2013
8. テスト自動化
-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
8
(C) Keizo Tatsumi 2013
17. III. テスト自動化の これから
1. テスト自動化の研究の状況
2.
Test Automatorへの期待
17
(C) Keizo Tatsumi 2013
18. テスト自動化の研究の状況
AST
(International Workshop on Automation of Software Test)
ICSE併設のワークショップ
2006年に第1回開催
2009年から2日間
STA
(International Workshop on Software Test Automation)
COMPSAC併設のワークショップ
2009年に第1回開催 ICSE : International Conference on Software Engineering
COMPSAC : International Computer Software & Applications Conference
18
(C) Keizo Tatsumi 2013
19. テスト自動化の研究テーマ (ASTの場合)
テーマ&トピックス
(Call for papersより)
方法論 (Methodology)
各種のソフトウェア開発方法論におけるテスト自動化
技法 (Technology)
テストに関する活動や各種ソフトウェアのテストの自動化の方法
テストツールと環境 (Tools and environments)
テストツールの開発・運用・保守・改良、開発や保守ツールとの連携
実験/実証報告 (Experiments, empirical studies and experience reports)
企業でのテスト自動化の実験・実証報告
課題/将来ビジョン (Identification of problems and visions of the future)
19
(C) Keizo Tatsumi 2013
20. テスト自動化の研究テーマ (ASTの場合)
特別テーマ
(2008年から毎回特別テーマを設定)
2008年
2009年
2010年
2011年
2012年
2013年
Model-Based Testing for Test Automation
Testing Web Services
Integration Testing
Relating Software Design to Test Automation
Automation of Security Test
Testing of Software as a Service
/ Test-as-a-Service (TaaS)
※Testing as a Service (TaaS)
Cloudにおける新ビジネス、サービスモデル cf. SaaS, IaaS, PaaS
最近は「Cloudのテスト」に加えて「Cloudを使ったテスト」も含む概念
ISSTA 2013でもTesting the Cloud (TTC 2013)のワークショップが
開催、 ICST 2014で第2回 TTC 2014開催予定
20
(C) Keizo Tatsumi 2013
21. Cloud Testing, TaaS
Cloud Testing
クラウド技術とソリューションを活用して、クラウドの環境やインフラ上でテストと
測定を行う活動。4つの主要な目標を持つ(Gao)
クラウド上のアプリケーションの品質保証 Testing a SaaS in a cloud
クラウド環境のサービス(SaaS)の妥当性確認 Tesing 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
21
(C) Keizo Tatsumi 2013