5

私たちは、UAT をほぼライブ データ (最大で 1 週間前など) でテストできるアイデアを検討してきました。開発環境と QA 環境は独自のデータを管理する必要があると強く信じていますが、UAT (本番前の最終層) は少しグレーな領域です。だから私の質問は:

a) これは良い考えですか? と思いますが、漠然とした疑問があります。

b) もしそうなら、人々が過去に使用した実証済みのテクニックは何ですか?

  • SqlCompare などを介して手動で
  • スクリプトで自動化?
  • UAT と本番の間のスキーマの違いをどのように処理しますか?
4

2 に答える 2

8

(OP が継続的なリアルタイムのスキーマとデータの同期を意図していると仮定します)

簡潔な答え:

  • スキーマ - いいえ - 開発中の進化するシステムでは、UAT はすでに本番環境よりも進んでいる可能性が高く、UAT には将来の本番環境へのロールアウトを意図した変更があります。
  • データ - おそらく (適切で最近の代表的なデータを取得するため)、スキーマの違いを調整する必要がある場合があります。別の方法は、偽のデータ ジェネレーターを適用することです。

根拠

「ミラー」とは、リアルタイムの直接ミラーリングやレプリケーションを意味するものではないと想定しています (通常、UAT テストでは、上書きされる面倒なデータ テスト ケースを設定する必要があります)。

企業環境、FWIWでそれを行う方法は次のとおりです(私たちの環境はDev -> QA -> UAT -> Prodです)

定められた間隔で、通常は約 1 か月間隔で

  • 最後の prod データベース バックアップは、UAT 環境を介して復元されます
  • 環境の「変換」スクリプトは、復元後に更新された各データベースで実行されます (たとえば、構成をポイントしたり、財務、顧客、またはユーザーの機密データを難読化したりするためなど)。
  • その後、まだ PROD に含まれていなかったすべての UAT スクリプトがデータベースに対して実行されます (これを簡単に追跡するには、スクリプト管理の変更管理に関する適切な規律が必要です - 私たちはまだこれを常に正しく行っているわけではありません)。更新後、QA と UAT (つまり、PROD スキーマ) を直接比較せず、単に変更を UAT にロールフォワードします。
  • これらの同じ vNext スクリプトは、プロダクション リリースの時点でプロダクションに対して実行する必要があるため、これは適切なスモーク テスト / デバッグとして機能します。
  • 最新のシステムでは、明示的/外部バージョン移行スクリプトは必要ない場合があります (たとえば、Entity Framework Code First Migrations は最初の実行時にデータベース スキーマのアップグレードを試みます)。

その他の考慮事項

  • システムが相互に統合されているエンタープライズ環境では、共有データとキーが「同期」されるように、すべてのシステムのデータベースを同時に更新することをお勧めします。
  • 多くの企業では、UAT 環境の変更 (データの更新を含む) には変更管理委員会の承認が必要になる場合があります。これは、UAT の可用性が新しいシステムのロールアウトのテストに不可欠であり、多くのプロジェクトに影響を与える可能性があるためです。

スキーマを同期するための「スクリプト」サイクルに関するメモ-私たちの環境では:

  • DEV はすべて無料です。開発者のリーダーは誰でも DDL またはデータの変更を行うことができます。
  • QA と UAT はロックダウンされています - スクリプトは (通常は SQLCompare によって) 生成され、実行のために (QA で) DBA に送信される必要があります。これらのスクリプトは、環境チェーン (特に UAT) を通じて昇格されるときに、レビューされ、実行の承認が得られます。 .
  • これらのスクリプトはソース管理にチェックインされ、「環境ごと」に追跡されます。
于 2012-03-01T08:49:10.407 に答える
1

これは、私が最後に働いていた会社のために行ったことです。多くの州政府のプロジェクトと契約がありました。これは、いくつかのプロジェクトで使用した環境のレベルの例です。以下の例では、QA は私たちのためのもので、UAT はクライアントのためのもので、Pre-Prod は私たちが作成した別の環境でしたが、常にではありませんでした。プロジェクトに依存するだけです。

開発 ==> QA==> UAT==> PRE-PROD ==> PROD

すべてのデータが検証されたら、DB 関連のものを含め、ほぼすべてのデータを Prod から UAT と QA にコピーしました。

また、常に SQL を使用する必要のないいくつかの側面のために作成されたツールもありました。私たちは Web ベースのプログラムを持っていましたが、それが何に書かれていたか思い出せません。私たちはそれを CTM (Control Table Management) と呼んでいました。そこでは、更新、修正、ドロップダウン メニュー、スペルや文法の誤りなど、表に特定の変更を加えることができます。なんでも。変更をコミットするためのラジオ ボタンと、変更を適用する環境をチェックするためのボックスがありました。

これが誰かの助けになるか、人々にいくつかのアイデアを与えることを願っています. :-)

ありがとう、

ジョン

于 2016-08-09T19:09:39.027 に答える