TOPハウツー・学習テクノロジーSoftware Testing Journey🌍#278 Magic PodのAutopilotで、Web APIを使ったアカウント新規登録テストを作ったよ。12:11 2025年9月15日 130再生 問題を報告する 再生する シェアする AI目次Magic Podオートパイロット導入でテスト効率化Web APIテスト自動化の具体例とは30分でWeb APIテスト作成に成功APIテスト作成における課題と解決策まさかのメガネ忘れと新潟駅近くのゾフAI文字起こし(β版) # タイトルコール ようこそ、世界が広がるソフトウェア品質へ。 このチャンネルでは、エンジニアリングマネージャー兼QAリーダーのサミーが、 ソフトウェアテストやソフトウェアの品質保証を中心に、 日々奮闘していることや考えていることをお話しします。 毎日、お昼の12時30分に配信しています。 ゲストの方やリスナーのあなたと、 テストや品質の世界を広げていきます。 # Magic PodのAutopilotで、Web APIを使ったアカウント新規登録テストを作った話 こんにちは、さみぃです。今日もワクワクしてますか? 今回はですね、MagicPotのオートパイロットを使ったよという話をしていきます。 もう少し具体的に言うとですね、Web APIのテストを作ってみました。 まず最初にこのきっかけですね、なんでオートパイロットを作ろう、使おうと思ったのかというところと、 どういうテストを作りたかったのかというところから話をしていきます。 きっかけは何と言ってもですね、先日のMagicPotのユーザーミートアップになります。 MagicPotのCEOの伊藤さんからですね、発表というのかな、お話がありまして、 その中でオートパイロットでこういうことできるよというところの紹介もありました。 ユーザーミートアップ参加する前から存在は認識してたんですけど、後回しになってしまっていたので、 ユーザーミートアップをきっかけに、よしオートパイロットまずは使ってみよう、 何ができるかというのは自分で体感というのかな、しようというところを考えたのがきっかけです。 もう一つ、ユーザーミートアップの中でWeb APIを使えるよとか、こういうふうに活用したよという事例も紹介されていました。 その中で特に気になったのが、新規登録ですね、アカウントの新規登録をWeb APIで、 APIをたたいて直接作る、そういう活用方法があるよって聞いたのがすごい気になっていて、 まさにですね、今自分で作っているテスト、MagicPotで作っているテストだと、 ざっくり三つの構成になっているんですよ、テストの中身というんですかね。 まず最初に新規登録でアカウントを作ります、その後何かテストしたいことのオペレーションをしてアサーションをします。 最後に大会をしてアカウントを削除というか、きれいにするというこの三段階になっているんですよね。 既存のテストだと、その新規登録というのは全部画面上、UI上を操作して新規登録をしているんですね。 その事例の発表を伺っていて、確かになと思ったんですけれど、Web APIを経由して直接APIをたたいて、 新規登録アカウントを作れば当然実行速度も速いと、確かに確かにと思ったわけですね。 これぜひやりたいなと思ったんですけど、具体的にどういうふうな手順というのかな、 テストを書いたらよいのかというところまでは事例の発表がなかったわけです。 どうしたものかなというのを考えていて、ふと閃いたわけなんですね。 これオートパイロットで作れるんじゃないかな、ということでオートパイロットを活用して、 Web API経由でアカウントを新規登録するというテストを作ってみました。 続いてここからは使ってみての初感と、その後もう少し詳細のこういうふうにやってみたいという流れをお話ししていきます。 全体の初感としてなんですけれど、大体30分ぐらいでテストを作れたかなという感じです。 1から0から自分からやってたら多分できなかったと思うので、そういう意味ではすごくサポートになりました。 一方で伊藤さんもお話しされてたんですけど、結構速度が遅いんですよというのは実際に感じたので、 伊藤さんからアドバイスいただいてた通り、コマンドをプロンプト入れて実行する、 その間に別の作業をして3分とか5分とかしたらまた戻ってくるという感じでオートパイロットを使っていました。 オートパイロットのいいなと思ったポイントとしては、やっぱりWeb APIのテストどういうふうに0から自分で変えたらいいかが分からないという状態だったので、 そこをかなりサポートはもらいました。どういう流れでテストを作っていったらよいのかというところがヒントをもらいながら進めることができたので、 結果として、もし自分で0からやったら2時間とかかかってたかもしれないものが30分でできたというのはオートパイロットを使ってよかったなというポイントです。 あともう1個良かったポイントが、普段使わないコマンドっていうんですかね。 例えばログの出力というコマンドがあるとか、変数の活用だったりとか、繰り返しの処理というのはこれまで自分では作ったことなかったので、 オートパイロットが作ったのを見て、こういうコマンドもあるんだなという存在だったり使い方ということを学ぶこともできました。 1本でオートパイロットのまだまだ弱い部分かなというところは、伊藤さんもおっしゃってたんですけれど、時間がめちゃくちゃかかるというところですね。 プロンプトを投げてから帰ってくるというのかな、結構試行中の中身というのは随時表示ばされてたりするんですけど、 一周というのはここまで処理しきりましたというところまでは数分かかるというところなので、結構今後改善されるんじゃないかなというふうに期待しているポイントでもあります。 そしてもう少し具体的なところを最後お話ししていこうと思います。 最初に打ったコマンドというかプロンプトは、先ほどもちらっと言ったんですけど、Web APIを使ってアカウントの新規登録を行うテストを作成してくださいというふうにプロンプトを投げました。 そしたら、Jetpotのオートパイロットのほうでも、まず最初にこんな内容が返ってきました。 まず、現在のテストケースの状態を読み込み、使うコマンドの正確なパラメータ使用を確認します。 続いて、Web APIで新規登録を行うためのステップを押した楽器、楽園ドポンのイントなどはダミー、括弧と字で追加できます。 後で本番の値に差し替えましょうという感じで、何をやっているのかというのと、何がその後自分の作業として必要なのかというところが書かれているのがすごく安心感もありました。 テストケースを読み込んでマウスとかコマンドを検索してマウスみたいなのをやっていることが随時表示をされていて、次のような感じで文字がテキストが表示されています。 ありがとうございます。まずWeb APIで新規登録だけを行う最初の構成のテストを追加しました。 やったことと使い方は書きですということで、作成したテストの流れは一時のメールアドレスを自動生成して、 これこれをこういうふうにして毎回ユニークなメールアドレスを生成しますとか、生成したメールをログに出力してWeb APIをポストで呼び出して新規登録しますよという感じで、 基本ステータス、期待ステータスがこれこれで、ヘッダーとボディーはこれこれですよみたいなところですね。 成功時はこのまま通過、失敗時はステータス不一致でテスト失敗させますみたいなこと。 どういうテストを作成したのかというのがまずテキスト、日本語で書かれています。 その後にこの後に調整していただきたい箇所というところで何がやる必要があるのかというのも書いてあります。 例えば登録APIのURL、今はダミーのこれこれになっているので実際のエンドポイントに書き換えてくださいとか、 あとはリクエストボディの項目名ですね。今はEmailとパスワードでやってるんだけど、必要に応じて書き換えてくださいね、項目を変更してくださいねとか、 あと期待ステータスコードは今201というふうに書いてるんですけど、それ以外回数設計であれば値に合わせて変更してくださいねとか、 そういうことが書いてあります。プラスしてもう1個、もう1個というかまだあと2つぐらい書いてあるんですけど、出力結果ですね。 3つ目が発展、ご希望ならすぐ組み込みますということで、レスポンスからユーザーIDとアクセストークンを変数に保存してログを出力しますよとか、 あと招待コードやメール認証が必要ならそのAPIを呼び出すのを続けて自動化しますよとか、こういうこともやってくれますよというところもしっかり書いています。 最後のセクションがお願いというふうに書いていて、こういうことやってくださいねというところを最後にまとめて書いてあります。 実際の登録APIのエンドポイントのURLとか、必要なヘッダーとか、リクエストの項目名とか、期待されるステータスコード、レスポンス例などがあれば教えてください。 教えていただいたらこちらでテストを具体化しますよというふうに書いてあります。 こんな感じでですね、やったことと追加してくださいねというのがあるので本当にやりやすかったです。 一方でといいますか、私はもともと自分で画面上からの操作でのアカウントの新規登録をやっていたというのもあって、 それをある意味登録のAPIを叩くという部分、画面上からの操作からWeb APIに変えるということをやっていたので、 言いたかったのは、もともとどういう操作をしたら何ができるかというところが分かった上で今回のテストを作ったので、 こういうふうに書き換えたらいいだろうなというのは割とスムーズに操作できたと思います。 もし新規登録を全く作ったことがないとか、そういうテストでWeb APIで作ってみようとなったときに、 何をしたらいいのかとか、そもそもWeb APIのコールがあって、ポストとかあって何をポストしたらいいのかとか、 何をゲットしたらいいのかというところが分からない状態で、 オートパイロットだけで作ったらうまくいったか、30分で作れたかというと、ちょっとそれは難しいんじゃないかなというふうに感じました。 何でこんな話をしたかというと、最初にオートパイロットで作ってもらったテストの中身を見ていくと、 ログを出力したりとか、ログをしておけばいいのかなとか、ちょっと私の目線から見ると序章だなと思うような操作が入っていたんですね。 これじゃなくてもいいかもなって思うもの。それを省くことができたのは、もともと何ができたらよいかというところを、 イメージを持っていた、マジックポッドでどう実現できるかというところが分かっていたから、 ここはいらなさそうだなという判断ができたというふうに感じました。 ということで、今回はマジックポッドのオートパイロットを使ってWeb APIのアカウント新規登録のテストを作ってみたよ、30分でできたよという話をしました。 ユーザーミートアップで得た学びとかやる気みたいなところを活かして、パパッとテストを作るという行動に進めたことも嬉しいですし、 また別のテストでもオートパイロットを引き続き使ってみたいと思います。 # 今日のほっこり話👓 今日のほっこり話です。 メガネの話をします。 先日、ジャスト新潟に参加するために新潟に行ったんですけれど、 まさかのですね、メガネを持っていくのを忘れました。 久しぶりにコンタクトをつけて、その日は家を出て行ったのが良かったんです。 で、あ、メガネ持っていかなきゃなー。 あの、宿泊をする予定だったんで、メガネ持っていかなきゃなーって思ってたんですけど、 その時に、あ、靴下持っていかなきゃって思って、靴下を入れたらですね、メガネを忘れてしまいましてですね。 ジャストの講演中に、あ、メガネ忘れたって突然言ってみますか、思い出しまして。 私ちょっと、ラガンだと日常生活を送れないぐらい悪いのと、 その後、連休なので観光もしようと思ってたんで、 さすがにメガネないと危ないなーっていうところだったんですけど、 で、どうしたと思います? なんとですね、新潟駅のすぐ近くにですね、ゾフがありまして、 ジャストの会場のニーノっていうところでやったんですけど、 会場から徒歩3分ってグーグルマップで出てきたんで、これ行けないってことですね。 講演の合間の休憩時間にですね、メガネを作りに行きました。 まあ30分ぐらいでできますよって話だったんで、また会場戻ってきて次の講演聞いて、 また休憩時間にメガネを取りに行くみたいな感じで、 なんとかですね、メガネを無事に受け取る、作ることができました。 おかげでその後の観光もですね、いろいろ楽しむことができました。 ということで、以上今日のホッコリ話でした。 # 次回予告 今回も最後までお聞きいただきありがとうございました。 次回はVoicyのトークテーマ、学び直したいことということで、 最近読んでいるクリーンアジャイルという本のお話をしようと思います。 今回の放送を聞いて、なるほどな、確かにな、学びになったなと思った方は、 ぜひ画面右下、ハートマークでいいねを押していただけると、とっても励みになります。 また、プレミアム放送の方ではより身近に感じるような放送をしております。 チャンネルチャットの方では、オフ会の作戦会議だったり、 登壇情報をいち早く知ることができます。 プレミアムリスナーについて気になる方は、ぜひチャンネルページのトップに固定してある放送をお聞きください。 それではまた明日お会いしましょう。ごきげんよう。 もっと見る #AI #ソフトウェアテスト #E2E自動テスト #MagicPod Software Testing Journey🌍プレミアム放送配信中!00:201.タイトルコール09:412.Magic PodのAutopilotで、Web APIを使ったアカウント新規登録テストを作った話01:313.今日のほっこり話👓00:404.次回予告コメント感想・質問・応援メッセージを書こう
#673 『Taking Testing Seriously』14章で印象に残ったこと 11分・10月16日・ 78再生AI目次シグナルベーステストの概念を解説シグナルとリスクベーステストの違いユーザー視点テストの知られざる効果VCアプリ先行リリースの反響は松茸とトリュフ 秋の味覚論争
#672 アプリリニューアルについて│くろたかさん対談前半 34分・10月15日・ 59再生AI目次Voicyリニューアルの深い「繋がり」心地よい「居場所」としてのVoicy一押し!オフライン再生機能の魅力ユーザー報告から見るVoicyへの信頼AIとE2Eテストの今後の行方
#671 最近の不具合報告書の書き方を考えてみると、開発アシスタントをしてると気づいた 10分・10月14日・ 76再生AI目次黒鷹さんとの生放送対談、その見どころAIが変える不具合報告の進化とは不具合報告者が開発アシスタントへ変貌熊本で挑む、新しい美容院探しの旅ゲームマーケットちらしミスと夫の反応
#670 2017年の私は何をしていたか 14分・10月13日・ 103再生AI目次2017年を彩った趣味と旅の遍歴ウィーン楽団からUSJまで!旅と音楽体験ゲームタイトル名付けに潜む戦略的思考AI進化に驚愕!練習日程調整の新常識旅とレゴに没頭!2017年の知られざる顔
#669 成長している実感がないとき、何を見る? 10分・10月12日・ 108再生AI目次成長を感じない時、振り返るべき2つの視点行動から得た学びを前進に変える実践リスナーコメント:人生を変えた選択とは旅先の箸置きで知る夫婦の関係性成長と前進を分ける思考で次の一歩へ
#668 Voicyのストア機能(新機能)でオフ会特別チケットを出したい 11分・10月11日・ 70再生AI目次Voicy新機能「ストア」で何ができる?オフ会特別チケット、販売の秘策購入者限定オリジナルグッズの魅力Voicyストア機能、今後の可能性とは旅の空弁、期待と異なる結末