Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テストを手で書いてるヒマはない💢 そんなあなたにAIテスト生成「Postbot」

テストを手で書いてるヒマはない💢 そんなあなたにAIテスト生成「Postbot」

テストスクリプトをPostmanで自動実行できるとわかったみなさん、そうは言ってもテストをどう書けばいいのかわからない!という方も多いでしょう。7月にベータ版がリリースされる、AIによるテスト生成機能「Postbot」がみなさんのお役に立てるはずです。Postman Tokyo Meetup 2023.8での発表資料です。

草薙昭彦

August 08, 2023
Tweet

More Decks by 草薙昭彦

Other Decks in Technology

Transcript

  1. All rights reserved by Postman Inc
    テストを手で書いてるヒマ
    はない💢 そんなあなたに
    AIテスト生成「Postbot」
    草薙 昭彦
    テクノロジーエバンジェリスト
    #PostmanMeetup

    View full-size slide

  2. テクノロジーエバンジェリスト
    Postman 株式会社
    草薙 昭彦
    @nagix
    @postman_japan

    View full-size slide

  3. API テスト担当者の悩み
    @postman_japan
    ● 複数の実装チームとのコミュニケーション
    ● ドキュメントの不足
    ● テストツール、環境の整備
    ● テストのバリエーション
    ○ ユニットテスト、統合テスト、シナリオテスト、
    性能テスト、負荷テスト、…
    ● カバレッジの不足
    ● テスト要員の不足

    View full-size slide

  4. API テスト担当者の悩み
    @postman_japan
    プロダクト
    の品質
    テストにかけた労力(=コスト)
    人手の作業

    View full-size slide

  5. API テスト担当者の悩み
    @postman_japan
    プロダクト
    の品質
    テストにかけた労力(=コスト)
    AI の支援
    人手の作業

    View full-size slide

  6. Postbot とは
    @postman_japan
    生成 AI (Generative AI)
    ● 簡単に利用できる API のおかげで、ここ数ヶ月の間で非常に多くの注目を集めている
    ● AI にはたくさんのユニークな使い道があり、
    Postman の開発チームでもしばらくの
    間、その活用方法が検討されてきた
    Postbot
    ● Postman ワークスペースにおける AI コンパニオン
    ● API のデバッグと理解、テストの迅速な記述、大量のデータの意味を理解する手助け
    をしてくれる

    View full-size slide

  7. Postbot の主な使い方
    @postman_japan
    ● テストの生成を支援
    ● レスポンスを可視化
    ● コレクションのテストをまとめて生成

    View full-size slide

  8. 準備
    @postman_japan
    ● Postman の検索窓で
    「Postman Japan Workshop」
    を検索
    ● 「Tokyo Meetup 2023.8」
    コレクションを選択して、
    「・・・」メニューから
    「Create a fork」を選ぶ

    View full-size slide

  9. 準備
    @postman_japan
    ● Fork collectionページで「Fork label」にフォークの名前、「 Workspace」にフォーク先のワークスペー
    スを指定して「Fork Collection」ボタンを押す

    View full-size slide

  10. テストの生成を支援
    @postman_japan
    「図書館」API リクエストの「Tests」を選択

    View full-size slide

  11. テストの生成を支援
    @postman_japan
    「Add tests to this request」というサンプルのプロンプトをクリック

    View full-size slide

  12. テストの生成を支援
    @postman_japan
    生成されたテストを確認

    View full-size slide

  13. テストの生成を支援
    @postman_japan
    レスポンスの「Test Results」欄を確認

    View full-size slide

  14. テストの生成を支援
    @postman_japan
    プロンプトを工夫してテストを追加してみましょう

    View full-size slide

  15. レスポンスを可視化
    @postman_japan
    「Visualize response...」というサンプルのプロンプトをクリック

    View full-size slide

  16. レスポンスを可視化
    @postman_japan
    リクエストの「Send」ボタンを押し、レスポンスの「 Body」欄の「Visualize」の項目を確認

    View full-size slide

  17. レスポンスを可視化
    @postman_japan
    「気温」API リクエストの「Tests」欄に移動して「Visualize response...」サンプルを選び、さらに「 ...as
    line chart」というプロンプトを追加

    View full-size slide

  18. レスポンスを可視化
    @postman_japan
    リクエストの「Send」ボタンを押し、レスポンスの「 Body」欄の「Visualize」の項目を確認

    View full-size slide

  19. コレクションのテストをまとめて生成
    @postman_japan
    コレクション一覧から「 Tokyo Meetup 2023.8」コレクションを右クリックし、「 Generate tests」を選択

    View full-size slide

  20. コレクションのテストをまとめて生成
    @postman_japan
    右上の「Generate Tests」ボタンを押すと、AIがコレクション全体のテストを一括生成

    View full-size slide

  21. コレクションのテストをまとめて生成
    @postman_japan
    テストスクリプトとテスト結果を確認

    View full-size slide

  22. 日本語は使えるの?
    @postman_japan

    View full-size slide

  23. テストの追加 (1)
    @postman_japan
    「レスポンスの配列の長さが10より大きいことを確認するテストを追加。」
    pm.test("Response array length is greater than 10", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData).to.be.an('array').that.has.length.above(10);
    });

    View full-size slide

  24. テストの追加 (2)
    @postman_japan
    「レスポンスの配列の長さが10より大きいことを確認するテストを追加。説明は日本語で。」
    pm.test("レスポンスの配列の長さが10より大きいことを確認する", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData).to.be.an('array').that.has.length.above(10);
    });

    View full-size slide

  25. チャートの表示
    @postman_japan
    「Visualize response as line chart. 最高気温と最低気温を表示。華氏を摂氏に変換。
    日本語で表示。」

    View full-size slide

  26. ダウンロードして無料でスタート!
    https://www.postman.com/downloads/
    デスクトップアプリ
    ● Windows
    ● Mac
    ● Linux
    Web アプリ
    ● アカウント登録で同
    じ機能をブラウザで
    も利用できる
    @postman_japan

    View full-size slide

  27. ありがとうございました
    @postman_japan

    View full-size slide