Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
半年開発してわかった自動テストの価値
Search
teamLab
PRO
January 22, 2025
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
半年開発してわかった自動テストの価値
teamLab
PRO
January 22, 2025
More Decks by teamLab
See All by teamLab
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
190
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
280
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
140
「ボタンだけどリンクにしたい…」をスマートに解決するPolymorphicコンポーネントの話
teamlab
PRO
1
190
border-radiusだけじゃ足りない: Squircleがつくる自然なUI
teamlab
PRO
0
100
僕はただドキュメントを HTML で見たいだけなんだ
teamlab
PRO
0
150
アクセシビリティに配慮したアニメーション
teamlab
PRO
0
110
TSKaigi 2026 - 10秒のビルドを1秒へ:tsdownが切り拓く2026年のTypeScriptライブラリ開発
teamlab
PRO
2
570
TSKaigi 2026 - enumよ、さようなら
teamlab
PRO
3
910
Other Decks in Programming
See All in Programming
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
sbt 2.0: takeoff
eed3si9n
0
160
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
220
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
670
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
1
440
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
380
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
260
Railsバージョンを4倍にした話
optim
0
450
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Building AI with AI
inesmontani
PRO
1
1.3k
Deep Space Network (abreviated)
tonyrice
0
380
Building Flexible Design Systems
yeseniaperezcruz
330
41k
What's in a price? How to price your products and services
michaelherold
247
13k
Bash Introduction
62gerente
615
220k
The Limits of Empathy - UXLibs8
cassininazir
2
720
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
A better future with KSS
kneath
240
18k
KATA
mclloyd
PRO
35
16k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Transcript
半年開発してわかった⾃動テストの価値 【学⽣向け勉強会】teamLab×DMM tech meetup ~frontend~ 宇根 昇汰
© teamLab Inc ⾃⼰紹介 宇根 昇汰 Une Shota 2024年 新卒⼊社
パッケージチーム フロントエンド班 和歌⼭⾼専 専攻科卒業
© teamLab Inc ⾃動テストについてどう思いますか
© teamLab Inc 良くない?笑
© teamLab Inc ⾃動テストって 俺は「開発」がしたいんだ! ちまちま細かくて楽しくなさそう めんどくさそう 「品質保証」をラクにするやつね...俺はいいかな
© teamLab Inc ⾃動テストは開発をラクにしてくれる
© teamLab Inc Case 1:新規実装 実装時にログ出⼒などで動作確認する const func = (arg:
string) => { if(arg === '') { return 'empty' }; return arg; } - console.log(func('lab')) > lab - console.log(func('')) > empty 全て消した状態でPR作成 レビュワーも動作確認するかも 無駄じゃない?
© teamLab Inc Case 2:改修 既存の共通処理を修正する デグレードを引き起こしていないか確認 • 共通処理が使⽤されている画⾯を探す •
ローカルでサーバーを⽴ち上げる • 該当画⾯のさまざまな機能を⼿動で確認 めんどくさい...
© teamLab Inc 動作確認の証跡を残したままPR作成 & ⾃分の改修による他機能への影響を検知したいナ〜...
© teamLab Inc ⾃動テスト‧‧‧やりたくね?
© teamLab Inc デバッグの減少 テストコードによってコードの機能が保証される バグもテストコードによって検出される 変更への信頼の増⼤ リファクタリングなどによる変更が既存機能に影響 を与えたかを検知可能 ドキュメンテーションの改善
テストコードがコードの挙動を明確に⽰してくれる ドキュメントが古くなっているということもない レビューの単純化 レビュワーは、コードが適切に機能していることを テストが通っている事実だけで判断可能 思慮に富む設計 テストコードを書きやすいように設計することは適 切にモジュール化し、密結合を避けることに繋がる ⾼速で⾼品質なリリース ⼿動テストの⼯数を減らし、新機能だけでなく既存 機能に対しても何回でもテスト可能 Pros Googleのソフトウェアエンジニアリング p249-250
© teamLab Inc Case 1:新規実装 実装時にテストコードを書いて動作確認 const func = (arg:
string) => { if(arg === '') { return 'empty' }; return arg; } test('普通の文字列の場合', () => { expect(func('lab')).toBe('lab') }) test('空文字の場合', () => { expect(func('')).toBe('empty') }) テストコードもコミットしてPR作成 レビュワーはテスト結果で動作を確認 Happy… デバッグの減少 レビューの単純化
© teamLab Inc Case 2:改修 変更への信頼の増⼤ 既存の共通処理を修正する デグレードを引き起こしていないか確認 • 既存のテストが通っているかを確認
Wonderful…
© teamLab Inc 品質保証の⽂脈だけでなく 開発者体験を⾼める⾯でも⾃動テストは良い!
おわり teamLab×DMM tech meetup ~frontend~ 宇根 昇汰