最近、テック業界において、チャットGPTについて関心が高まっています。この機に、チャットGPTの潜在的な強みを把握してから、2023年4月、HBLABはそれを使ってパフォーマンスの改善、業務やプロジェクトの進捗度の向上などを目指し、社内コンテストを行いました。同コンテストに作成した印象的な作品の一つとして、開発者向け単体テストの自動作成ツールが挙げられます。本記事では、ソフトウェア開発プロセスにおけるこのツールの概要や活用方法について紹介します。
「Auto Unit Test Generator」という単体テストの自動作成作品について
なぜ単体テスト作成時、ChatGPTを使うのか
単体テストはリファクタリング後のソースコードが全ての要件に応えるため、ソースコードのリファクタリングに役に立ちます。ただし、単体テストを手動で作成する開発者が30%~50%しかいません。その理由は以下の通りです。
①ユニットテストの手動作成に時間がかかる
②ユニットテストの手動作成は頻繁で退屈な作業
③実務経験がない
ツールの開発目的
- 単体テストを書く時間を最小限に短縮する。
- 時短で開発者の負担を最小限に抑えるよう繰り返す操作を省く。
- 開発者に単体テストを書くスキルを向上させる。
- 単体テストを書ける開発者数の増加による作成されたコード質を向上させたうえ、プロジェクトやプロダクトの質向上を目指すことです。
Auto Unit Test Generatorの詳細
- 基本的に拡張機能であり、即時インストールできます。
- 簡単でユーザーフレンドリーなインターフェースを通じて、誰にとっても簡単に操作できます。
- 特性:
- 柔軟な入力:コード、スペック、又はダイヤグラムに基づいて単体テストファイルを柔軟に作成できる。
- 簡単な統合:拡張機能がVS Codeなどの開発環境との統合を提供しているため、既存の開発ワークフローへの使用や統合が容易になる。
- 様々な言語に対応:ベトナム語・英語・日本語など
デモイメージ
単体テスト作成の基本的なステップ:
- 単体テストを作成したいコードを選択
- GPT が単体テストを自動的に作成できるようにコードをツールに入力
- 単体テストを実行
- 結果・報告
デモビデオ
コンテストの時間制限により、開発チームは作品を完成するのに合計20時間かかりました。試行運用後、このツールは開発者に単体テスト作成時間6割も短縮でき、自動テストプロセスの促進、コード品質の向上に繋がると評価されました。
「これは実用性が高く、特にITプロジェクトに役立つと思っています。現在、デモ作品が期待通り80%を占めました。今後、開発チームはパフォーマンスの質向上、効率化のための最適化、機能拡張を目指して改善を続けていきます。この作品は 内部1プロジェクトで試行運用されていますが、近い将来、このツールを活用するプロジェクト数を突破する予定です」とHBLABの会長であるグエン・フイ・トアン氏が評価しました。
また、同Hackathonコンテストで、HBLABはChatGPTを活用するその他の採用、マーケティング、翻訳・通訳などの分野における多くの潜在力のある作品を開発しています。各作品の無料デモ、又は関連資料のご希望がある場合は、専門チームからコンサルティングを受けるように、HBLABにご連絡してください。