Testablishの概要と利用しているOSS
2019.11.7～8
V1.1
株式会社 SRA 関西事業部
米村 信之

Copyright © Software Research Associates, Inc. All Rights Reserved目次• Testablishの概要• デモ• 利用しているOSS– Selenium, Selenide– neo4j– Cassandra– PostgreSQL– Qt– Docker– Node.js– Apache POI– Gradle

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved1Testablish の概要

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. AllRights Reserved2はじめに• Testablishとは– Webアプリケーションの自動テストを支援するツール– 2018/10/10 にリリース– Seleniumのテストコードをノンプログラミングで生成– テスト仕様書(MS Word, MS Excel)の作成– テスト対象のアプリが動作していなくてもテストが作成できる

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,Research Associates,
Inc. All
Rights Reserved

3Testablishでできること

以下の機能により自動化を支援– キャプチャ&リプレイ とページ情報登録• ブラウザ上の操作をサーバ上に操作ログとして記録して再生する(キャプチャ&リプレイ)• 手入力や操作ログからページ情報を整備してテスト編集を行える– テストコード生成• 登録した画面の情報を使ってGUIでテストシナリオの組み立てができる• テストシナリオからSeleniumのテストコードを生成する• テストコード内のバッチファイルを起動することにより自動テストが行える– テスト仕様書生成• 作成したテストシナリオの仕様書を生成する

Copyright Copyright© Software©Research
Inc. All Rights
ReservedSoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

4

製品概要
• システム構成

ページ情報要録
Testablish
サーバモジュール

ブラウザ拡張(Chrome版, IE版)
WebSocket

テストケース作成
HTTP

テスト作成者PC
操作ログ収集テスト仕様書生成

Testablish
サーバ

開発者PC

テスト仕様書オンプレミスサーバー

HTTP

テストコード生成
ダウンロードWebSocket
ブラウザ拡張(Chrome版, IE版)

※Testablish の操作画
面はWebブラウザで利用可能

ターゲット
アプリケーション※ダウンロード後、実行環境に適用するのはTestablishの範疇外

Excel, word

テストコードZipファイル

HTTP

利用者PC

Copyright Copyright© Software©Research
Inc. All Rights
Reserved
SoftwareAssociates,
Research Associates,Inc. All
Rights Reserved

HTTP

アプリケーション
サーバ

実行環境(Java, Selenium WebDriver)5使い方イメージ
開発者が画面の情報を手作業で登録する
Excelを使って登録することもできる

ページ情報
登録
一連の作業を繰り返しながらテストを充実させる

テストケース編集

ブラウザ拡張(Chrome版, IE版)
をインストールしたPCで操作して登録(キャプチャ)GUIでテストケースを組み立ててシナリオを編集する

テストコードの生成～
テスト実行はCIツールと連携して自動化可能

テストコード生成
生成したテストは配布して複数の場所で実行することが可能

テストコードの実行環
境にはJavaとWebDriverが必要

テストコード実行
テスト実行結果をテス
ト結果書生成Copyright Copyright© Software©Research
Inc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

6

製品概要
• その他の特徴– 画面遷移図をグラフ表示できる– テストケースにJavaScriptの処理を挿入できる– テストケースにシステムコマンドを挿入できる– 登録されているページ情報の利用状況が分析できる– APIでテストコードダウンロードが可能– 複数の人で同一テストのメンテナンスが可能– テスト実行中のスクリーンショットが残せる

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,Inc. All
Rights Reserved

7

デモ

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

8お問い合わせ• もっと詳しい情報– SRA HP
• https://www.sra.co.jp/testablish/– 問い合わせ先、デモ希望• testablish-sales@sra.co.jp

Copyright Copyright© Software©Research
Inc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

9利用しているOSS

Copyright Copyright© Software©Research
Inc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

10利用しているOSS• Selenium2 / Selenide– Selenium2はブラウザの操作を自動化するためのツール– オープンソースで提供– WebDriver APIに対応– Selenide は Selenium2の ラッパー(Javaで提供)
Testablishで生成したテスト
コード(Java)

selenium
selenide(Java)(Java,C#, Ruby,Python, Javascript,Perl, PHP, Haskel,
Objective-C, R, Dart,Tcl, Elixir)

chrome用
WebDriverchromeFirefox用
WebDriverFirefox(Microsoft Edge,Opera, Safari, IE, … )Copyright Copyright© Software©Research
Inc. All Rights
Reserved
SoftwareAssociates,
Research Associates,Inc. All
Rights Reserved

その他ブラウザ
11利用しているOSS• Neo4j– オープンソースのグラフデータベースの代表格– 「ノード」と「リレーション」の概念を持ち、その関係を保持するデータベース• Testablishではページとその間の関係を保持する用途で利用している

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

12利用しているOSS• Cassandra– キーバリューストア
– 大量になる操作ログの情報を高速に検索する目的で使用• PostgreSQL– リレーショナルデータベース– 修正変更が頻繁に行われるテストケースのデータ保持で利用

ブラウザの操作を記録したデータの参照画面
Cassandraでデータ管理
Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

テストケースの編集画面
PostgreSQLでデータ管理

13利用しているOSS• Qt– マルチプラットフォームのUIを構築できるツールキット– 操作ログを収集するツールのUIに利用• 将来的にMacにも操作ログ収集ツールを対応させるために利用• Docker– 仮想環境を実現する軽量コンテナ環境– Testablishのサーバーモジュールをコンテナ化して提供• UI ： サーバー側GUIモジュールコンテナ• Cassandra ： 操作ログ格納用コンテナ• Neo4j ： フローデータ格納用コンテナ• PostgreSQL ： テストデータ格納用コンテナ

GUIでDockerを操作できるKitematicの画面
Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

Qtで作成した操作ログ収集ツール画面
14利用しているOSS• Node.js– サーバーサイドJavaScript環境– Testablish のサーバーGUIで使用• Apache POI– Word, Excel のファイルのハンドリングを行うライブラリ– テスト仕様書生成などで使用• Gradle– 設定ファイルをGroovyで記述するビルドツール– テスト実行の処理に利用

Copyright Copyright© Software©ResearchInc. All Rights
Reserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

15

ご清聴ありがとうございました。

Copyright Copyright© Software©Research
Inc. All RightsReserved
SoftwareAssociates,
Research Associates,
Inc. All
Rights Reserved

16