自動テスト×クラウド= 手動8400時間分の回帰テスト15万件－ 適用→実行→フィードバックを１日で完了せよ －株式会社ワークスアプリケーションズ
クオリティ&カスタマーサポート
品質エンジニア
井川 尚也
WORKS APPLICATIONS Co.,Ltd.

パブリック・クラウド流行ってます！
自動テストとクラウド環境は相性抜群
ボタン一つでテスト環境を増やすことができるなど、クラウドを利用するメリットが多くある。
簡単に環境を増減可能
設置場所が不要
電源確保が不要NEXT 環境を膨大に構築したのはいいけど････
WORKS APPLICATIONS Co.,Ltd.

今、こんな状況ではないですか？
全てのテスト環境に必要なデータを用意している
全てのテスト環境に適用している全てのテスト環境にテスト結果を見に行ってるたくさん環境を作ってみたけれど
せっかくクラウドを活用しているに、運用コストはオンプレミスと変わっていない？勿体無いです。
NEXT 本当に運用コストは下がらないのでしょうか？
WORKS APPLICATIONS Co.,Ltd.

新たなスポットライトを照らしましょう
クラウドの特性を生かして「運用コスト削減」
今まで ＝「調達コスト削減」にスポットライト
本日は ＝「運用コスト削減」にスポットライト
運用コスト削減
データを用意するコスト削減
適用コスト削減

調達コスト削減
・環境の増減が容易
・電源の確保が不要…など

テスト結果管理コスト削減

NEXT どれくらい運用コストを下げているのか
WORKS APPLICATIONS Co.,Ltd.

350台をクラウドで構築
運用実績
・協力会社2名で1人×6時間 = 「合計12時間/日」対応
・私はたまに質問を答えるだけです。
・1000台 → ∞（無限台）になっても、同じ工数で管理できます。
今回の事例発表では運用コストを削減する為のクラウド活用術を紹介いたします。
NEXT その前に事前知識として、用語説明をします。
WORKS APPLICATIONS Co.,Ltd.

事前知識 – 弊社製品の構成とAWS用語 –弊社会計製品の構成
弊社会計製品は、・APサーバー（WAS）・DBサーバー（ORACLE）・クライアントの三層構造です。

APServer
ClientインスタンスとはPCに置き換えるとPC全体を指します。
ボリュームとはPCでいうハードディスクです。
NEXT では、アジェンダをどうぞ
WORKS APPLICATIONS Co.,Ltd.

DBServerアジェンダ• メンテナンスする環境が減れば、運用コストが削減できます。
• クラウドの特性を生かして、メンテナンス対象の環境をいかに減らすかがPOINTになります。

1.テスト環境を1インスタンスで完結する
2.コピー活用でメンテナンス環境を1つに
3.管理情報を1つに集める
4.おわりにNEXT 「テスト環境を1インスタンスで完結する」
WORKS APPLICATIONS Co.,Ltd.

テスト環境を1インスタンスで完結する①
初めは

環境構築の度にインスタンス

インスタンス

インスタンス

インスタンス

インスタンスAPServer
Client

新APServer
新Client
新DBServer

DBServer

社内と同じ様に・Client・APServer
・DBServer
を別々のインスタンスで構築した。

インスタンス

環境構築の度に・Client⇔AP間通信
・AP⇔DB間通信のIPを再設定する作業が発生した。

NEXT 社内と同じ構成にした為に、無駄なコスト発生
WORKS APPLICATIONS Co.,Ltd.

テスト環境を1インスタンスで完結する②スペックを選べる1つにするインスタンスAPServer
DBServer
低スペック

Client高スペック

社内と異なり、クラウドなら高スペックのサーバーを簡単に用意できる。

高スペックサーバーにServer・Clientを同一インスタンス内で構築することで、運用コストを削減できる。

NEXT さらに、運用コストを下げる為に
WORKS APPLICATIONS Co.,Ltd.

テスト環境を1インスタンスで完結する③余剰が生じてる？

あえて分ける1つのインスタンス

APServer・DBServer

AP・DBServer
ClientClientClient

1つのインスタンス

Server : Client= 1 : 8～12 が適切

CleintServerとClientを1つに纏めるとサーバーに余剰が生じ、コストの無駄になる

クラウド料金を抑えるために、ServerとClientのインスタンスをあえて分けて構築

予め必要なServer（Client）の数・利用時間を比率で洗い出し、最適なコストパフォーマンスを考慮し、できる限り1つのインスタンスで完結できるようにする。
WORKS APPLICATIONS Co.,Ltd.

コピー活用でメンテナンス環境を1つに①メンテナンスする環境（元環境）を1つに絞る①「元環境を最新状態にする」②「中身をコピーする」③「実行環境を入れ替える」
ことで、メンテナンスする環境を最小限に！
最新状態に実行環境

元環境

実行環境
実行環境

Eドライブ

コピ～Eドライブ（ORADATAなど）（ORADATAなど）

NEXT コピーの方法は2つあるWORKS APPLICATIONS Co.,Ltd.

コピー活用でメンテナンス環境を1つに②AWSのコピーには2つの方法がある

私は『SNAPSHOT』を選択した
SNAPSHOTを選択した理由は下記の通りです。
・短期間に全てのテストを実行したい
・環境構築はボタン一つでできる・AMIを利用するとインスタンスIDが毎回変動する
NEXT コピー速度をさらに向上させるために
WORKS APPLICATIONS Co.,Ltd.

コピー活用でメンテナンス環境を1つに③コピーの「対象」「非対象」を事前に洗い出す
クラウドに新たにボリューム（以下、Eドライブ）を貼り付け、コピー対象をEドライブに集約します。
その為、最小の時間でコピー⇒入れ替え可能に。

毎日更新するような「適用物」や「テストデータ」などをEドライブに集約しコピー⇒入れ替えすることで、メンテナンスする環境を最小限にしています。
WORKS APPLICATIONS Co.,Ltd.

管理情報を1つに集める
回帰テストに必要な情報を1つに集めるサーバーを構築

・ClientおよびServerの実行情報
・回帰テストの実行結果
・回帰テスト実行前の適用チェック結果を一つのサーバーに蓄積・照会できるようにした。
管理サーバー

VERSION αServerClient

COPY

COPY

ServerServerServerClientServerServer

実行Clientの実行情報

ClientServerClient

COPY

ServerServerServer

COPY

ClientServerServer

実行Serverの実行情報

VERSIONβServer

VERSION γ

VERSION δ

COPY

ServerServerServer

回帰テストの結果

Server

COPY

ClientServerServer

テスト前チェック結果

ClientWORKS APPLICATIONS Co.,Ltd.

COPY

ServerServer
Server

COPY

ClientServerServerおわりにチェックシートチェックシートを用意しました。
是非、運用を見直すきっかけとして使ってください！
テスト環境はできる限り1インスタンスで完結
利用料金を最低に抑える環境構成
コピーを活用し、メンテナンス環境が最少コピー対象を絞り、最速でコピー可能管理サーバーを構築し、情報を一元化
WORKS APPLICATIONS Co.,Ltd.

おわりに最後にクラウド運用を工夫する事で、多くのメリットを享受できます。
私は大量のテストを実行する仕組みを構築しました。
では、その実行されているテストはどのように設計されているのでしょうか？
おすすめ！弊社、梶田の事例発表

増え続けるテストケース・テスト環境において許されない不具合をどう永続的に防ぐか？
- 配属直後に課せられた会計製品の金額保証の取り組みにおける工夫ポイント WORKS APPLICATIONS Co.,Ltd.