GENZ, Inc.

検証範囲は依存関係から。 ジョブネットの依存関係を第三者がテストします

ジョブ管理ソフトの更改では、異常終了時の後続ジョブの扱いが移植元と変わる場合があります。GENZは依存関係から検証範囲を設計し、未検証ぶんも明示します。

支援事例

支援実績5,000件以上

支援実績を示す企業ロゴ 01
支援実績を示す企業ロゴ 02
支援実績を示す企業ロゴ 03
支援実績を示す企業ロゴ 04
支援実績を示す企業ロゴ 05
支援実績を示す企業ロゴ 06
支援実績を示す企業ロゴ 07
支援実績を示す企業ロゴ 08
支援実績を示す企業ロゴ 09
支援実績を示す企業ロゴ 10
支援実績を示す企業ロゴ 11
支援実績を示す企業ロゴ 12
支援実績を示す企業ロゴ 13

この記事はソフトウェアテストの専門家が監修しています

監修枡井 愼治株式会社GENZ 代表取締役

GENZは創業以来、5,000件以上のソフトウェアテスト・第三者検証を手がけてきたプロフェッショナルです。品質に関する課題やお悩みに、真摯に寄り添います。

代表取締役 枡井 愼治 株式会社GENZ 〒101-0062 東京都千代田区神田駿河台2-3-11 ヒューリック御茶ノ水ビル3F TEL:03-5244-4711
01 ISSUES

ジョブ管理ソフトでよくある不具合

ジョブ管理ソフトの不具合は、終了コードや実行ログだけでは見えにくいものが少なくありません。移植や改修のあとに表面化しやすい不具合を、検証で確認すべき観点とあわせて整理しました。

異常終了を検知せず後続が動き、古いデータで処理が進む

異常終了を検知できないまま後続ジョブが起動すると、古いデータで夜間バッチが最後まで実行されます。翌朝の帳票が前日の内容のまま出力されます。

異常終了の未検知

自動リトライで同一ファイルを再取り込みし、同じ伝票が二重に計上される

自動リトライで同じファイルを二度取り込み、同一の伝票が二重に計上されることがあります。ジョブは正常終了となるため終了コードでは判明しません。

二重取り込み

月末が休日の月は締め起動がずれ計上月が変わる

カレンダー定義の設定差異があると、月末が休日にあたる月に締め処理の起動日が不整合となり、計上月そのものが変わるおそれがあります。

締め起動日の差異

本番相当のデータ量では処理が運用窓に収まらない

少数のテストデータでは時間内に終わる処理でも、本番相当のデータ量では運用窓を超えて終わらないことがあります。翌朝までに後続処理が完了しません。

運用窓の超過

正常終了なのに文字コード変換が漏れて項目が欠ける

ジョブは正常終了しているのに、連携ファイルの文字コード変換が漏れて項目が欠けることがあります。ファイルの中身まで確認しないと検出できません。

出力項目の欠落
02 RISK

残存した不具合により生じる問題

検証で押さえきれなかった不具合が残ると、夜間バッチの停止や締め処理の不整合として表面化し、翌朝の業務と決算・監査にまで影響が及びます。

業務上の問題対応を行う担当者の様子を写した写真。
03 REVIEW

静的テスト(レビュー)でおさえるべき観点

ジョブ管理ソフトの更改では、実行前のレビューで異常系の観点をどこまで洗い出せるかが、検証範囲を決めます。移植先の定義書だけでは見えない既定動作の差異やカレンダーの不整合を、仕様書の突き合わせで確認します。

異常終了時の後続制御が変わったまま本番に入り、異常時に後続ジョブが誤って継続実行されるおそれがあります。

異常終了後の後続制御の既定動作を移植元と照合する

移植元と移植先では、異常終了時に後続ジョブを打ち切るか継続するかの既定動作が異なる場合があります。定義書上は同じに見えるため、移植元の挙動と照合し、差異を一覧にして検証対象へ入れます。

確認する資料
  • ジョブ定義書
  • 移行設計書
  • 製品仕様書
