開発から運用まで、IT部門のお役に立つ情報をお届けするサイトです

DevOpsに関する基礎知識や進め方がわかる!! DevOpsポータルサイト
  • テスト高度化

テストデータ管理を見直して同時進行するプロジェクトを効率化しよう!

  • #テストデータ管理

2023.04.03

テストデータ管理を見直して同時進行するプロジェクトを効率化しよう!

「デジタルトランスフォーメーションの推進による新規開発」と「既存システムの老朽化対応」という複数の開発プロジェクトを同時に進行させるケースが増えています。そのためには、複数の開発を並行で進められるような開発環境の整備が必要ですが、プロジェクトごとに専用の開発環境を準備するには膨大なリソースが必要となり、管理する環境の数も増えるため煩雑になります。
この記事では、開発環境の準備に関する困りごとを、テストデータ管理を効率化するDelphixで解決する方法をご紹介します。

複数の開発プロジェクトを同時進行させるときの課題

複数の開発プロジェクトを同時進行させる場合には、何が課題となるでしょうか?開発環境の準備の観点でよくお聞きするのは以下の2つです。

・ストレージの空きがなく、理想の開発環境が準備できない
・同時進行のプロジェクトが増えるほどデータの待ち時間が長くなる


具体的にどういうことか、それぞれ確認していきましょう。

ストレージの空きがなく、理想の開発環境が準備できない

進行中のプロジェクトが1つだけであれば、プロジェクト担当者が開発環境を占有できます。しかし同時に複数のプロジェクトが進行する場合はどうでしょうか。プロジェクト数分の環境が必要となりますが、サーバリソースは兼用するにしても、開発・テストに使用するデータは兼用するわけにはいかないため、ストレージの追加コストがかかります。ストレージを追加できない場合は、複数のプロジェクトが同じタイミングで同じデータを使わないようにスケジュール調整が必要です。

これには以下の問題があり、結果的にサービスのリリースが遅延する恐れがあります。
・1チームの遅延がプロジェクト全体のスケジュールに影響
・1プロジェクトの遅延が全プロジェクトのスケジュールに影響

同時進行のプロジェクトが増えるほどデータの待ち時間が長くなる

同時並行で開発を進める環境ができた場合でもまだ問題が残ります。開発が進み、テストフェーズに入ったときのテストデータ準備です。例えば、本番環境のデータを開発で使用するには、ほとんどの場合マスキングが必要ですよね。すると、テストデータの準備には「データコピー→マスキング→データ配布」の工程が必要になります。この作業を各プロジェクト、テストケースごとに実施すると考えてください。1つずつプロジェクトを進めていたときとは比べ物にならないくらいの工数が必要になります。
テストデータ準備にかかる時間が膨れ上がり、データ利用者はデータが手に入るまでテストが進められません。結果、テストデータの準備時間が開発効率化の妨げになってしまいます。

またこのテストデータリセットの高速化は、システム統合テストやユーザー受入テストにも同様に大きな効果をもたらします。

ここまで、複数の開発プロジェクトが同時進行するときに発生しうる課題を解説しました。これらの課題を解決するためには以下が必要そうです。

・ストレージを追加せずに専用の開発環境を作成する
・テストデータの準備時間を短縮する


次からは、ここまで解説した課題をDelphixでどう解決するのかをご紹介していきます。

ストレージを追加せずに専用の開発環境を作成

複数のプロジェクトを同時進行させたい、でもストレージの追加はできない、そんな課題に最適なのがDelphixによる仮想DBです。Delphixはデータベース仮想化技術によって、少ないストレージでデータベースをまるっと複製できます。なぜそのようなことができるのかというと、Delphixはデータベースを複製する際に物理コピーを実施しません。「データがここにある」というポインタ情報だけを生成します。物理的にコピーする必要がないため、少ないストレージで今までより多くのデータベースを持てるのです。

従来はストレージ不足で実現が難しかった各プロジェクト専用の開発環境の作成が、Delphixなら容量を気にせず簡単にできます。もちろん環境を利用するためのスケジュール調整も不要。同じデータを使用するテストが多発しても作業者間の競合なく効率よく開発・テストを進められます。

テストデータの準備時間を短縮する

Delphixを使用したテストデータの準備時間短縮ポイントは以下3つです。

物理コピーを実施しない複製

Delphixは仮想DBとして複製元データベースのポインタ情報だけを複製します。これによって、データベースの複製が従来の方法より劇的に速くなります。

マスキング処理の組み込み

データベースの複製時に任意のスクリプトを実行させる機能があります。一度設定をしておけば、データ利用者はDelphixのコンソールを数クリックするだけでマスキングされたデータベースを手に入れられます。

セルフサービス化

開発者・テスト担当者専用のGUIを備えており、データ利用者はこのGUIで任意の時点の「状態を保存」してその時点に「データを巻き戻し」できます。テストデータを待つ必要がなくなり、テストに集中できるようになります。

この3つのポイントでDelphixはかつてないほどテストデータの準備時間を短縮できます。さらに、DelphixはAPIに対応しています。夜間にデータベースを複製するコマンドを外部ツールから実行させておけば、出社時にはマスキング済みのデータが準備されており、すぐにテストを開始、なんてことも容易に実現できます。

まとめ

複数のプロジェクトが同時進行する際のお困りごとに対して、Delphixを利用した以下の解決方法をご紹介しました。

・仮想DBにより少ないストレージでデータベースを複製
・テストデータ準備の効率化&高速化


実際に、複数プロジェクトが同時進行する状況でDelphixを活用いただいている事例があります。
ディップ、Delphix導入で「バイトル」開発の効率化を実現

ディップ様は物理ストレージを追加することなく開発効率化を実現され、さらにはテストデータ準備の自動化に向けた構想を進められています。より具体的な課題背景、解決方法が知りたい方におすすめです。事例の詳細や自社のプロジェクトへの適用性を確認したいといったご要望がありましたらぜひアシストにご相談ください。

関連ソリューション

  • テスト高度化

    テスト環境の構築から機能テスト、負荷テスト、セキュリティテストなどあらゆる状況でのテストを支援します。

ご不明な点はお気軽にお問い合わせください
お求めの情報は見つかりましたでしょうか?
お客様の状況に合わせて詳しい情報をお届けします。
お気軽にご相談ください。