Table of Contents
テストをしていて感じた課題
テストに時間がかかる
AWS SAMを作ってスピーディーにバックエンドを作ったものの、Lambdaを動かすためにはJSONをPOSTしなければなりません。
curlコマンドを使ってPOSTしても良いですが、POSTするデータを誤りなく入力するのが手間です。
実機を使ってテストしても良いのですが、今回のシステムの場合、テストをする度に部屋を出たり入ったりする必要があり、更に時間がかかります。家族からも「お父さん、ちゃんと仕事してるの?」と白い目で見られます。
本番さながらのテストが難しい
今回のシステムだけでも以下のケースでテストする必要があります。
- 部屋を出たケース
- 部屋に戻ったケース
- 未知のHWIDをPOSTされたケース
- 未知のユーザIDをPOSTされたケース
- 複数のPOSTが同時に発生したケース
curlコマンドを駆使してこれらを網羅的にテストするのはなかなかの手間です。
mockmockを使ってテストをする
上記の課題を解決するために、「LINE BeaconのWebhook通知を模擬するmockmockプロジェクト」を公開しました。使い方は以下の通りです。
1. アカウント登録
mockmockのアカウント登録ページからアカウント登録してください。(登録は無料です)
初回ログイン時にアンケートが表示されます。お手数ですが、サービス改善のためご協力をお願いいたします。m(_ _)m
2. 公開プロジェクトをコピー
ログイン後の画面で「プロジェクトのコピー」をクリックしてください。
以下の通り入力してください。
項目 | 値 |
---|---|
プロジェクト名 | (任意のプロジェクト名) |
コピー元プロジェクト | [公開プロジェクト]>[mockmock official/line-beacon] |
3. プロジェクト設定
以下の通り、設定を一部変更ください。
項目 | 値 |
---|---|
送信先ホスト | (データ送信先のホスト名) |
認証用パス | (データ送信先の認証用パス) |
認証用パスに対してデータを送信し、認証キーが返却されないと、設定を変更できませんのでご注意ください。
参考: 送信先の認証
4. mockステータスを設定
[line-beacon-notifier]>[mockステータス]>[default]>[設定]
の順でクリックして画面を移動してください。
以下の通り、設定を一部変更してください。
項目 | 値 |
---|---|
データ送信先パス | (データ送信先のパス) |
最小送信間隔[sec] | (お好みの送信間隔を秒単位で) |
最大送信間隔[sec] | (お好みの送信間隔を秒単位で) |
最小送信間隔[sec]と最大送信間隔[sec]を同じ値にしておくと、一定周期でデータを送信できます。
5. mockを作成・起動
[line-beacon-notifier]>[mock作成]
の順でクリックして画面を移動してください。
以下の通り入力してください。
mockを作成できたら[操作]>[起動]
をクリックして、mockを起動しましょう。数分以内にmockが起動して、指定した送信間隔でデータがPOSTされます。
mockは起動から100秒後に自動で停止しますのでご安心ください。停止までの時間は[設定]>[最大稼働時間[sec]]
で変更できます。
一歩進んだ使い方
複数のmockからデータを送信して負荷テストする
mockmockを使うと最大50000台のmockを起動して、同時にデータを送信することができます。
ただし、2台以上のmockを起動すると利用料金が発生しますのでご注意ください。
mockの状態遷移を設定し、送信データや周期を変化させる
mockmockではmockの状態遷移を定義することが可能です。状態に応じて、データの送信間隔や送信先パスを変更することができます。
これによって、より実際の運用に近い形でIoTシステムをテストできます。
まとめ
公開プロジェクトを使うことでLINE Beaconのバックエンドをよりテストしやすくなるので、ぜひお試しください。
「LINE Beacon以外のサービスに対応したプロジェクトを公開して欲しい」といった要望もお待ちしております。
IoT, mockmockに関するご相談は、お問い合わせフォームからお願いします。