締め処理の起動日が不整合のままとなり、月次・年次の計上に訂正と再実行が発生するおそれがあります。

カレンダー定義と締め日基準の不整合を洗い出す

営業日・休日・月末といったカレンダー定義の設定差異は、月次・年次の締め処理の起動日に影響します。移植先のカレンダーと締め日の基準を突き合わせ、起動日が変わるジョブを特定しておきます。

確認する資料
  • カレンダー定義書
  • ジョブネット一覧
  • 締め処理一覧
リトライ時の二重反映が検知できず、計上結果の誤りとして後から判明するおそれがあります。

リラン時の二重反映を防ぐ条件が定義されているか確認する

自動リトライで同一データが二重に反映されても、終了コードだけでは判明しません。二重反映を防ぐ条件(ワークファイルの初期化やキー重複の検知)がジョブ定義に書かれているかを確認します。

確認する資料
  • ジョブ定義書
  • シェルスクリプト
  • データ仕様書
入出力項目の前提の食い違いが残り、正常終了でも結果データが使えないおそれがあります。

ファイル授受仕様とDB設計書で入出力項目の前提を突き合わせる

ジョブ間でファイルを受け渡す場合、送り側と受け側で項目の前提が食い違うと正常終了でも結果が合いません。ファイル授受仕様とDB設計書を突き合わせ、入出力項目の型・桁・単位の前提をそろえます。

確認する資料
  • ファイル授受仕様
  • DB設計書
  • ジョブネット図
夜間バッチが運用窓を超えて終わらず、翌朝の受注・出荷・請求の業務が手作業での対応となるおそれがあります。

運用窓と処理時間を照合し遅延時の打ち切り判断を確認する

夜間バッチが運用窓を超えると、翌朝までに後続処理が完了しないおそれがあります。ジョブごとの処理時間と運用窓を照合し、遅延時に打ち切るか継続するかの判断基準が定義されているかを確認します。

確認する資料
  • 運用スケジュール表
  • 処理時間実績表
  • 運用手順書
  • ジョブネット図
04 TEST DESIGN

動的テストの設計・実行のポイント

ジョブ管理ソフトの検証は、ジョブ単位・ジョブネット・運用サイクル・受け入れの段階に分けて設計します。

STEP 01 ジョブ単位の検証移植元と移植先の既定動作の差異を洗い出す
どう確かめるか

ジョブ単位のユニットテストで、終了コードの判定と入出力を境界値で確かめる

ジョブ単位に終了コードの判定と入出力を境界値で確認します。異常終了時に後続ジョブを打ち切るか継続するかの既定動作が移植元と異なっていても、定義書の上では同じに見えるためです。

  • 01終了コードの判定と入出力を境界値で確認する
  • 02異常終了時の後続ジョブの扱いを検証する
  • 03自動リトライ時の二重反映の有無を確認する
OUTPUTテスト項目書と期待結果
STEP 02 ジョブネットの連携検証異常終了を意図的に発生させて検証する
どう確かめるか

ジョブネット単位で依存関係と異常終了時の挙動を検証する

依存関係で結ばれたジョブネットを通しで実行し、先行ジョブの異常終了時の後続の扱いを検証します。自動リトライによる二重反映は終了コードでは判明しないため、結果データまで確認します。

  • 01依存関係どおりの実行順序を検証する
  • 02先行ジョブの異常を発生させて後続の挙動を検証する
  • 03ジョブネット全体の終了状態を確認する
OUTPUT実行ログと証跡一式
STEP 03 運用サイクルの通し検証月末・休日の境界値を通しで流す
どう確かめるか

日次・月次・年次のテストでカレンダー境界と本番相当の処理時間を測る

夜間・月次・年次の業務シナリオを本番相当のデータ量で実行し、処理時間を測ります。カレンダー定義の差異は締め処理の起動日の不整合として表面化するため、月末や休日の境界値も検証します。

  • 01カレンダー境界値で締め処理の起動日を検証する
  • 02本番相当のデータ量で処理時間を測る
  • 03夜間バッチが運用窓内に収まることを確認する
