Home JGS 「JGS研究2019」プロジェクト論文_ メインフレームにおけるテスト構成管理とz/OSMF活用の提案

「JGS研究2019」プロジェクト論文_ メインフレームにおけるテスト構成管理とz/OSMF活用の提案

by iida

チーム名
メインフレームのライフサイクル短期化に対する対応(SP-010)

チームメンバー

(株)オージス総研 片山 椋平
コベルコシステム(株) 藤岡 義允(サブリーダー)
東京海上日動システムズ(株) 蝶名林 正行(リーダー)
日本トラスティ・サービス信託銀行(株)木頭 信也

チームアドバイザー

日本アイ・ビー・エム システムズ・エンジニアリング(株) 澤田 遼太郎

・・・・・・

論文概要

 近年、メインフレームを中心とするシステムについても、環境変化に対して柔軟かつスピーディに対応していくことが求められており、最新技術をより迅速に活用していくためにバージョンアップサイクルの短期化が重要となっている。

 本論文では、バージョンアップ作業が長期化している要因としてテスト工程に着目し、テスト構成管理の考え方とz/OSMFの活用がバージョンアップの効率化につながることを提言している。

はじめに

 経済産業省のレポートによると、各企業の競争力維持・強化を目的としたデジタルトランスフォーメーション(以下、DX)の展開に向けて、ブラックボックス化されたレガシーシステムが戦略的なIT投資の妨げになっており、IT人材不足や市場変化等の課題が2025年に顕在化するとされている。

 これらの課題に備えて、環境変化に対し、柔軟かつスピーディに対応させるべく現状を分析・評価した上で、システム再構築をプランニングするガイドラインが示されている。

 メインフレームにおいても今後、環境変化に柔軟に対応できることが求められており、最新のIBM z14ではDXに対応するための機能拡張が行われている。

 しかしこれらの最新技術を導入するには、前提ソフトウェアへのバージョンアップが必要である。

 現在、z/OSは2年ごとに新しいバージョンが出荷される。一方で、バージョンアップサイクルには2年以上の期間を要することが多く、最新バージョンに追随できていないのが現状である。

 よって、メインフレームの可用性を享受しつつ、今後のIT技術革新に対応し、メインフレームの価値を高めるには、バージョンアップサイクルの短期化が重要となる。

メインフレームにおけるバージョンアップの課題分析

 JGS会員向けに実施したメインフレームのバージョンアップに関するアンケート結果を整理し、バージョンアップサイクルの短期化に向けた課題について考察している。

(1)バージョンアップの課題

 バージョンアップにおける課題については、「長期間要する」とした回答が最も多く、工程として「非互換・影響調査」と「テスト」が約6割を占める結果となった。

 「非互換・影響調査」に関しては、ベンダーからの情報提供に依存する部分が多く、アンケート結果でもベンダー側の継続した対応に期待する意見が多かった。

 一方の「テスト」に関しては、当研究会の参加企業にヒアリングをした結果でも、共通する課題であった。

 具体的には、バージョンアップごとに膨大な範囲のテストが求められることや、テスト内容の属人化などの要因で、必要以上に工数や対応期間がかかっていることが挙げられた。

 これらはユーザー企業側が主体で取り組むべき課題であると考え、「テスト」工程に着目して具体的な課題を分析した。

(2)テスト工程における現状分析と課題抽出

 テスト工程に時間がかかる要因を分析し、4つに分類した(図表1)。

図表1 テストに時間がかかる要因の分類

  これらを踏まえ、テスト工程に時間がかかる主因を明確にする目的でアンケートを実施した結果、とくに「管理的要因」「環境的要因」「人的要因」の回答が多い傾向となった。

 「環境的要因」に対しては、zD&T (IBM Z Development and Test Environment)を活用したテスト環境構築によって、コスト削減や生産性向上といった効果が得られるという研究結果がJGS過去論文にて報告されており、有効な解決策の1つと考えられる。

 「人的要因」については、メインフレーム技術者は減少傾向にあり、今後新たな技術者の確保が難しいというのが現状である。

 「管理的要因」への解決策としては、テストに関わるデータ・文書・手順などの整備、すなわちテストにおける構成管理(以下、テスト構成管理)を適用することが、テスト時間を削減するために有効であると考えられる。また文書化によって属人化を防止することで、「人的要因」への効果も期待できる。

 そこで構成管理の考え方をメインフレームに適用することにより、テスト時間削減の効果を検証した。

テスト構成管理

