前編 では、End-to-Endテスト(E2Eテスト)の最適化と自動化を実現する手立てとして、テスト自動化ツールを提供するTricentis社と同社製品のToscaによる戦略を紹介しました。ここからはToscaによってもたらされる効果を紹介します。
Tricentis Toscaの4つの特徴
前編で挙げた3つの戦略に基づいてToscaは、図1 に表すようにモデルベースによるテスト自動化(Model-based Test Automation:MBTA)を中心として、リスクベースなテストケース設計支援、テストデータの管理、仮想化サービス統合(Orchestrated Service Virtualization:OSV)の4つの特徴で構成されます。
図1 Toscaの主要な4つの特徴
モデルベースによるテスト自動化
Toscaはテスト対象のUIをモデリングしたモジュールを生成し、そのモジュールからテストケースを作成してテストを自動実行します。使い方の概要をWebアプリケーションのGUIテストで説明すると、次のようになります。
テスト対象のGUIをToscaでスキャンし、画面上のエレメントなどの部品(コントローラと呼ぶ)を持ったモジュールを作成(図2 )
図2 テスト対象のUIをモデリングする
テストケースの作成では、モジュールからテストステップを実装。コントローラに対してテストするデータの登録や値の検証を行う(図3 )
図3 モデリングしたモジュールからテストケースを実装する
テストケースを実行すると、モジュール内のエンジンによってテスト対象画面のUIを自動でコントロールしてテストを実行(図4 )
図4 テストケースの内容でテストを自動実行する
モデルベースの大きな特徴は、スクリプトレスなモジュールを利用してGUIでテストケースを作ることができるので、直感的にテストケースが作れることやテストケースのメンテナンス性に優れていることです。モジュールには30種類を超えるアプリケーションを操作するためのさまざまなエンジンが備わっていますので、Webの画面とAPI、モバイルアプリを始めとして、デスクトップアプリケーション、DWH、さらにはオフィス系の文書ファイルまでテスト自動化の対象とすることができます。
リスクベースなテストケース設計支援
Toscaはテストのもとになる要件を作成・管理できるので、要件からテストケース、そしてテストの実行結果をリンクさせることで、要件に対するテストカバレッジを測定することができます。Toscaでは要件ごとにWeightを入力することができ、これがビジネスへの影響度(リスク)として表され、リンクされているテストケースや実行結果に重みづけができます。これによって、リスクを考慮したテストケースの作成の最適化を支援します。
テストデータの管理
Toscaのテストデータ作成機能は、モジュールのコントロールひとつひとつとリンクした属性を用意し、属性ごとに複数の値を管理させておくことができます。これにより、属性値を組み合わせて作成したテストデータ群でテストケースをまとめて生成できます。データ生成では属性値に対して境界値や代表値の定義、主要な値の指定が行えます。これらの情報と直交法やペアワイズ法などの組み合わせ方法によって、任意の組み合わせデータを生成します。
仮想化サービス統合(OSV)
OSVは、仮想化によるアプリケーションレベルのモックを用意することで、特定のアプリケーションのためのE2Eテストや統合テストを実現できます。OSVの構築もモデルベースと同じくスクリプトレスなため、メンテナンス性も良くなります。
Toscaは回帰テストに強い
ToscaのE2Eテストは既存機能やモジュールに対する回帰テストでその力を発揮します。逆に新機能開発のようにスピードが重要視される場合は、Seleniumなどのスクリプトベースのテストを利用するほうが良いでしょう。つまりスピードと品質管理の両立には、新規機能テストはスクリプトベース、成熟した機能はToscaでメンテナンス性やリスク重視のテストを行う、といった状況に応じた使い分けも重要になります。システムおよび開発チームの成熟度に合わせて、最適なテストツールで品質管理を行ってみてください。
米国Atlassianから、2年連続で「Top new business APAC」を受賞。 Atlassianセールスパートナーとして アジアパシフィックで1位の証
日本だけでなく、アジア圏でもアトラシアン製品販売のトップエキスパートであるリックソフトのWebサイトでは、各アトラシアン製品の体験版を提供しているほか、アトラシアン製品専用のコミュニティも運営しています。まずはアクセスしてみては!
第1特集
MySQL アプリ開発者の必修5科目
不意なトラブルに困らないためのRDB基礎知識
第2特集
「知りたい」「使いたい」「発信したい」をかなえる
OSSソースコードリーディングのススメ
特別企画
企業のシステムを支えるOSとエコシステムの全貌
[特別企画]Red Hat Enterprise Linux 9最新ガイド
短期連載
今さら聞けないSSH
[前編]リモートログインとコマンドの実行
短期連載
MySQLで学ぶ文字コード
[最終回]文字コードのハマりどころTips集
短期連載
新生「Ansible」徹底解説
[4]Playbookの実行環境(基礎編)