testablishの概要 と 利用しているoss...テストコードの生成~...

17
Copyright © Software Research Associates, Inc. All Rights Reserved 2019.11.7~8 V1.1 株式会社 SRA 関西事業部 米村 信之 Testablishの概要 利用しているOSS

Upload: others

Post on 08-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

Copyright © Software Research Associates, Inc. All Rights Reserved

2019.11.7~8V1.1

株式会社 SRA 関西事業部

米村 信之

Testablishの概要と

利用しているOSS

Page 2: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

目次

1

• Testablishの概要

• デモ

• 利用しているOSS

– Selenium, Selenide

– neo4j

– Cassandra

– PostgreSQL

– Qt

– Docker

– Node.js

– Apache POI

– Gradle

Page 3: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

Copyright © Software Research Associates, Inc. All Rights ReservedCopyright © Software Research Associates, Inc. All Rights Reserved 2

Testablish の概要

Page 4: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

はじめに

• Testablishとは

– Webアプリケーションの自動テストを支援するツール

– 2018/10/10 にリリース

– Seleniumのテストコードをノンプログラミングで生成

– テスト仕様書(MS Word, MS Excel)の作成

– テスト対象のアプリが動作していなくてもテストが作成できる

3

Page 5: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

Testablishでできること

4

– キャプチャ&リプレイ とページ情報登録• ブラウザ上の操作をサーバ上に操作ログとして記録して再生する(キャプ

チャ&リプレイ)

• 手入力や操作ログからページ情報を整備してテスト編集を行える

– テストコード生成• 登録した画面の情報を使ってGUIでテストシナリオの組み立てができる

• テストシナリオからSeleniumのテストコードを生成する

• テストコード内のバッチファイルを起動することにより自動テストが行える

– テスト仕様書生成• 作成したテストシナリオの仕様書を生成する

以下の機能により自動化を支援

Page 6: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

製品概要

5

• システム構成

Testablishサーバ

利用者PC

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

WebSocket

ターゲットアプリケーション

アプリケーションサーバ

開発者PC

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

テストコード

実行環境(Java, Selenium WebDriver)

テスト作成者PC

WebSocket

HTTP

HTTP

ダウンロード

HTTP

Testablishサーバモジュール

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

※ダウンロード後、実行環境に適用するのはTestablishの範疇外

テスト仕様書

操作ログ収集

テストケース作成

テストコード生成

テスト仕様書生成

ページ情報要録

オンプレミスサーバー

Zipファイル

Excel, word

HTTP

Page 7: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

使い方イメージ

6

テストケース編集

テストコード生成

ページ情報登録

テストコード実行

ブラウザ拡張(Chrome版, IE版)をインストールしたPCで操作して登録

(キャプチャ)

開発者が画面の情報を手作業で登録するExcelを使って登録することもできる

GUIでテストケースを組み立ててシナリオ

を編集する

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

テスト実行結果をテスト結果書生成

一連の作業を繰り返しながらテストを充実させる

生成したテストは配布して複数の場所で実行

することが可能

テストコードの実行環境にはJavaと

WebDriverが必要

Page 8: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

製品概要

7

• その他の特徴

– 画面遷移図をグラフ表示できる

– テストケースにJavaScriptの処理を挿入できる

– テストケースにシステムコマンドを挿入できる

– 登録されているページ情報の利用状況が分析できる

– APIでテストコードダウンロードが可能

– 複数の人で同一テストのメンテナンスが可能

– テスト実行中のスクリーンショットが残せる

Page 9: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

Copyright © Software Research Associates, Inc. All Rights ReservedCopyright © Software Research Associates, Inc. All Rights Reserved 8

デモ

Page 10: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

お問い合わせ

9

• もっと詳しい情報

– SRA HP

• https://www.sra.co.jp/testablish/

– 問い合わせ先、デモ希望• [email protected]

Page 11: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

Copyright © Software Research Associates, Inc. All Rights ReservedCopyright © Software Research Associates, Inc. All Rights Reserved 10

利用しているOSS

Page 12: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

利用しているOSS

11

• Selenium2 / Selenide

– Selenium2はブラウザの操作を自動化するためのツール

– オープンソースで提供

– WebDriver APIに対応

– Selenide は Selenium2の ラッパー(Javaで提供)

chromechrome用WebDriver

selenium

selenide

FirefoxFirefox用WebDriver

(Java,C#, Ruby, Python, Javascript, Perl, PHP, Haskel,

Objective-C, R, Dart, Tcl, Elixir)

(Java)

(Microsoft Edge, Opera, Safari, IE, … )

Testablishで生成したテストコード(Java)

その他ブラウザ

Page 13: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

利用しているOSS

12

• Neo4j

– オープンソースのグラフデータベースの代表格

– 「ノード」と「リレーション」の概念を持ち、その関係を保持するデータベース

• Testablishではページとその間の関係を保持する用途で利用している

Page 14: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

利用しているOSS

13

• Cassandra

– キーバリューストア

– 大量になる操作ログの情報を高速に検索する目的で使用

• PostgreSQL

– リレーショナルデータベース

– 修正変更が頻繁に行われるテストケースのデータ保持で利用

ブラウザの操作を記録したデータの参照画面

Cassandraでデータ管理

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

Page 15: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

利用しているOSS

14

• Qt

– マルチプラットフォームのUIを構築できるツールキット

– 操作ログを収集するツールのUIに利用• 将来的にMacにも操作ログ収集ツールを対応させるために利用

• Docker

– 仮想環境を実現する軽量コンテナ環境

– Testablishのサーバーモジュールをコンテナ化して提供• UI : サーバー側GUIモジュールコンテナ

• Cassandra : 操作ログ格納用コンテナ

• Neo4j : フローデータ格納用コンテナ

• PostgreSQL : テストデータ格納用コンテナ

GUIでDockerを操作できるKitematicの画面 Qtで作成した操作ログ収集ツール画面

Page 16: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

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

利用しているOSS

15

• Node.js

– サーバーサイドJavaScript環境

– Testablish のサーバーGUIで使用

• Apache POI

– Word, Excel のファイルのハンドリングを行うライブラリ

– テスト仕様書生成などで使用

• Gradle

– 設定ファイルをGroovyで記述するビルドツール

– テスト実行の処理に利用

Page 17: Testablishの概要 と 利用しているOSS...テストコードの生成~ テスト実行はCIツール と連携して自動化可能 テスト実行結果をテス ト結果書生成

Copyright © Software Research Associates, Inc. All Rights ReservedCopyright © Software Research Associates, Inc. All Rights Reserved 16

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