(1) バージョンアップのテスト構成管理の現状

 当研究会の参加企業にヒアリングした結果、基本的なテストケース表・手順書・課題表などテストに関する資料は、各社で一定程度文書化されていることがわかった。

 一方、前述のとおり、テストデータの消失やテスト手順と実環境の不一致などの問題は、各社ともに発生していた。このことから、テスト構成管理に関する考慮が不足しているという仮説を立て、そのあるべき姿を検証した。

(2)テスト構成管理のあるべき姿

 テスト構成管理について、JSTQB(Japan Software Testing Qualifications Board)では、以下の対象を管理するよう推奨している。

・テストアイテム(テスト対象となるソフトウェア)
・動作環境(OS、ハードウェアなど)
・テストウェア(JCL、データなど)
・欠陥(故障、インシデント)
・テスト結果
・ドキュメント(テスト計画書、仕様書、マニュアル、評価仕様書、テスト手順書など)

 また、すべてをバージョン管理し、それらが関連付けられている状態とすることで、テストアイテムとテストウェアとのトレーサビリティを確立しておくことが必要とされている。

 当研究会メンバーが担当したバージョンアップ・プロジェクトにおける管理資料をサンプルとして確認した結果、推奨される管理対象を網羅しているケースは少なく、バージョン管理を行っているケースについては皆無であった。 

 これは、バージョンアップに関する資料がプロジェクト固有の管理となっており、日々の運用保守における管理と切り離されていることが要因であると推察される。

 これによる弊害として、運用保守における環境変更に伴い、テスト管理対象データが変更されたにも関わらず、テスト手順の変更が行われないまま、結果的に次回バージョンアップ時のテストでそれが顕在化し、手戻りが発生した事例が挙げられた。

 テスト構成管理のあるべき姿は、推奨管理対象を網羅するとともに、一元的に管理し、常に最新の状態を維持し続けることである。

メインフレームのテスト構成管理

(1) テスト構成管理台帳の作成
 

 テスト構成管理のあるべき姿を踏まえて、バージョンアップ・プロジェクトにおける管理台帳を作成した。当研究会では、JSTQBが推奨する項目に加えて、以下の2点を管理項目として追加定義した。

① 重要度区分

 保守運用とバージョンアップで管理を一元化するため、各テストに対して重要度区分を設定した。

 例として、どのような軽微な変更作業においても、実施するリグレッションテストは「重要度高」、バージョンアップ時のみテストを実施するIBM標準ユーティリティなどは「重要度低」と定義することで、バージョンアップから運用保守までの一元管理を可能とした。

② 前提スキル区分

  今後メインフレーム技術者の減少が予測されている。そのような状況下で、必要となる前提スキルを明確にすることで、スキルセットを要した技術者を確保してテストを円滑に実施することを可能とした。

(2)ツール適用

 テストアイテムを網羅的に構成管理台帳として明確化し、それらを最新の状態に維持できる運用プロセスと体制を整備することで、次のステップとしてテスト自動化ツール適用が可能となる。

 ツールの選定にあたっては、バージョンアップ効率化の阻害要因にならないよう、メインフレームと高い親和性が求められる。そこで、メインフレームの運用管理ツールとしてIBM社が提供するz/OSMF (z/OS Management Facility)(※1)をテスト自動化ツールとして適用できるかを検証した。

※1 z/OSMF
Webブラウザ上のわかりやすいインターフェイスからz/OSのシステムを操作することで、システム管理者の生産性向上を実現する製品。

 当研究会ではz/OSMFの各種機能のなかで、「事前に登録したJCLやREXXを前提条件が満たされたものから自動実行する」ワークフロー機能を利用して、テスト自動化ツールとしての効果を検証した。

 検証する内容としては、効率化の検証に加えて、テスト自動化に向けた2つの課題である「知識の壁」と「コストの壁」に対しても評価した。

効果検証

(1)  検証方法

①テスト構成管理台帳の検証方法

 テスト構成管理が定着した場合、前述したようなテストデータの不足や手順/処理の不備がなくなる。これによる効果を定量的に評価するため、z/OS上で稼働するIBM標準ユーティリティを用いて、下記3条件でテストを実施し、「実施可否」「所要時間」を計測した。

 なお、より現実味のある数値を採取するために、メインフレーム経験の浅い2年目までのメンバーでテストを実施した。

(ⅰ)手順書/JCLとも存在しない
(ⅱ)手順書は存在するがJCLは存在しない
(ⅲ)手順書/JCLとも存在する

