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
半年開発してわかった自動テストの価値
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
teamLab
PRO
January 22, 2025
Programming
0
140
半年開発してわかった自動テストの価値
teamLab
PRO
January 22, 2025
Tweet
Share
More Decks by teamLab
See All by teamLab
TSKaigi Hokuriku - TypeScriptによる静的データガバナンス
teamlab
PRO
0
96
Reactの<ViewTransition>で作るUIアニメーション
teamlab
PRO
0
86
「めんどくさい」から考える クレジットカード入力フォームのUX
teamlab
PRO
1
220
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
3
320
「人」から考える「アクセシビリティ」
teamlab
PRO
0
100
TSKaigi Hokuriku - TC39 Signals で描くJS/TS/フレームワークの未来の姿
teamlab
PRO
1
87
TSKaigi Hokuriku - oxc-transformとisolatedDeclarationsで 手に入れるtscなし型定義ファイル生成
teamlab
PRO
0
71
TSKaigi Hokuriku - tsc --init の設計思想の変化とその背景を追う
teamlab
PRO
0
82
ユーザーのアクションを伴うWidgetのGoldenTest
teamlab
PRO
0
240
Other Decks in Programming
See All in Programming
安いハードウェアでVulkan
fadis
1
800
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
300
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.6k
存在論的プログラミング: 時間と存在を記述する
koriym
5
490
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
370
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
330
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
2.1k
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
230
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
SourceGeneratorのマーカー属性問題について
htkym
0
220
Claude Codeログ基盤の構築
giginet
PRO
7
3.6k
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
Designing for humans not robots
tammielis
254
26k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
Building Applications with DynamoDB
mza
96
7k
Building Adaptive Systems
keathley
44
3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
New Earth Scene 8
popppiees
1
1.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Modern Web Designer's Workflow
chriscoyier
698
190k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
990
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
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~ 宇根 昇汰