20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは?...

48
© 2016 Insight Technology, Inc. All Rights Reserved. ソフトウェアテストを効率的に実施するための データの仮想化と自動化とは? 株式会社インサイトテクノロジー ビッグデータ・ソリューション事業部 秀樹

Transcript of 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは?...

Page 1: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは?

株式会社インサイトテクノロジービッグデータ・ソリューション事業部

益 秀樹

Page 2: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

ブラウザ センサー情報UGC/UGM

常時ネット接続=新規サービスの需要

SNS ブログ 位置情報画像/動画 生体情報

趣味・嗜好 思想・信条 関心事

行動パターン

信仰・宗教

健康状態

旅行予定

移動経路 行動範囲

検索 閲覧履歴

いつでも

どこからでも

即座に

3

Page 3: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 3

シェアリングエコノミーをめぐる環境

シェアライド 民泊 ペット預かり 家事代行

Page 4: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 4

競合に対する優位性=スピード

有識者検討会

リサーチ&プロトタイプ

法律の整備

サービスローンチ

Ver.2 Ver.3

認可社会の動き

サービス提供者の動き

新しいビジネスモデル

競合

競合 M&A

Page 5: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 5

https://bankinnovation.net/2017/07/bofa-and-chase-pull-ahead-of-wells-in-mobile-user-growth/

アメリカがうらやましい?

Page 6: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 6

アメリカがうらやましい?

https://bankinnovation.net/2017/08/partnership-is-the-only-way-smaller-banks-can-compete-on-mobile/

Page 7: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 7

武装が必要ですよね

Page 8: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 8

という事で自動化です

Page 9: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 9

システムの仮想化と自動化

サーバプール

ネットワークプール

ストレージプール

Orchestrator

API

Provisioning

リクエスター

指令

Page 10: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 10

システムの仮想化と自動化

commit test

fix commit test

fix

commit test

fix

Deploy

Page 11: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 11

デモ環境の説明

プッシュフック

フェッチ

コピー

実行

結果

Page 12: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 12

デモ環境の説明

• Fizz Buzz• Fizz:3で割り切れる数字

• Buzz:5で割り切れる数字

• FizzBuzz:3でも5でも割り切れる数字

fizzbuzz table

Page 13: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 13

デモ環境の説明

• “Fizz” “Buzz” “FizzBuzz”の文字列チェック

• 出現数をカウント

1~200の間の出現回数

• Fizz :53

• Buzz :27

• FizzBuzz :13

• 処理の最後にfizzbuzzテーブルを更新

1回目の処理:成功

2回目の処理:失敗

Page 14: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 14

デモパターン1の説明

• Fizzの条件テスト

• Buzzの条件テスト

• FizzBuzzの条件テストfizzbuzz table

FizzBuzz

Fizz

Buzz

Page 15: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 15

デモパターン2の説明

1. DBデータのクリーンナップ

2. Fizzの条件テスト

3. DBデータのクリーンナップ

4. Buzzの条件テスト

5. DBデータのクリーンナップ

6. FizzBuzzの条件テスト

fizzbuzz table

FizzBuzz

Fizz

Buzz

Page 16: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 16

デモパターン3の説明

同時実行 fizzbuzz table

FizzBuzz

Fizz

Buzz

fizzbuzz table

fizzbuzz table

1. DBデータのクリーンナップ

2. Fizzの条件テスト

1. DBデータのクリーンナップ

2. Buzzの条件テスト

1. DBデータのクリーンナップ

2. FizzBuzzの条件テスト

Page 17: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 17

製品のリリースまで

RFI/RFP

要件定義

基本設計

詳細設計

実装 コードレビュー

単体テスト

統合/結合テスト

システムテスト

受入テスト検証

Page 18: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 18

製品のリリースまで

RFI/RFP

要件定義

基本設計

詳細設計

実装 コードレビュー

単体テスト

統合/結合テスト

システムテスト

受入テスト検証

Bug

Bug

Bug

Bug

Today

Bug

Bug

Bug

Bug

データ仮想化

&自動化

Page 19: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

19

デモ環境の説明

プッシュ

フック

フェッチ

コピー 実行

結果

実行

結果

リフレッシュ

Page 20: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 20