②z/OSMFワークフロー機能の検証方法

 前述のテストケースについて、「手作業」と「自動化ツール」のそれぞれでテストを実施し、工数の削減効果を定量的に測定した。ただし、いずれのテスト方法でも同様に発生する手動による作業は計測時間の対象外とした。

 またテスト自動化に向けた2つの課題については、定性的に評価した(図表2)。

図表2  テスト自動化の評価項目

(2) 検証結果

①テスト構成管理台帳の検証結果
 

 いずれの条件でもテストは実施可能という結果となったが、最も管理できているケース(ⅲ)が10分で完了したのに対し、管理できていない(i)はテスト設計から手順書/JCL/データ作成(レビュー含む)まで5時間を要した。

②z/OSMFワークフロー機能の検証結果

 z/OSMFワークフロー化を行った5つのテストアイテムはいずれも実施可であり、テスト時間の合計は以下のとおりであった。

・手作業:1時間
・自動化ツール:5分

 また自動化ツールの作り込みとして、1つ目が4時間、2つ目以降は平均20分と合計約6時間を要した(z/OSMF未経験者)。自動化ツールの評価は、以下のとおりである。

知識の壁

 機能面で大きな課題はない。複数のワークフローを一度に実行する機能を活用することで、 重要度に応じたテストアイテム群を1操作で実行することも可能である。

 操作性に関しては、GUIベースでの作業なので、z/OS技術者でなくても容易に作業できる。ただしワークフロー機能の特性上、自動化ツールとしてはバッチ系のテストにしか適用できない。

コストの壁

 最新のz/OSMFでは、パラメータでセットアップが完了できるよう導入作業が簡素化されており、導入のハードルは低いと考える。

 またz/OS V2R2以降では、z/OSMFはz/OSのベースエレメントとして組み込まれており、ライセンス面でも問題ないと評価できる。

 ただし、WAS Liberty Profileで稼働するアプリケーションなので、CPUリソースの観点でz/OSMFの稼働区画にzIIP (IBM z Systems Integrated Information Processor)をアサインすることが望ましい。

(3)考察

 検証の結果、テスト構成管理とz/OSMFワークフロー機能の適用により、テスト時間の削減が可能であることを確認した。
 テスト効率化を実現するには、以下の3要素をテスト工程に適用することが必要である。

①テスト構成管理台帳の作成
②テスト構成管理運用プロセスの整備
③z/OSMFワークフロー機能の活用

 ただし、自動化ツールの作り込みには一定の時間を要することもあり、各社の状況によっては上記すべてを一度に実現できないことも想定される。そのような場合は、これらを段階的に適用し、継続的に改善していくことを提案する。

 たとえば、現状で文書化されているテストケース表などの資料をバージョンアップ・運用保守で一元的に管理することで、トレーサビリティが確立された状態となり、テスト資産の再利用性を向上させる効果がある。

 また、すでに一定の構成管理を実施している場合は、不足している構成管理項目を補うことで、テストに必要とされる要素の抜け漏れがなく関連性が充分な状態となり、さらにテスト時間が削減されることが推察される。

 このように構成管理された状態をレベルアップさせることで、テストの自動化ひいてはテスト工程、バージョンアップサイクルの短期化に繋がると評価した。

z/OSMFは活用方法次第でバージョンアップにも効果が期待
 

 当研究活動では、メインフレームのバージョンアップサイクルの短期化に向け、各社が抱える課題を洗い出し、テストフェーズに焦点を当てた。

 テストウェアの構成管理台帳、および統合運用ツールであるz/OSMFを組み合わせ、実機での検証結果に裏付けられた有用性のある手法の提言が評価をいただいたと考えている。

 各社が抱える課題に対し、原因を深掘りした結果、テストウェアを管理するべきという、一見すると当たり前すぎる解決策となった。これに対し、メンバーがこれまでの運用保守で培った経験やノウハウから、JSTQB推奨項目に対し新たな管理項目を加え、実際に適用した際に利活用可能なテストウェアの構成管理手法について定義した。

 一方で、研究過程において「構成管理台帳だけで本当に短期化を果たせるか」「なぜ、現状でそれができていないのか」「どうすれば効率的に実現できるのか」について、何度も議論を重ねた。本来のz/OSMFの利用方法とは少し異なるが、効果が期待できるとの仮説を立てて、実機にてさまざまな検証パターンを通じそれを立証した。

 今回の研究は、バージョンアップの短期化をテーマにz/OSMFの検証を試みたが、z/OSMFはREST APIなどさまざまな機能が提供されており、RPAツールなどと連携してうまく活用できれば、メインフレーム運用業務のさらなる効率化に期待できると実感した。

藤岡 義允(サブリーダー)
コベルコシステム(株)

related posts