テスト自動化の歴史と今後、良い/悪い事例〜システムテスト自動化カンファレンス2013レポート(3/3 ページ)
テスト自動化を開発の“武器”にするための3つのポイントや、“自動化”の良い事例、悪い事例など、テストの現場を「進化させる」知見が多数紹介されたカンファンレンスの模様をレポートする。
「生涯一テスター」が語るテスト自動化のこれまでとこれから
招待セッションでは、STARアドバイザーの辰巳敬三氏による「テスト自動化のこれまでとこれから」と題したセッションが行われた。
辰巳氏は1976年に富士通のソフトウェア事業部検査部に配属となり、以来、「生涯一テスター」として、ソフトウェアの品質管理やテスト技術を追いかけ続けているという。
テスト自動化の歴史
テスト自動化の歴史は長い。辰巳氏が論文を調査したところ、テストに関する論文として、テスト手順の標準化、計算機時間の効率化を述べた「Automatic Program Testing」(IBMカナダ)が1962年に登場しているという。DEC初のコンピュータであるDEC PDP-1の登場が1960年であることを考えると、プログラミングとテストは関係が深いと捉えられるだろう。
1970年代にはテスト自動化に関する取り組みも進み、1972年には「Program Test Method」という最初の書籍も登場する。1970年代にはメインフレームのソフトウェア検査部門において多数のテストツールが使われ始め、1990年代にはマーキュリー社(現ヒューレット・パッカード)のXRunner/WinRunner/LoadRunnerなど商用のテストツールも登場する。
メインフレームの時代からUNIXへ、DOSからWebへ、GUIからモバイルへの移行が進む中、現在ではテストのためのツールも商用製品だけではなくオープンソースのツールが登場している。例えば、Webアプリケーションのテストを行う「Selenium」などが上げられる。
テスト自動化のこれから
最後に辰巳氏は、テスト自動化のこれからとして、現在「International Workshop on Automation of Software Test(AST)」で研究されているテーマを紹介した。
2013年5月に開催された際に特別テーマとして挙げられたのは、新たな概念「Testing of Software as a Service」(TaaS)だ。これはクラウドのテストに加え、クラウドを使ったテストを含む概念で、ASTを含むさまざまな会合でワークショップが行われているという。
「Test Automater」が職業の人はどれだけいる?
また、辰巳氏はテストに携わる技術者は専門技能が必要であるとし、より具体的な職責として定義されるのではないかとした。そこで辰巳氏は、LinkedInにおいて「Test Automater」という職責がどのくらい存在しているのかを調査してみたという。
その結果、ソフトウェア技術者が353万人登録されているうち、肩書きに「Test Automater」と明記していたのはわずか58人(0.0%)、「Test Engineer」は15万人弱(約4.2%)しかいなかったという。
辰巳氏は「テスト自動化の歴史は古いが、専門家されてからはまだ10〜15年程度しかたっていない。テスト技術者にとって自動化は必須知識。ツールを使うだけではなく、自動化ノウハウを方法論としてまとめたり、新たな開発に挑戦し、世界に打って出てほしい。今からでも先駆者になれる」と述べ、まずは研究会コミュニティに参加することから始めよ、とした。
なお、本稿で照会した講演資料は、テスト自動化研究会(STAR)のページで参照できる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Selenium WebDriverでWebアプリのテストが変わる(前編):iPhone/Android含むブラウザ自動テストの最終兵器Selenium WebDriverとは
Chrome、Firefox、Internet Explorer、Opera、Android、iOSといったブラウザに対応し、Java、C#、Python、Rubyが使えるWebテスト自動化ツールの3つの特徴と環境、実装方法を簡単に紹介 - フレームワークで実践! JavaScriptテスト入門(5):Capybara-Webkit+Cucumber+Sinon.JSでJavaScriptのテストはここまで変わる
RubyでWebKitをヘッドレス化するフレームワーク、受け入れテストの記述が日本語でできるツール、スタブやモック、スパイが使えるライブラリを組み合わせたテスト方法などを紹介。 - Railsで目指せ、情熱エンジニア(8):実例で学ぶRailsアプリのテスト方法
前回はRailsで使われるテストフレームワークをご紹介しました。今回は具体的なWebアプリを例に、簡単なテストを使ったリファクタリングについて解説します - Androidアプリ開発テスト入門(2):Android SDKでビジネスロジックのテストを自動化するには
Android開発におけるビジネスロジックについて解説し、Android SDKのテストフレームワークの概要と使い方、テストの書き方を紹介します - 特集:受け入れ検査の自動化手法の考察:Windowsアプリの受け入れテストを自動化しよう
単体テストの次は、エンド・ユーザーへの納品時の受け入れテストも自動化したい? それを実現する手法を紹介する。 - 特集:UIオートメーションによる自動UIテスト:WindowsアプリのUIテストを自動化しよう!
Windowsアプリのユーザー・インターフェイス、どうやってテストしていますか? 単体テストで徹底的に自動化して開発効率アップ! - 連載:ASP.NET MVC入門【バージョン3対応】最終回 テスト自動化でアプリケーションの品質向上
M、V、Cに明確に分離されたアプリ構造は従来に比べ単体テストも実施しやすい。テストの基礎からモック・ライブラリ活用までをまとめる - PHP開発者のためのテストのすゝめ(1):ユニットテストはなぜ必要なの?
開発の全工程の中で、あまり人気がないのがテスト工程だ。ソフトウェアの品質を証明するためのテストは、なぜ低く見られてしまうのか - Eclipseプラグインq4eでカンタンMaven入門(前編):ビルドやテスト、依存ライブラリ追加は自動化できる!
ビルドやテスト、レポート作成、依存ライブラリ追加を自動化するMavenと、その操作を簡単にするEclipseプラグインを紹介 - 第1回Androidテスト祭りレポート:Android開発で泣かないための「テスト」の重要性
その自由度の高さや多様性ゆえに、さまざまな課題を抱える、Androidアプリ開発の“テスト”に焦点を当てたイベントの模様を紹介します - UX Clip(28):JavaScriptのテストを開発工数に入れてもらうには?
Webアプリの大規模化とフロントエンド領域の拡大により、JavaScriptのテストの必要性が高まっている。数ある高機能なテストフレームワークをどう使いこなせば、高速かつ高品質な開発が可能になるのだろうか。