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
自動テストについて / Automated Testing
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mnuma
April 06, 2023
Technology
260
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自動テストについて / Automated Testing
mnuma
April 06, 2023
More Decks by mnuma
See All by mnuma
セキュリティチェックシートの話 / Security Check Sheet
mnuma
0
41
Datadogで始めるユーザー行動分析 / Getting Started with User Behavior Analysis Using Datadog
mnuma
0
100
Kubernetesの自動アップグレードについて / Upgrading GKE cluster
mnuma
0
230
AWS Auroraのスロークエリを Datadogで扱うまで / How to handle slow_queries_logs in AWS Aurora with Datadog
mnuma
0
1k
Googleに学ぶDesign Docs / Learn from Google on Design Docs
mnuma
0
190
Observabilityを実践する / Pragmatic observability
mnuma
2
240
Kubernetes Case Studies #1@Makuake KubeCon NA 2019 Recap
mnuma
0
180
カオスエンジニアリングについてヤホーで調べてきました / Enter the chaos engineering
mnuma
0
130
Chaos Engineering 現状把握 / History Of Chaos Engineering
mnuma
0
390
Other Decks in Technology
See All in Technology
CloudWatchから始めるAWS監視
butadora
0
260
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/aidevday2026
thara0402
0
110
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
470
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
890
SRENEXT_2026_Chairs__Talks_in_Tamachi.sre.pdf
srenext
1
160
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
1.1k
現場をAIで動かす「フィジカル AI」の組み込み設計の考え方【SORACOM Discovery 2026】
soracom
PRO
0
120
AI驚き屋発見器
yama3133
1
360
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
500
なぜMIXIはゼロトラスト基盤として クラウドフレアを選んだのか - Cloudflare Peer Point SASE User Voices
mixi_engineers
PRO
2
110
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
210
AI エージェント時代のデジタルアイデンティティ
fujie
0
390
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Paper Plane
katiecoart
PRO
2
52k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
430
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
360
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Are puppies a ranking factor?
jonoalderson
1
3.7k
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
Transcript
2023.04.05 Makuake 社内LT @mnuma 自動テストについて
@mnuma タモリ倶楽部が終了してしまって悲しいです。 自己紹介
信頼性の高い自動化テストの実施 開発者が主体となった承認テストの作成・管理、およ び承認テストの容易な複製・修正 「テスト自動化」は ハイパフォーマー達 のプラクティス インプレス出版「LeanとDevOpsの科学」 p.65
自動テストの「信頼性」
None
正しい 間違ってる 成功 OK 偽陰性 失敗 偽陽性 OK テスト結果 コード
テストにおける偽陽性と偽陰性
テストにおける偽陽性と偽陰性 偽陽性: コードが正しいがテスト結果が失敗してしまう。誤検知。 ・脆いテスト (brittle test, fragile test) ・信頼不能テスト (flaky
test) 偽陰性: プロダクトコードが誤っているにもかかわらずテストが成功してしまう。 ・空振り ・カバレッジ不足
https://testing.googleblog.com/2010/12/test-sizes.html テストサイズ における分類
「結合テスト」とは? 連携されるシステム動作全般? 「ユニットテスト」とは? ロンドン学派 vs デトロイト学派 「テストサイズ」 曖昧な概念なので計測可能な定義付けを行ったもの。 テスト範囲で語ると混乱が起きがち
Small Medium Large 単一プロセスで実行されるテスト。 上限: 60秒 単一マシン上で実行されるテスト。 上限: 300秒 制約なし。
上限: 900秒+ Enormous もっとやばいやつ
Small Medium Large 言語の実行環境だけで動かせるテスト コンテナを組み合わせて実行するテスト 本番同等の環境にデプロイして実施するテスト Enormous もっとやばいやつ
「忠実性」 どんどん本番 に近くなる Small Medium Large 単一プロセスで実行されるテスト。 上限: 60秒 単一マシン上で実行されるテスト。
上限: 300秒 制約なし。 上限: 900秒+ Enormous もっとやばいやつ 「スピード」 どんどん 遅くなる 「非決定的」 複雑化し 予測出来なくなる
「忠実性」 どんどん本番 に近くなる Small Medium Large 単一プロセスで実行されるテスト。 上限: 60秒 単一マシン上で実行されるテスト。
上限: 300秒 制約なし。 上限: 900秒+ Enormous もっとやばいやつ 「スピード」 どんどん 遅くなる 「非決定的」 複雑化し 予測出来なくなる より本番に近い状況でテスト可能になる反面、 準備が難しく、動作は遅く、非決定的になりがち。 テスト失敗時分析も難しくなる。
テストのコスパ ✗ ✗ ✗
理想的なテスト
テストピラミッド 70% 20% 10% https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html くらいの 比率が望 ましい
Manual base Manual base Large Medium Smalll
Manual base Large Medium Smalll 速度 決定性 70% 20% 10%
コスト 忠実性
Inverted pyramid ice cream cone ✗ Hourglass pyramid ✗ ◦
実際には色々な変遷を辿ると思う
Manual base Large Medium Smalll 速度 決定性 70% 20% 10%
コスト 忠実性 サイズダウン 戦略
テスト自動化の 原則
テスト自動化の8原則 5. 自動テストシステムの開発は継続的 におこなうものである 6. 自動化検討はプロジェクト初期から 7. 自動テストで新種のバグが見つかる ことは稀である 8.
「テスト結果の分析」という新たな タスクが生まれる 1. 手動テストはなくならない 2. 手動でおこなって効果のないテス トを自動化しても無駄である 3. 自動テストは書いたことしかテス トしない 4. テスト自動化の効用はコスト削減 だけではない テスト自動化研究会 https://sites.google.com/site/testautomationresearch/test_automation_principle
繰り返し使われるテストのコストを削減 開発アクティビティへの効用 動いたはずの機能が壊れることを発見出来る 手動で実施したほうがテストの品質が高い 記述されたことしかテスト出来ない 運用に時間がかかる 最初から自動化が考慮されてない場合大変 テスト結果分析という新たなタスクが生まれる メリット (Pros)
デメリット (Cons)
手動テストはなくならない ユーザビリティテストなど、そもそも自動化できないテストタイプが存在する。 システムに対してはじめて実行されるテストはテストケース自体の成熟度の観点 から、手動で実施したほうがテスト実行の品質が高いケースが多い。また、自動 化がうまく進行している機能テストの残り数%など、テストを自動化するコスト とベネフィットが釣り合わないケースもある。これらの事情によって、手動で実 施されるテストが無くなることはない。
まとめ 自動テストを行ってハイパフォーマーの仲間入りをしよう 偽陰性 / 偽陽性 でテストの信頼性を意識しよう テストサイズを意識してコスパのいいテストをしよう ピラミッド型を意識したテスト戦略を立てよう 高品質である手動テストを活かせるようにしよう
END