新旧システムの突き合わせテスト(並行稼働)の進め方|計算結果が合わないときの調べ方

古いシステムを新しいシステムに入れ替えるとき、最も確かなテストは、同じデータを新旧の両方に流して、結果が一致するかを確かめることです。この方法は、並行稼働、現新比較、突き合わせテストなどと呼ばれます。仕様書がないシステムのリプレイスでは、古いシステムの結果こそが「正しい仕様」になるため、特に重要です。
この記事では、突き合わせテストの進め方と、計算結果が合わないときの原因の調べ方を解説します。
この記事の結論
- 突き合わせテストは、古いシステムの結果を「正解」として新しいシステムを確かめる方法
- 比べる対象は、帳票・集計・データの最終状態の3つ。業務で大事なものから選ぶ
- 差分の確認は自動化し、何度も繰り返せるようにする
- 合わない原因の多くは丸め・日付の境界・並び順・例外データ。古いシステムの不具合が見つかることもある
突き合わせテストの種類
| 種類 | 内容 | 向いている場面 |
|---|---|---|
| 過去データでの再実行 | 過去の月の入力データを新しいシステムに流し、当時の帳票・集計と比べる | 開発中から繰り返し行う |
| 並行稼働 | 切り替え前の一定期間、実際の業務を新旧の両方で行い、結果を比べる | 切り替えの直前の最終確認 |
| データ移行の検証 | 移したデータで、新しいシステムの残高や在庫が古いシステムと一致するかを比べる | 移行のリハーサルのたび |
並行稼働は確実な一方、現場が同じ入力を二重に行う負担があります。過去データでの再実行を開発中から繰り返しておけば、並行稼働の期間を短くできます。
進め方
- 比べる対象を決める請求書、月次の売上集計、在庫の残高、給与の計算など、業務で間違えると困るものから選ぶ
- テストの期間を選ぶ月末・期末・年度末、消費税率の変更、締め日の変更など、境界を含む期間を選ぶ
- 比べる形をそろえる帳票やデータを、項目ごとに比べられる形(CSVなど)に書き出す。並び順や書式の違いを吸収する
- 差分を自動で出すキー(伝票番号・取引先・商品など)で照合し、一致・不一致・片方にだけある行を一覧にする
- 差分を分類する新システムの不具合、古いシステムの不具合、意図した仕様の変更、データの問題に分ける
- 直して繰り返す修正のたびに全体を流し直し、差分がゼロ、または説明できるものだけになるまで繰り返す
「説明できる差分」の一覧を残す新しいシステムで仕様を変えた部分(端数の処理を統一したなど)は、差分として必ず出てきます。こうした差分は「意図した変更」として一覧に残し、業務の担当者の承認を得ておくと、切り替え後の問い合わせにも答えられます。
計算結果が合わないときの調べ方
| よくある原因 | 症状 | 調べ方 |
|---|---|---|
| 端数の丸め | 1円・1個のずれが多数出る | どの段階で丸めているか(明細ごとか、合計か)、四捨五入・切り捨て・切り上げのどれかを確認する |
| 計算の順番 | 税額や割引額がわずかにずれる | 割引と税の計算の順番、小計を取る単位を確認する |
| 日付の境界 | 月末・締め日の前後の取引だけが合わない | 締め日の判定(以前・以後、当日を含むか)、時刻の扱い |
| 並び順と重複 | 同じ値の行の順番が違い、先頭の1件を使う処理が食い違う | 並び替えの条件、同じ値のときの順番の決め方 |
| 例外データ | 特定の取引先・商品だけが合わない | その取引先・商品の特別な設定や、プログラム内の例外の処理 |
| 移行データ | 移行直後の残高だけが合わない | 移行の変換(符号・小数点・文字)と、移行のタイミングの取引 |
差分を調べていくと、古いシステムの側の不具合が見つかることもあります。その場合、新しいシステムで同じ不具合を再現するか、正しい計算に直すかを、業務の担当者と決めます。
関連記事AS/400のデータ移行で気をつけること|EBCDIC・パック10進数・外字・日付の変換
関連記事受入テスト(UAT)の進め方と検収のチェックポイント
オーバーエックスのリプレイスのテストオーバーエックスは、仕様書のないシステムのリプレイスで、過去データでの再実行と差分の自動照合を開発の早い段階から繰り返し、並行稼働の期間を短くする進め方を取っています。差分は「不具合」「旧システムの不具合」「意図した変更」に分けて一覧にし、お客様と確認しながら切り替えの判断をします。詳しくはシステムリプレイスのページをご覧ください。
よくある質問
- 並行稼働はどのくらいの期間行えばよいですか?
- 月次の締めを含む1〜2か月が一般的です。過去データでの再実行を十分に行っていれば、1か月程度に短くできることもあります。
- 差分を完全にゼロにする必要がありますか?
- 必ずしもゼロにする必要はありません。すべての差分の理由が説明でき、業務の担当者が承認していれば、切り替えの判断ができます。
- 古いシステムの帳票が紙しか残っていません。
- 紙の帳票の数字を読み取って比べることもできますが、手間がかかります。古いシステムが動いているうちに、帳票やデータをファイルで書き出しておくのがおすすめです。
まとめ
新旧システムの突き合わせテストは、古いシステムの結果を正解として、新しいシステムを確かめる方法です。比べる対象と期間を選び、差分の照合を自動化して何度も繰り返しましょう。合わない原因は、丸め・日付の境界・並び順・例外データが多く、差分を分類して一つずつ説明できる状態にすれば、安心して切り替えられます。
この記事に関連するサービス
システムリプレイス
老朽化したシステムやサポートが終わるシステムを新しく置き換えます。仕様書がないシステムも、画面・データ・プログラムの解析から対応し、段階的な移行で業務を止めずに切り替えます。 サービスの詳細を見る



