Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
◯◯ゼミ IoT講座 mockmock編
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Keita Mohri
September 17, 2018
Technology
0
540
◯◯ゼミ IoT講座 mockmock編
SORACOM UG Explorer 2018 懇親会LT
Keita Mohri
September 17, 2018
Tweet
Share
More Decks by Keita Mohri
See All by Keita Mohri
Excelを扱うRubyGemまとめ 2022
ktam1219
0
630
モクえもんのお時間です
ktam1219
0
210
在宅ワーク中だけど会社にしかGPSマルチユニットがない?でも大丈夫!そう、mockmockがあればね。
ktam1219
0
430
IoTデバイスの疑似データ送信システムにおける サーバーレスなログ処理機構の試行錯誤
ktam1219
0
620
実写版モクえもん in Explorer ~愛・おぼえていますか~
ktam1219
0
360
エンジニアのおしごと
ktam1219
0
170
mockmockの大量のログをいい感じに捌きたい
ktam1219
0
1.1k
Goで作る大量プロセス管理機構
ktam1219
2
3.8k
わりとゴツいKubernetesハンズオン そのあとに
ktam1219
0
670
Other Decks in Technology
See All in Technology
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
2
450
しろおびセキュリティへ ようこそ
log0417
0
200
Werner Vogelsが14年間 問い続けてきたこと
yusukeshimizu
2
260
Regional_NAT_Gatewayについて_basicとの違い_試した内容スケールアウト_インについて_IPv6_dual_networkでの使い分けなど.pdf
cloudevcode
1
190
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
180
みんなだいすきALB、NLBの 仕組みから最新機能まで総おさらい / Mastering ALB & NLB: Internal Mechanics and Latest Innovations
kaminashi
0
150
Amazon ElastiCacheのコスト最適化を考える/Elasticache Cost Optimization
quiver
0
310
Riverpod3.xで実現する実践的UI実装
fumiyasac0921
2
360
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
210
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
1
410
Lambda Durable FunctionsでStep Functionsの代わりはできるのかを試してみた
smt7174
3
170
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
0
110
Featured
See All Featured
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
110
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
44
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
A Modern Web Designer's Workflow
chriscoyier
698
190k
First, design no harm
axbom
PRO
2
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to make the Groovebox
asonas
2
1.9k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
88
Ruling the World: When Life Gets Gamed
codingconduct
0
130
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Abbi's Birthday
coloredviolet
1
4.6k
Transcript
̋̋θϛ*P5ߨ࠲ NPDLNPDLฤ 403"$0.6(&YQMPSFS࠙ձ-5 ໟརܒଠ
࣌ອըͷΑ͏Ͱ͢Ͷ
એອըͱ͍͑θϛ ˞ࣸਅΠϝʔδͰ͢ ˞༽ೣʹมΘΓ·ͨ͠
ͬͯΈͨ
IoT !!
僕の名前は 飯尾 太郎 (IIoTaro) Webエンジニア 3年生! 今日からIoT開発部に 配属 どんなプロジェクト なんだろう…
今日から 農業のIoTやるよ 温度計とか 湿度計とかのやつ よろしくー やったるでー!
バックエンドの 基本的な部分できた 気がします 動作確認したいです まだデバイスが 開発中なんで 適当にデータ作って 確認しといて! ↑ 地味に面倒なヤツ
諸君喜べ!ついに デバイスができたぞー‼
喜んではみたものの テスト項目って…
気温が40度を 超えたら… 計測値がNULLに 変化した場合… ステータスが エラーに変化したら… 実デバイスで 出しづらい条件ばかりが‼
仕方ないから 適当にシミュレーター 作って確認しといて! ↑ 本格的に面倒なヤツ
シミュレーター 作り込もうとしたら 無限に時間がかかる そうこうしているうちに 開発が遅れている…‼
結局シミュレーターも適当なものしかできず、 順調にスケジュールが遅れていたある日…
リリース前に 1,000台ぐらいで 本番環境を想定した 試験を――
十分なテストもできずリリース‼
リリース後 3日目――
なんか、 一部のデバイスのデータが たまに欠けてるみたい なんですが…
Lambdaが2重に 起動すると―― Kinesisの シャードが 足りない―― エラー時の処理が うまくいってない――
結果は散々 それでも次のプロジェクトはやってくる
次のプロジェクトは 車載センサーを使う センサーには SORACOMのSIMを―― IoTもういやだ…
SORACOMの BeamやFunnelを使うとなれば 実デバイスでしかテストが できない そして扱うデータは位置情報 どうやってテストをすれば…
とりあえず Explorerに 行っとくか
んっ?あれは…
None
IoTのバックエンドの テスト用に 仮想デバイスを 提供するサービスです 思い通りのデータを ほしいタイミングで ほしい台数分出します これがあれば テストなんて チョチョイのチョイ
なんという ことでしょう… 緯度経度の ジェネレーターも あります(Closed Beta) SORACOM Harvest にもデータが送れます (Closed
Beta) もちろん 他のSORACOM サービスも近々
後日――
mockmockだ! デバッグが面倒 なんですけど…
mockmockを 使うんだ! デバイスの エラー時の テスト どうしましょう?
そんな時こそ mockmock!! 状態遷移の テストが 大変です!
そうして順調にプロジェクトを進めていた ある日のこと――
これ、事例紹介で 出ていたやつだー! リリース前に 1,000台ぐらいで 本番環境を想定した 試験を――
None
十分なテストを行い、 余裕を持ってリリース!
私生活にも余裕が出た飯尾は、彼女もできて幸せに暮らしています
私生活にも余裕が出た飯尾は、彼女もできて幸せに暮らしています
‣ IUUQTNPDLNPDLDPNKBʹΞΫηε ‣ αΠϯΞοϓ ແྉͰͷར༻Ͱ͋ΕΫϨδοτΧʔυొෆཁ ‣ Ωϛͷ൪ʂ Ωϛͷ൪ʹ͢Δʹ
ࣗݾհ ‣ 'VTJD$P -UE 414ೝఆࡁΠϯςάϨʔγϣϯύʔτφʔ "84ΞυόϯευίϯαϧςΟϯάύʔτφʔ ($1ςΫϊϩδʔύʔτφʔ
‣ ϓϩμΫτΦʔφʔ ‣ ͖ͳ403"$0.αʔϏε,SZQUPO IUUQTRJJUBDPN,UB.JUFNTBGGBBBFDFBBD ໟརܒଠʢ͏Γ͚͍ͨʣ
None