6

さまざまなデータベース製品に対して動作する必要があるコードを書いています。

  • MySql
  • SQL Server 2000 ~ 2008
  • PostgreSQL
  • オラクル 9i & 10g
  • Jet 4.0 (MS アクセス)
  • MSDE
  • Sybase Adaptive Server Anywhere
  • Sybase Sql Anywhere
  • プログレス OpenEdge

継続的統合ビルドの一部として、各データベース製品に対して実行する必要がある汎用統合テストのセットがあります。

他の人も同様のテスト環境をセットアップする必要があったと確信しています。私はその知恵の一部を利用したいと思います-最終的にどの戦略を使用するか、何がうまく機能し、何がうまく機能しなかったか?

いくつかの考え:

  • 製品ごとに仮想マシンを分離し、それぞれに少量のメモリを割り当てます (特定のシナリオでは管理が容易で、個々の製品のセットアップがわずかに異なる場合)。
  • すべての製品に対して数台の仮想マシンまたは 1 台の仮想マシン (つまり、おそらく postgresql と mysql 用の ubuntu ボックス、残りの製品用の Windows 2008 サーバー マシン) - 私は 1 つまたは 2 つの vm が好きです。テストを実行するための環境、つまり、移動中/オフサイトの場合、私のラップトップはおそらく 8 または 10 個の小さな VM を実行して停止する可能性があります。

最後に、Oracle や Progress OpenEdge などの一部の商用製品の法外なコストにどのように取り組んできましたか? また、以前のバージョンはまだ入手可能ですか?

4

6 に答える 6

6
  • また、サーバーには vmware を使用し、データベースごとに 1 つの vmware ホストを使用しています。1 つの vmware に複数のデータベースを配置しても問題ありません。
  • 高価なソフトウェア ライセンスに大きな問題はないはずです。たとえば、Oracle では、すべての製品の開発ライセンスを取得できます。ラップトップの vmware で本番 DB を実行していない限り、問題はありません。もちろん、IANAL。
  • Oracle の場合、顧客が Enterprise Edition を使用する場合 (ほとんどの場合)、Enterprise Edition を入手してください。
  • 必ず vmware スナップショットを活用してください。テストを実行するためにデータベースを完全に構成し、テストを実行してから、データベースをテスト前の状態に戻して、テストを再度実行できるようにすることができます。
于 2009-04-22T06:34:36.493 に答える
1

アーキテクチャ的には、さまざまに構成された VM を実行するのに十分強力なサーバーの統合テスト ファームを作成する方がよい場合があります。統合テスト要求をリッスンするキュー プロセスを前に置くことができます (トリガーは、svn コミットまたはその他のソース管理チェック イン トリガーを使用してトリガーできます)。

最も正確な範囲のテストを行うには、構成ごとに個別の VM を使用することをお勧めします。これにより、構成が競合するリスクが軽減され、VM のカスタム セット (たとえば、Oracle + MySQL + PostgreSQL など) を実行する際の柔軟性が向上します。ビルド プロセスによっては、10 分間のビルドを実行できる場合もあります。

統合テスト ファームを実行する利点は、外出先でラップトップを使用している場合、コードのチェックイン後に統合ビルドをトリガーし、すべてのテストを実行して結果を通知できることです。各リクエストと結果をアーカイブして、ビルドの失敗を診断することもできます。

于 2009-04-22T06:44:56.233 に答える
1

Oracle には無料の「Express Edition」があります。Oracle のすべての機能を備えているわけではありませんが、Jet に対しても実行している場合は問題になりません。

于 2009-04-17T03:13:11.307 に答える
1

Oracle ライセンスの抜粋:

当社は、お客様のアプリケーションの開発、テスト、プロトタイピング、およびデモンストレーションのみを目的としてプログラムを使用するための非独占的で譲渡不可の制限付きライセンスをお客様に付与し、その他の目的には使用しません。

したがって、完全な Oracle バージョン 9、10、および 11 をダウンロードして、ライセンスに記載されているように無料で使用できます。www.oracle.comのダウンロード セクションを確認してください。

于 2009-04-22T17:27:18.187 に答える
1

ここで行っているのは (ほとんどの場合) 必要な各構成の VM です。また、さまざまなオペレーティング システムを対象としているため、テスト中の構成は 22 ほどあります。これらの VM は ESX サーバーでホストされ、必要に応じて起動および停止するようにスクリプト化されているため、すべてが一度に実行されることはありません。設定するのは大変な作業でした。

データベース サーバーのコストに関しては、私たちが構築している種類のソフトウェアには最上位バージョンが必要だったので、テスト コストは全体的な開発コストに含まれていました (「吸い上げる」しかありませんでした)。

于 2009-04-16T23:39:04.397 に答える
0

何をすべきかについてはすでに良いアイデアを持っているようですね。次の VM レイアウトをお勧めします。

以下をホストする Windows Server 2008 ボックス:

  • MSDE
  • Jet 4.0 (MS アクセス)
  • Sybase Adaptive Server Anywhere
  • Sybase Sql Anywhere
  • プログレス OpenEdge

Ubuntu または Red Hat ボックスの場合:

本格的な SQL および Oracle エディションに対してテストする必要はないと思います。無料版は機能が制限されているため、これらのサーバーのフル バージョンに対して実行した場合、コードが壊れるリスクはほとんどありません。完全なサーバーに対してテストし、無料のものに行った場合、確かにいくつかのことが壊れる可能性がありますが、最小公分母でテストすることにより、優れた品質を確保する必要があります.

于 2009-04-28T20:48:17.687 に答える