とは

NFS

DELPHIXエンジン

アプリケーション

ファイル

データベース

ソースシステム

SHARED DATA

+

CHANGED DATA

データ仮想化システム テストや開発での利用

データ仮想化ソフトウェアアプライアンスです

NFS

インジェスト

リフレッシュ

Page 21: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 21

テスト環境の申請の流れ

環境提供までの待ち時間

単体テスト環境

本番DB環境のコピーを申請

統合テスト環境

本番DB環境のコピーを申請

品質管理環境

本番DB環境のコピーを申請

開発環境

システム管理者DB管理者

本番DB環境のコピーを申請

各種リソースの確認

領域の確認と切り出し

ファイルシステムの構成

バックアップファイルのコピー

DBのリカバリー

DBのパラメータ調整

環境の引き渡し

数日の待ち時間

ストレージ管理者

セキュリティの確保

Page 22: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 22

テスト環境の申請の流れ

単体テスト環境

本番DB環境のコピーを申請

統合テスト環境

本番DB環境のコピーを申請

品質管理環境

本番DB環境のコピーを申請

開発環境

システム管理者DB管理者

本番DB環境のコピーを申請

各種リソースの確認

領域の確認と切り出し

ファイルシステムの構成

バックアップファイルのコピー

DBのリカバリー

DBのパラメータ調整

環境の引き渡し

ストレージ管理者

セキュリティの確保

数分Delphix

Page 23: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 23

デモ ~プロビジョニング~

Page 24: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 24

デモパターン3の説明

同時実行 fizzbuzz table

FizzBuzz

Fizz

Buzz

fizzbuzz table

fizzbuzz table

1. DBデータのクリーンナップ

2. Fizzの条件テスト

1. DBデータのクリーンナップ

2. Fizzの条件テスト

1. DBデータのクリーンナップ

2. Fizzの条件テスト

再掲

Page 25: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 25

デモパターン3の説明

同時実行fizzbuzz table

FizzBuzz

Fizz

Buzzfizzbuzz table

fizzbuzz table

1. DBデータのクリーンナップ

2. Fizzの条件テスト

1. DBデータのクリーンナップ

2. Fizzの条件テスト

1. DBデータのクリーンナップ

2. Fizzの条件テスト

DB1

DB2

DB3

Page 26: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

block pointerblock pointerblock pointer

開発 QA 受入テスト

1 TB

App Data Files

✓ 重複排除✓ 圧縮✓ 仮想化により領域追加消費なし✓ ユニークなブロックマッピング技術

0.3 TB

実データブロック

Delphixの仕組みソース ターゲット

Page 27: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

block pointerblock pointerblock pointer

開発 QA 受入テスト

1 TB

App Data Files

✓ 重複排除✓ 圧縮✓ 仮想化により領域追加消費なし✓ ユニークなブロックマッピング技術

0.3 TB

実データブロック

Delphixの仕組みソース ターゲット

Page 28: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

block pointerblock pointerblock pointer

開発 QA 受入テスト

ソース

1 TB

App Data Files

ターゲット

実データブロック

Delphixの仕組み

NFSmount

NFSmount

NFSmount

0.3 TB

Page 29: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

block pointerblock pointerblock pointer

開発 QA 受入テスト

1 TB

App Data Files

0.3 TB

実データブロック

NFSmount

NFSmount

NFSmount

Copy-on-write

更新

変更blockを時間管理

ソース ターゲット

Delphixの仕組み

Page 30: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

開発

NFS, iSCSImount

テスト

品質保証(QA)

DELPHIXエンジン

App Binaries, Files

DB Binaries, Files

Database

ソースシステム(本番環境など)

SHARED DATA

+

CHANGED DATA

高圧縮同期/差分情報コピー

(元データの1/3~1/4)

物理容量を消費せず仮想環境を複数複製

任意の時刻でプロビジョニング

自動で継続的なマスキング

コアテクノロジー仮想化システム テスト&開発

独立した環境(1人に1システム)

仮想環境作成が数分で完了

物理環境へのプロビジョニング

(V2P)も可能

エンドユーザーによるセルフサービスも可能

Page 31: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 31

デモ ~セルフサービス~

Page 32: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 32

