テスト駆動設計、十分なコードカバレッジの確保、問題検出を通じてアプリケーションの品質を保証することは、顧客の信頼や組織の評判にとって非常に重要ですが、同時にそれは時間のかかる作業でもあります。最も包括的なDevSecOpsプラットフォーム上に構築された自律型AIであるGitLab Duo Workflowは、Javaアプリケーションに単体テストを追加するなどの開発作業を迅速に完了するよう支援します。このチュートリアルでは、こちらのサンプルのJavaプロジェクトを使用しながら手順をご説明します。
GitLab Duo Workflowは現在プライベートベータ版です。ウェイトリストに登録して、ソフトウェアデリバリーライフサイクル(SDLC)全体のプロセスを理解するAIエージェントを活用すると何が実現できるのかをご確認ください。
プロジェクトをVS Codeで開く
- お使いのローカルマシンにクローンしたJavaプロジェクトをVisual Studio Codeで開きます。作業を始める前に、メインブランチやデフォルトブランチではなく、フィーチャーブランチにいることを確認してください。すでにマージリクエストの作業中であれば、対応するフィーチャーブランチが存在しているはずです。
2.(このステップは任意です)。GitLab Duo Workflowに単体テストを作成させたいJavaクラスを定義したファイルに移動します。そのファイルの内容を確認しておくことで、生成された単体テストがクラスのメンバーを正常にカバーしているかを後から確認できます。表示される内容は以下のとおりです。

注意:このチュートリアルは、VS CodeでGitLab Duo Workflow拡張機能が有効になっていることを前提としています。そうでない場合は、セットアップドキュメントを参照して有効化してください。
- VS CodeコマンドパレットCtrl + Shift + Pを開き、「GitLab Duo Workflow」と入力して、GitLab: Show Duo Workflowを選択して、GitLab Duo Workflowを起動します。次のようなタブが表示されます。

- 次に、デフォルトコンストラクター、オブジェクト作成の検証、およびProductクラスのプロパティの初期状態のテストを追加します。これを実行するには、GitLab Duo Workflowのテキストエリアに以下のプロンプトを入力します。
Create unit tests for class defined in the Product.java file and store the unit tests in its own file titled ProductTest.java

- GitLab Duo Workflowウィンドウの Start(開始)ボタンをクリックします。2つの新しいウィンドウが、画面中央と右側にそれぞれ表示されます。右側のウィンドウには、プロンプトで指定した目標を達成するために、GitLab Duo Workflowが実行している分析内容が表示されます。中央のウィンドウには、作成された計画が表示されます。分析と計画の生成が終了すると、次のような出力が表示されるはずです。

- 分析と計画を確認し、問題がなければ、ウィンドウの下部にあるApprove plan(計画を承認)をクリックします。
- GitLab Duo Workflowは、承認された計画の実行を開始し、それに応じてプロジェクトに変更を加えます。
- 計画の実行が終了すると、プロジェクトに新しいディレクトリ
src/test/java/csaa/jspring/ProductManagerが表示され、ProductTest.javaという名前の新しいファイルが表示されます。このファイルには、Product.javaクラスに対するすべての単体テストが含まれています。

- 新しく作成されたファイル
ProductTest.javaに移動すると、いくつかのインポートステートメントが赤い下線で強調されており、インポートエラーが発生していることがわかります。

GitLab Duo Workflowを使用して、これらのエラーを修正してみましょう。
注意:最初のプロンプトでGitLab Duo Workflowにpom.xmlファイルを適宜更新するように依頼することもできます。今回はそうしなかったので、新しいワークフローでこれらのエラーを修正しましょう。
GitLab Duo Workflowを起動して、生成されたコードのエラーを修正する
- 画面右側の分析ウィンドウの下部にあるNew workflow(新規ワークフロー) ボタンをクリックして、新しいワークフローを開始します。

- プロンプトテキストエリアに次のように入力します。
The file ProductTest.java has an error “The import org.junit cannot be resolved”. Please fix it
- 提案された計画を承認すると、GitLab Duo Workflowは現在の
pom.xmlファイルを読み取って分析を開始します。また、その後、古いJUnitの依存関係を削除し、正しい依存関係とバージョンを追加します。最後に、ProductTest.javaファイルを読み込み、依存性エラーをすべてクリアします。

チュートリアルを見る
この計画の実行を通じて、GitLab Duo Workflowはプロンプトでリクエストされた内容を達成するために、プロジェクトを効果的に更新しています。これにより、時間と労力が節約され、生産性も向上するため、デベロッパーは組織のイノベーションと価値創造により多くの時間を費やせるようになります。
上記の動作を確認したい場合は、次の動画をご覧ください。(英語版のみ視聴可能)
GitLab Duo Workflowプライベートベータ版のウェイトリストにサインアップして、SDLC全体のプロセスを理解するAIエージェントを活用すると何が実現できるのかをご確認ください。





