第2章の中で原書の刊行当時から「変わった」こと
テスト自動化研究会(略称:STAR)の太田健一郎と申します。『システムテスト自動化 標準ガイド』では第2部の監修を担当しました。
担当した第2部は事例集だったのですが、15年前に刊行された原書の事例は内容が古く、現在のテスト自動化の参考になる情報がほとんどありませんでした。しかし、事例は紹介したほうがよいので、翻訳刊行するにあたって翻訳メンバーとは別に執筆メンバーを募り、最新事例の書き下ろしを収録しました。
一方で、テスト自動化の理論を解説する第1部は内容が普遍的で、そのまま翻訳しても差し支えないものでした。とはいえ、刊行から15年の間に変わった部分もあります。第2章に書かれていたことのうち、現在までに変わったことを次表にまとめました。
分類 | 当時 | 現在 |
---|---|---|
テスト自動化アプリケーション | Windowsネイティブアプリケーション |
Webアプリケーション/ モバイルアプリケーション |
テスト自動化ツール | 商用 | OSS |
代表的なツール | Mercury(現HP) WinRunner | Selenium |
テスト自動化の課題 | GUIオブジェクト認識 |
マルチブラウザ マルチプラットフォーム |
原書刊行当時は、実用レベルのアプリケーションとしてはWindowsネイティブアプリケーションが中心でした。第2章や原書の第2部で紹介されている事例でも、Windowsネイティブアプリケーションがテスト自動化対象の中心です。Webやスマートデバイスのアプリケーションが中心の現在とは大きく異なります。
システムテストにおいては、テスト自動化が一部のエンジニアだけでなく、多くのエンジニアが低い初期コストで取り組めるプラクティスとなったことが大きな変化として挙げられるでしょう。その背景には、「Selenium」(IDEおよびWebDriver)をはじめとするOSSのテスト自動化ツールの普及があります。
OSSのテスト自動化ツールは、ツールのライセンス費用というテスト自動化の障壁を取り払ってくれました。今や、ツール導入のROI(費用対効果)に影響を与えるのはツールのライセンス費用ではありません。テスト自動化に関わるエンジニアのスキルや、自動化の実行基盤であるクラウドサービスの質が大きな影響を与えます。
第2章の中で原書の刊行当時から「変わらない」こと
一方で、『システムテスト自動化 標準ガイド』の第2章で説明されている次の事実は、15年経っても変わっていません。
- キャプチャーリプレイはテスト自動化ではない
- 比較の検証は自分で作成もしくは挿入する必要がある
テスト自動化ツールのキャプチャーリプレイ機能を使い、単純にアプリケーションの操作を記録しても、テスト入力が自動化されるだけです。これはツールが進化した現在でも変わらないシンプルな事実です。比較の検証はテストエンジニアが作成したり挿入したりする必要がある点も変わりません。
ただし、比較の方法にはいくらか変化があります。
OSSのテスト自動化ツールの多くは、商用ツールのようなオールインワン型ではありません。Webアプリケーションとの通信API(Selenium WebDriverやGeb)とテスト実行ツール(JUnitやSpock)を組み合わせてテストするケースがほとんどです。そのため、最近では「実行後比較」よりも、テスト実行ツールから検証APIを呼び出す「動的比較」が主流です。言葉の上でも、動的比較と実行後比較を明確に呼び分ける場面が減ってきたと、筆者は感じています。