実データブロック

block pointerblock pointerblock pointer

Delphixの仕組み開発 QA 受入テスト

NFSmount

NFSmount

NFSmount

Page 33: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 33

実データブロック

block pointerblock pointerblock pointer

Delphixの仕組み開発 QA 受入テスト

NFSmount

NFSmount

NFSmount

Page 34: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 34

実データブロック

block pointerblock pointerblock pointer

Delphixの仕組み開発 QA 受入テスト

NFSmount

NFSmount

NFSmount

Page 35: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 35

高機能ストレージとの違い

Oracleアイランド

高機能ストレージ(共有ストレー

ジ)

Writable Snapshot

Page 36: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 36

高機能ストレージとの違い

Oracleアイランド

高機能ストレージ(共有ストレー

ジ)

Writable Snapshot

+

NFS

DELPHIXエンジン

ソースシステム

データ仮想化システム

テストや開発での利用

NFS

インジェスト

アプリケーション

ファイル

データベース

Page 37: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 37

Delphixの機能

過去

未来

完全セルフサービス

Page 38: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 38

デモ ~複数のOracleとセルフサービス~

Page 39: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 39

顧客事例

ソースシステム

注文入力 資材管理

注文入力

資材管理

Page 40: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 40

顧客事例

ソースシステム

注文入力

資材管理

注文入力

資材管理

Page 41: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 41

本番データとテストデータ

Page 42: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

SHARED DATA

テスト

DELPHIXエンジンApp Binaries, Files

DB Binaries, Files

Database

ソースシステム(本番環境など)

+

CHANGED DATA

本番データをテストに?仮想化システム テスト&開発

Page 43: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

SHARED DATA

テスト

DELPHIXエンジンApp Binaries, Files

DB Binaries, Files

Database

ソースシステム(本番環境など)

+

CHANGED DATA

本番データをマスキング仮想化システム テスト&開発

Data Masking

Page 44: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

SHARED DATA

DELPHIX

+

CHANGED DATA

仮想化システム

Masked Data

SHARED DATA

テスト

DELPHIXApp Binaries, Files

DB Binaries, Files

Database

ソースシステム(本番環境など)

+

CHANGED DATA

本番データをマスキング仮想化システム テスト&開発

Data Masking

Replication

Page 45: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 45

データマスキング アルゴリズムの種類Delphixのデータマスキングは複数のアルゴリズムから選択できます

アルゴリズム 説明

Secure Lookup 一貫した方法でマスク値を割り当てます。

Segmented Mapping 部分定義に基づいてデータを置換します。例)ACCOUNT NUMBERの初めの数桁はオリジナルのままのデータを保持し、残りの部分を乱数で置換。

Mapping 元データを順番に、ルックアップテーブルに予め設定している値にマップしてマスク値を決定。

Binary Lookup Secure Lookupアルゴリズムに近いが、全ファイルが特定のカラムにストアされているときのみ使用。

Min/Max データベースの値が指定された範囲の中にあることを確認することに利用。例えば年齢99歳以上という個人の特定を妨げます。

Tokenization ランダムに生成されたトークンデータと置換。トークン化環境でのみ使用することを想定。

Data Cleansing 元データがマスキングの前に標準的なフォーマットに置換することができます。たとえば、「Ariz」、「Az」、「Arizona」はすべて「AZ」に置換するようなことができます。

Free Text Redaction このアルゴリズムはフリーテキストのカラムを編集またはマスクします。ホワイトリストやブラックリストを使ってマスクする・しないを決定します。このアルゴリズムを使うには事前の相応の設定が必要になります。

不可逆

可逆

Page 46: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 46

デモ ~データマスキング~

Page 47: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved. 47

まとめ

データの仮想化と自動化で

快適なテスト・開発環境を実現しましょう

Page 48: 20180124_ソフトウェアテストを効率的に実施するためのデータの仮想化と自動化とは? by 株式会社インサイトテクノロジー 益秀樹

© 2016 Insight Technology, Inc. All Rights Reserved.

記載されている会社名、サービス名、製品名は、株式会社インサイトテクノロジーおよび各社の商標または登録商標です。

Copyright 2016 Insight Technology, Inc. All Rights Reserved.

48

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