LoginSignup
0
0

ChatGPTでKareteのテストスクリプトを作成してみる

Last updated at Posted at 2023-03-23

はじめに

最近、OpenAIのChatGPTを使って、開発を効率化できないか、いろいろと検証をしています。
Karateは、テストスクリプトの内容が、構造化されており、シンプルな内容で記述できるので、
ChatGPTとの相性も良いのではないか、と思って試してみました。

※Karateは、Cucumberと同様のBDD(ビヘイビア駆動開発)を行うためのテストフレームワークであり、Gherkinの文法を自然言語に近い形で記述できるユニットテストツールです。
※Karateについては、以下を参照してください。

ChatGPTでのKarateプロンプト定義

早速、Karateのテストの内容を想定して、自然言語でテストを書いてみます。

あなたは、Test Automation Tool の Karate を利用するテストエキスパートです。
Karateで、以下を行うテストシナリオを生成してください。

# Given
- HTTPリクエストを送信する。
- BodyはJSON形式とする。

# When
- POSTで送信する。

# Then
- HTTPステータス200であること。
- レスポンスに、データが10件あること。
- レスポンスで、ID = 100 のデータが含まれること。

ChatGPTでの出力結果

ChatGPT(GPT-4)を使って、先の内容を問い合わせてみました。

karate-chatgpt01.jpg

出力結果は、思ったよりも精度が良いです!
キチンとKarate記法を理解してくれています。
また、プロンプトでは記載していない、URLやJSONリクエストの内容なども、補完してくれています。

これは、自動テストの夢が広がりますね!

また、出力結果が読みにくいため、インデントをお願いしてみたところ、
ちゃんと、Given/When/Thenの構成を踏まえて、インデントもしてくれました。

karate-chatgpt02.jpg

まとめ

KarateとChatGPTは、相性が良さそうです。
このぐらいの精度で出力ができるなら、シナリオテストの内容を書いたテストドキュメントから、
Karateのテストスクリプトも、十分に自動生成できそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0