...

テストデータ管理 - db tech showcase

by user

on
Category: Documents
1

views

Report

Comments

Transcript

テストデータ管理 - db tech showcase
White Paper
ストレスの多いテスト:
テストデータの欠陥を明らかに
テストデータ管理用
新モデルの構築
目次
なぜテストデータ管理は破たんしているのか . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
テストデータ管理の4つのS
.......................................... 1
テストデータ管理を再定義
.............................................. 4
仮想データでより優れたテストデータ管理
ストレスの多いテスト: テストデータの欠陥を明らかに
.................................. 7
© 2016 Delphix Corp. 無断複写・転載を禁じます。
なぜテストデータ管理は破たんしているのか
株取引から書籍販売業、
タクシー会社からホテルまで、ほぼすべての業界がソフトウェア業界
の一部となりつつあるなか、革新的なビジネスアプリケーションを迅速に開発する能力が、競
争優位を高めることとなっています。そして企業は非常に多くのものをアプリケーションに頼っ
ているため、
ソフトウェアの品質を確保するテストをより良いものにするための新たな方法を
見つける必要に迫られています。
特に、今日のデータ駆動型のアプリケーションには、品質保証作業の成功を決定づけることに
もなるテストデータの収集、管理、提供を行うより優れた方法が必要とされています。テストデ
ータ管理は難しく、アジャイル型の方式やDevOpsをすでに実践している、進歩的な考えのIT組
織さえも困惑している状態です。実際、データ関連のタスクは、アプリケーション開発スケジュー
ルのうち最大60%を占めており、他の付加価値の高い作業から関心がそれてしまっています。1
1
この図式に貢献しているのが、
以下の3つの要因です。
• ビジネスアプリケーションにフィードされるデータが、量においても複雑さにおいても飛躍的に増加
• 柔軟性のないインフラストラクチャーとスローなプロセスにより、テストデータをQAチームに届け
るのにかかる時間とコストが増加
• 既存のツールは、テストデータの質や完全性と引き換えに利便性を重視。
こうした課題や制限を踏まえ、組織は本当に頼ることのできるテストデータ管理を実践しようと
必死に努力しています。テストは、
ソフトウェア開発ライフサイクル(SDLC)の終盤に押しやられ
ることが多く、テスト担当者は不完全なデータ、あるいは妥協したデータで作業せざるを得なく
なります。その結果、作業のやり直しや、
リリースの遅れ、さらには生産システムを狂わせてしま
うような、費用のかかるバグが生じます。現在の業界による概算では、システムのダウンタイム
によって生じるコストは、
ミッションクリティカルなアプリケーションの場合、1時間につき
100,000ドルになるとされています。2
テストデータ管理の4つのS
組織は現在、どのようにデータを管理しているのか
今日のテストデータ管理の典型として、4つのソリューションがあります。サブセッティング
(Subsetting)、シンセティックデータ(Synthetic Data)、共有環境(Shared Environment)、スタ
ンドアロンマスキング(Standalone Masking)です。
これらのアプローチは広く採用されており、
組み合わせて使用されているケースも多くあります。
1 インフォシス、Test Data Management: Enabling Reliable Testing Through Rrealistic Test Data(テストデータ管理: 現実的なテストデータを介して信頼できるテストを実現)
2 コグニザント、Transforming Test Data Management for Increased Business Value(ビジネス価値を高めるためにテストデータ管理を変える)
Page 1 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
サブセッティング戦略
データのサブセッティング技術は、生産規模の完全なデータセットのコピー、移行における制
限を克服するために登場しました。理論上は、
より小さな、
より移植が容易なデータセットでも、
代表的なサンプルを構成している限り、完全なデータセットの代わりとして使うことが可能です。
実際には、サブセットでは、複雑なビジネスプロセスをコンテキスト化する現実世界の条件の
広がりを十分に具現化できません。サブセットに頼ってしまうと、QAチームはエッジケースや異
常値、例えば複数のパラメータが極端なレベルに達するまでわからないようなバグなどの特定
ができなくなります。サブセッティングは、
プロセスに新たなオーバーヘッドを引き起こし、デー
タデリバリを遅らせてしまいます。
アプリケーション
データモデルを構築
メタデータ
の抽出
生産環境
A
マスキング
ルールを作成
アプリケーション
ソース
データベース
サブセット
ルールを作成
アプリケーション
テスト用
データマスキング
データベース
作業を実行
A
テスト環境
データの更新
含めるデータを
抽出
データサブセット
作業を実行
データの
挿入/削除
図1. サブセッティングはプロセスに新たなオーバーヘッドを引き起こし、データデリバリを遅らせる
シンセティックデータ
シンセティックデータは、生産環境にあるソースから得たデータの代用物を、テストデータ用に
アルゴリズム的に生成するという代替的なアプローチです。シンセティックデータの場合、セン
シティブである可能性のある情報を含む「リアルデータ」配信時のセキュリティ問題を回避でき
ますが、その一方で、サブセッティングのアプローチにも見られる欠点をいくつか抱えています。
インテリジェントに生成されたサイズの大きいデータセットでさえも、生産環境にあるリソース
に付随するデータ置換を十分に網羅することはできません。
さらに、シンセティックデータセットを正確に定義し、作成することは困難かつ時間のかかる工
程です。シンセティックデータは、適切なビジネスルールを尊重し、それぞれのビジネスルール
が交差する箇所を把握している必要があります。例えば、ERTデータセット内の販売注文の記録
には、注文番号、アイテム番号、顧客番号など、その構成要素すべてが含まれていなければなり
ません。そして、
このそれぞれを、有効な、既存の顧客記録、アイテム記録を使って多面的な角度
から把握しなければなりません。ビジネスルールの相互依存性だけでなく、それらを1つずつ反
映するとなると、すべてを網羅した本物そっくりのデータを生成することはほぼ不可能に近い
でしょう。
Page 2 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
共有テストデータ環境
個人のテスト担当者に専用のQA環境を供給できない場合、チームやプロジェクトでテスト用
のデータセットを共有することになります。共有の場合、理論的には、複数のチームが共通のデ
ータ環境に即座に、同時にアクセスできるようになり、効率面での利点が生まれることとなりま
す。
しかし実際には、複数のステークホルダーが同時に同じリソースを巡って争うこととなり、衝
突が起こります。その結果、複数のテストランによるデータの変更が互いにぶつかり合うという、
質の低い、無秩序のテスト環境に陥ることもあり、一貫性に欠けた、信用できないテスト結果を
生み出すことになってしまいます。
スタンドアロンマスキングソリューション
テストデータ管理をさらに複雑にしているのが、非生産環境への配信時に、センシティブな情
報を確実に保護する必要性です。
これにはテスト実施に使用されたものも含まれます。それほ
ど精査の厳しくない非生産環境は、
クレジットカード番号や社会保障番号、患者記録などの情
報を盗もうと考えているサイバー犯罪者たちがよく狙う標的となっています。実際、たいていの
組織では、センシティブなデータの80%以上が、非生産環境に置かれています。
生産ネットワーク
非生産ネットワーク
開発/テスト
/QA
オフサイトの
パブリック/
ハイブリッドクラウド
UAT
データウェアハウス
運用中の
データストア
データのリスクが増大
図2. ほとんどのセンシティブなデータが非生産環境に置かれている
シンセティックデータの欠点や、アクセス制御、暗号化などの対策の欠点を考えると、データマ
スキングが事実上、テストデータの安全を確保する際の標準となっています。マスキングツール
は、データ要素のスクランブル化バージョンを作成するもので、実際の値を隠しつつ、テスト用
に機能的に同等の代用物を生成します。
Page 3 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
残念ながら、アプリケーションのライフサイクルは動的なものであるため、多くの組織にとって、
スタンドアロンのマスキングソリューションは非現実的なものと言えるでしょう。テストデータ
は常に変化、成長を続けており、各環境において頻繁なデータの移行、更新を行う必要があり
ます。アプリケーションのライフサイクルにおいてデータに変更が生じ、データマスキングを繰
り返す手順のコストが高くなることから、マスキングツールの導入はあまり進んでいません。新
たにマスキングをしたテストデータを配信するのに必要な時間と労力が、
この負担をさらに増
大させています。その結果、大部分の組織は、付随するオーバーヘッドを避けようと、厳しいマ
スキング手順の採用を避けています。
テストデータ管理を再定義
アプリケーションプロジェクトを加速化させるテスト用ソリューションのモデル
広く採用されているテストデータ管理のアプローチでは、生産データの完全コピーを作成する
時間とコスト面の負担を改善しようという試みが行われています。
しかし、そうした代替手段で
は、1つあるいは複数の次元で破たんしてしまうような、欠陥のあるソリューションが提供され
ています。共有環境では同時アクセスが可能になりますが、テスト担当者間で衝突が起こり、デ
ータの質や一貫性が損なわれてしまいます。シンセティックデータやサブセッティングでのデー
タの作成には時間と労力が必要であり、デリバリに遅れが生じ、代表的でない、あるいは不完全
なデータセットが生成されていまいます。
高い
生産データの完全クローン
仮想データ
テストデータの質
低い
データサブセット
シンセティックデータ
低い
共有データ環境
高い
スピード/テストデータへのアクセス性
図3. テストデータ管理ソリューションの比較
テストデータ管理のソリューションが効果的であるためには、質の高いテスト環境と、そうした
環境を迅速かつ効率的に届ける能力を提供する必要があります。また、
こうした目標の達成と
同時に、センシティブなデータの保護も行わなければなりません。
Page 4 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
データの質: より質の高いテストデータ、より優れたアプリケーション
QA作業は、テスト環境が生産環境をどれだけ厳密に再現しているかに左右されます。そして生
産環境の再現には、サブセットではなく、データの完全コピーを提供するソリューションが必要
です。
また、テスト担当者には時間的関連性のあるデータが必要です。
これは、テストデータは「フレ
ッシュ」なものでなければならないことを意味する場合が多いですが、データが特定の時点に
セットされている必要があるということでもあります。例えば、統合テストに必要なデータは、複
数のレポジトリから調達され、同じインスタントに同期されていなければなりません。
個々のテストサイクルの生産性を最大化するには、テストデータ管理ソリューションが、以下の
ことを行う能力を備えている必要があります。
• 中断することなく、稼働中の生産システムから調達したフレッシュなデータを提供
• 特定の時点にデータをプロビジョニング
• エッジケースやコーナーケースを徹底的にテストできるような、完全なリアルデータを提供
10:27:36
AM
1:30:20
PM
5:07:15
PM
ERP
(企業資源計画)
CRM
(顧客関係管理)
仮想データプラットフォーム
統合させた状態で
ロールバック
統合させた状態で
ロールバック
その他アプリ
図4. 統合のテストには複数のデータソース間での同期が必要となる
データのスピード: テストサイクルを凝縮
テストデータの質と同様に重要なのが、それを配信するスピードです。迅速なデータデリバリを
行うことで、SDLCの早い段階でテストサイクルを凝縮させることが可能となります。テストを短
期間で終わらせることで、チームはバグの修復が比較的安価に行える時にバグの特定ができる
ようになります。また、たいていの企業でソフトウェア開発の予算の20%を占めている、将来的
な作業のやり直しも排除できます。3
3 IDGエンタープライズ、 Top CIO Challenges that Contribute to Enterprise Application Failure(企業アプリケーションの失敗を招く、CIOが抱える主な課題)
Page 5 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
以前
テストデータの配信
データ仮想化
0
テストデータの配信
2
テストデータの配信
4
6
時間(週)
以前のテスト
DaaSを用いたテスト
図5. 迅速なデータ提供により、早い時期により頻繁にテストを実行できる
理想的には、テストデータ管理ソリューションは以下の能力を備えている必要があります。
• データデリバリプロセスにおけるボトルネックを排除
• 数時間、数日、数週間ではなく、数分でテストデータを提供
• デベロッパーとテスト担当者に、データの調達と共通に対するセルフサービス的なコントロールを提供
データセキュリティ: データのマスキングと提供
最後に、テストデータは安全に管理され、提供される必要があります。データの安全確保に使用
されるメカニズムは、変動しやすい環境にあるデータが継続的に保護されるよう、運用上シン
プルなものでなければなりません。テストデータ管理ソリューションには、以下が必要です。
• データの変更に従い、データを動的に保護
• リスク対象領域を低減
• センシティブデータへの特権的アクセスを排除
Page 6 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
仮想データでより優れたテストデータ管理
テストデータプロジェクトに質、スピード、セキュリティを提供
新カテゴリーであるデータ仮想化におけるテクノロジーは、テストデータ管理の主な要件に応
えることを約束しています。仮想化の利点がアプリケーションデータにもたらされることで、
プロ
ジェクトチームは以下が可能になります。
• 生産システム内のデータ(進行形の変更も含む)のキャプチャ
• アプリケーションのライフサイクルを通して、データのバージョニングと管理
• テスト環境を含む非生産システムへのデータの配信
インテリジェントなブロック共有と高度な圧縮で、仮想データプラットフォームは、完全な質の
高いデータセットを複数のテスト環境にプロビジョニングすると同時に、インフラストラクチャ
ーの要件を減らすことができます。
パブリック/
ハイブリッドクラウド
生産ネットワーク
ファイアウォール
同期
一度マスキング
仮想データ
プラットフォーム
あらゆる箇所
に配信
オンプレミス
図6. テストデータをマスキングし、クラウド環境やオンプレミス環境に配信する
Page 7 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
仮想データは、数日、数週間ではなく、数分でデータへのアクセスを可能にし、テストデータ管
理に新たなレベルのアジリティを提供します。また、データ仮想化により、アプリケーションチー
ムは、コードベースのようにデータベースを扱うことができるようになります。仮想データシス
テムは、特定の時間枠における生産データをキャプチャし、バージョニングを行うため、テスト
担当者は以下のことが可能です。
仮想コピー
• テストデータをブックマークし、
それをチームメイトと共有
• 最新版の生産環境からのテストデータを
リフレッシュ
開発
QA
あらゆるアプリケーションソース
• 過去の時点へテストデータをリセット
仮想データプラットフォーム
• パフォーマンスあるいはA/Bテスト用に
データをブランチング
レポート作成
ブレイクフィックス
統合テスト
図7. 仮想データソリューションは、複数環境におけるアプリケーション
データをキャプチャし、プロビジョニングを行う
アプリケーションチームはすでに、テスト-フィックス-テストのサイクルを通してソースコードを
管理するために、
こうした機能を持ち合わせています。仮想データを用いれば、同じ機能を生か
してコードが通信するデータの管理が可能になります。
最後に、仮想データソリューションは、優れたデータセキュリティを提供できる可能性がありま
す。迅速なデータデリバリと、センシティブなデータを動的にスクランブルする能力を組み合わ
せることで、マスキングのプロセスを運用面でシンプルなものにし、効率的に実装できるように
なります。テストデータ管理に仮想データを用いるアプローチは、マスキングとテストデータデ
リバリを統合させることで、エンドツーエンドのセキュリティソリューションを提供できるのです。
テストデータ管理には常に難題が伴いますが、仮想データは、テスト担当者がデータをコント
ロールできるようにする大きなチャンスです。採用者が急速に増えていくなか、テクノロジー統
合や成熟したベストプラクティスはますます増え、データ仮想化ツールの価値は高まっていく
でしょう。そして組織は近い将来、
レガシーツールを使い続けるか、あるいはテストデータ管理
を変える新しいタイプのソリューションへ移行するか、決断を迫られることとなるでしょう。
Page 8 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
© 2016 Delphix Corp. 無断複写・転載を禁じます。
ストレスの多いテスト: テストデータの欠陥を明らかに
2016年5月
最新の技術文書に関しては、以下をご参照ください。
http://www.delphix.com/support
Delphixのウェブサイトには、製品の最新情報も掲載しています。
本文書に関するご意見に関しては、以下までご連絡をお願いいたします。
[email protected]
Delphix Corp.
275 Middlefield Road, Suite 210
Menlo Park, CA 94025
www.delphix.com
© 2016 Delphix Corp. 無断複写・転載を禁じます。
Delphixのロゴおよびデザインは、
米国およびその他の管轄区域におけるDelphix Corp.の登録商標です。
ここに記載されるその他のマークおよび名称は、
各社の登録商標となっているものもあります。
Page 9 ¦ ストレスの多いテスト: テストデータの欠陥を明らかに
Fly UP