[アップデート] AWS Transform for mainframe の機能が拡張されたので自動テスト生成機能をつかってみた #AWSreInvent

[アップデート] AWS Transform for mainframe の機能が拡張されたので自動テスト生成機能をつかってみた #AWSreInvent

2025.12.05

いわさです。

AWS Transform を使うとメインフレームのアプリケーションコードから仕様書を作成したり、あるいはコードのモダナイゼーションを行うことが出来ました。(旧:Amazon Q Developer の Transform 機能)

https://dev.classmethod.jp/articles/q-developer-transformation-mainframe/

AWS re:Invent 2025 期間中にアナウンスされましたが、この AWS Transform のメインフレーム向け機能が拡張されました。.NET と同じ感じですね。

https://aws.amazon.com/about-aws/whats-new/2025/12/transform-mainframe-application-reimagining/

メインフレームでは新たに、AI を使ってアーキテクチャを再考するための機能と、テストスクリプトを自動作成する機能が追加されました。
今回 COBOL コードを対象にテスト生成を行ってみたのでその様子を紹介します。

ジョブの作成

AWS Transform 自体の開始方法は割愛します。
.NET や Custom と同様です。

https://dev.classmethod.jp/articles/transform-ai-agent-full-stack-windows-modernization/

https://dev.classmethod.jp/articles/transform-net-transformation-developer-experience/

新しいジョブを作成する際にジョブタイプを指定できますが、ここで「Mainframe Modernization」を選択します。

1FF28C73-F57F-4638-9966-1452BA532037.png

続いてメインフレームモダナイゼーションの中でもいくつかのジョブ計画のテンプレートから選択することが出来ます。
今回はテストの生成を行いたかったので 6 を入力しました。

787FD02B-0525-4F3F-83C5-9AB79476A4F7.png

そうすると、ジョブプランがまずサイドメニューに展開されます。
このジョブプランの流れとしては以下です。

954AD1AA-CF51-4667-AF82-AAE0A9E2FC8B.png

アプリケーションコードを解析して、テストケースとスクリプトを作成する感じですね。
ジョブプランの先頭で「キックオフ」というものがありますが、ジョブの入力・出力のオブジェクトを扱う S3 バケットや AWS アカウントとの接続を行います。

EDA2AC4E-7758-4B93-A2D8-8ED86FE58F7D.png

アプリケーションコードについては Zip 化して S3 バケットにアップロードしておく必要がありました。
個別のソースコードファイルだとダメなのと、.NET などのように Git リポジトリでの対応も出来ません。

9B99B6DD-D0BD-4C66-B75E-B5F6598B235A.png

アプリケーションの分析

S3 バケットの設定とアプリケーションのアップロードが出来てればまずはコードの分析やビジネスロジックの抽出などから始まります。

B787EB85-0489-4D78-9133-D5B1B267DF26.png

まずはアプリケーションの対象ファイルを指定します。

64E7FF0A-2A93-42DA-81E0-A895C689C1D3.png

コード解析後にビジネスロジックの抽出を行うステップです。
スコープ(アプリケーションレベル、ファイルレベル)を決めて対象ファイルを選択します。

3A19A963-B310-425E-A3C0-174B7E617D57_1_105_c.jpeg

さらに、ドメインを分解していきます。
事前にドメインを定義し、そこに各ロジックの割当を行います。今回は適当なドメインを新規作成し、そこに抽出対象をすべて入れました。

E974234C-AF78-49AA-8AF0-E42F1FB469EA.png

768E23B7-9847-4DC9-B9CE-6D5FB3F0A244.png

BA971AEC-8F03-4D03-BFA1-4B476CDF24D2_1_105_c.jpeg

テストケースの作成

ここからテストケース作成に入っていきます。
まずはテスト計画の作成からです。
自動でテストスコープなどの定義をしてくれるのでそのまま進みつつ、各ファイルのレビュー行います。OKであればそのまま進めます。

10F09534-193E-4E8E-AD6E-5D4E342A3BEB_1_105_c.jpeg

08F65925-B509-4597-AB8B-736FA092F1DE.png

続いてテストデータを用意するスクリプトも作成してくれるので進めます。
対象テストケースを選択してテストデータ生成用スクリプトのテンプレートを格納した S3 パスを指定します。テンプレートは以下の「download samples」から取得できます。今回はそのままアップロードしています。

290460F1-0E65-4088-910A-F608C3D522C8_1_105_c.jpeg

収集スクリプトが生成されるのでレビューしましょう。デフォルトだと S3 の CORS の問題でプレビュー出来ないので、その場合は S3 バケットの CORS 設定を見直してみてください。

A9B3E7D3-8F8D-4649-AABA-C5D01D6CC8F4_1_105_c.jpeg

B6054D18-E75A-49EB-BFD3-F17D6FE7DD5A.png

A6F03AE0-3D37-4767-94F9-B8E2960E38D2_1_105_c.jpeg

最後に、テスト自動実行スクリプトの生成までしてくれるのでそれを作成して完了です。

0932BD75-7D98-4B20-B2E6-1B7F69CD6328.png

最終的には実行スクリプトからテストケース、テストデータまですべて指定した S3 バケットに出力されます。
これを使ってテストする感じみたいです。

さいごに

本日は AWS Transform for mainframe の機能が拡張されたので自動テスト生成機能をつかってみました。

先日の Windows フルスタックのやつと違って、S3 バケットのコードをベースに S3 バケットに成果物を作成するので、既存環境やリポジトリを汚してしまうリスクがなさそうで、お試ししやすいのではないでしょうか。
また、AWS Transform はまだエラーが出てうまくいかなかったり時間がかかりすぎることがあったのですが、この機能は比較的サクッと使いやすい機能だなと思いました。

この記事をシェアする

FacebookHatena blogX

関連記事