OUTPUT不具合票と対応記録
STEP 04 受け入れと回帰の検証変更範囲外への影響を依存関係で絞る
どう確かめるか

テストで帳票と計上結果の一致、変更範囲外への影響を確認

翌朝の帳票と計上結果が業務側で使える状態かを確認します。改修したジョブ以外への影響は依存関係から範囲を説明できる形で回帰テストを行い、全ジョブを流すか勘で絞るかの二択を解消します。

  • 01帳票と計上結果の一致を確認する
  • 02改修範囲外への影響を回帰テストで検証する
  • 03検証範囲と記録を監査へ提出できる形に整える
OUTPUT検証範囲の報告書
05 RATIONALE

GENZが代行するジョブ管理ソフトのテスト

固定費を抱えない人日単位のアサイン、監査にも使える独立した検証の記録、育成期間なしに活かせる専門ノウハウなど、第三者へのアウトソースには複数のメリットがあります。

OUTSOURCING RATIONALE THIRD-PARTY VERIFICATION

必要な時に必要な分だけ

人日単位のアサインで固定費を抱えず、繁忙期に増減できます。

独立した視点で品質を底上げ

独立した検証で偏りを排し、監査に使える客観的な記録を残せます。

専門ノウハウを即戦力で

JSTQB認定エンジニアが在籍し、対象領域固有の検証知見を育成期間なしに活用できます。

ノートPCを前に担当者同士が相談しているオフィスの写真。

専門知識を持ったテストエンジニアが、第三者の視点でテストするメリット

  • 依存関係にもとづき検証範囲の線引きを基準化できます
  • 異常終了・自動リトライ時の観点を自社構成に具体化できます
  • 未検証ぶんを示した監査提出用の報告書を受け取れます
  • 既存の進め方を変えずに検証工数を外部へ移せます
06 SERVICE

依存関係から検証範囲を設計するGENZの支援

検証範囲の基準も異常系の観点も、ジョブネットの依存関係を読み解く作業から整います。GENZはテスト設計の段階から入り、検証した範囲と未検証として残す範囲を文書にしてお渡しします。

SVC 01

依存関係からテスト設計を組み立てる

ジョブネットの依存関係とカレンダー定義からテスト観点を設計し、異常終了時の後続ジョブの扱いや二重反映もテスト項目に含めます。

リスク要因と優先順位を示す無文字の図解。
SVC 02

検証済みと未検証を明示して合意する

大規模なジョブ構成でも、検証した範囲と未検証として残す範囲を依存関係にもとづいて明示し、ご担当者様と合意してから実行に進みます。

複数のシステムや連携先にまたがる確認範囲を示す無文字の図解。
SVC 03

既存の体制と様式に合わせて伴走

既存の成果物の様式とレビューの進め方に合わせ、開発スプリントと並行してテストを実施します。体制を替える前提の進め方はいたしません。

計画から報告までの流れを示す無文字の図解。
SVC 04

監査に提出できる報告書を納品

テスト項目書・不具合票・検証結果を報告書にまとめ、部門の承認とシステム監査へそのまま提出できる形で、証跡とあわせて納品します。

確認対象の領域を区分して示す無文字の図解。
07 FLOW

ご相談から納品までの流れ

ご相談から報告書の納品まで、既存の運用体制に合わせた段階を踏んで進めます。各段階の内容を以下に示します。

ヒアリング

ジョブの構成と移行計画をお聞きし、検証対象のジョブネットを整理します。

テスト設計と見積もり

整理した範囲にもとづき、検証観点と必要工数を見積もりとして提出します。

テストの実施と結果の共有

合意した範囲でテストを実施し、不具合の内容と消化状況を共有します。

報告書の納品と再確認

結果を報告書にまとめて納品し、監査へ提出できる状態を再確認します。

ジョブ管理ソフトの更改をご検討中の企業様へ

ジョブ管理ソフトの検証範囲と優先順位をGENZへご相談ください

移植したジョブネットのどこまでを検証し、どこを未検証として残すか。検証範囲の考え方と優先順位、必要工数の積み方を、GENZが第三者の視点で整理します。