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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Wayama
June 30, 2021
Programming
600
0
Share
頑張らずに始める!フロントエンド単体テストの歩み
https://spacemarket.connpass.com/event/216510/
登壇時の発表資料です
Wayama
June 30, 2021
More Decks by Wayama
See All by Wayama
なぜ我々は使われない機能開発に時間をかけ てしまったのか
disneyladysango
1
230
タスクを小さくしたら チームの生産性が上がったお話
disneyladysango
0
600
Other Decks in Programming
See All in Programming
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
170
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
1
270
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
140
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
290
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
310
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
490
存在論的プログラミング: 時間と存在を記述する
koriym
5
770
「速くなった気がする」をデータで疑う
senleaf24
0
130
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
120
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
550
The free-lunch guide to idea circularity
hollycummins
0
410
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
HDC tutorial
michielstock
1
600
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
We Have a Design System, Now What?
morganepeng
55
8.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
200
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
320
Transcript
頑張らずに始める! フロントエンド単体テストの歩み 2021/06/30 和山 祐也
2 自己紹介 ゲームセンターの店長からエンジニアへ転職 エンジニアとしてのキャリアを3年ほど経て 2020年7月にスペースマーケットへ JOIN Javaからプログラミングを知った影響か 静的型付け言語が好き あとディズニーも好き
3 本日お話すること
4 本日お話しすること 1. 単体テストに関する2つの取り組み 2. 「頑張らないで始める」ために頑張らなければいけないこと 2.1. UTハンズオン 2.2. なぜテストコードが必要なのかを言語化
2.3. 評価制度への組み込み 3. さいごに
5 単体テストに力を入れて半年が経ちました
6 単体テストに関する2つの取り組み ⭐ 気軽な情報共有や相談ができる場を設ける チーム定例の場を使う → ツールの導入をした際に使い方を共有 → 不明点があれば議題としてあげる Slackでテスト専用チャンネルを作る
→ テストに絞った話題が参照できる ⭐ 現状のカバレッジをSlackで通知する仕組み 毎週金曜日の夜に各リポジトリのカバレッジを通知 → 週単位でアクションできたかどうかが一目瞭然
7 「頑張らないで始める」ために 頑張らなければいけないこと
8 「頑張らないで始める」ために頑張らなければいけないこと ある日突然上司に テストコードを実装できるように環境を整えました これからは必ず実装時にテストコードを書いてください と言われたらあなたはできますか?
9 「頑張らないで始める」ために頑張らなければいけないこと ある日突然上司に テストコードを実装できるように環境を整えました これからは必ず実装時にテストコードを書いてください と言われたらあなたはできますか? テストコードを書いたことがなければ実施のハードルが高い
10 「頑張らないで始める」ために頑張らなければいけないこと なぜできないのか? 問題点 やったこと 書き方が分からない UTハンズオンの実施 必要性が理解できていない なぜテストコードが必要なのかを言語化 負担の増加
評価制度への組み込み
11 「頑張らないで始める」ために頑張らなければいけないこと • やったこと • 進め方 UTハンズオン 非同期処理を行う コンポーネント イベント処理の
扱い方 フロントエンド 単体テスト入門 単体テスト入門 課題が完了したら PRを提出しレビュー 課題を用意 チュートリアルの コードに沿って説明
12 「頑張らないで始める」ために頑張らなければいけないこと チーム内で話し合う • バグを防いだり、既存コードへの影響を把握する • 手で確認するより自動テストのコードを実行する方が早いので楽ができる • コーディング時の思考内容を明確化・単純化するため •
ゴールが決まるので、コーディングが過程を合わせるだけの作業になる etc…. なぜテストコードが必要なのかを言語化 各メンバーがどのように考えているか、チーム内で認識を合わせる
13 「頑張らないで始める」ために頑張らなければいけないこと 人を動かす原則 原則3:人の立場に身を置く 人に何かをしてほしいなら、その人が何を欲しているかを考え ること。相手の利益と自分の利益を一致させる 。 評価制度への組み込み コードの保守性も上がり、 テストコードを書くことで評価も上がる状態に
14 さいごに
15 さいごに • 積極的にテストコードを実装するようになった ◦ 軽微なバグ修正から新規開発までテストコードを全員書くようになりました ◦ 特に既存コードはClassコンポーネント+Fatコントローラ化しているので、コードをファイル単 位で分割しそこにテストを実装するといった取り組みができています •
バグ修正でのデグレが減った ◦ 開発時にQAなどで上がったバグに対して修正 → テストが落ちる → 想定外の変更が加 わったという発見が早くなりデグレが減りました。
16 さいごに • 積極的にテストコードを実装するようになった ◦ 軽微なバグ修正から新規開発までテストコードを全員書くようになりました ◦ 特に既存コードはClassコンポーネント+Fatコントローラ化しているので、コードをファイル単 位で分割しそこにテストを実装するといった取り組みができています •
バグ修正でのデグレが減った ◦ 開発時にQAなどで上がったバグに対して修正 → テストが落ちる → 想定外の変更が加 わったという発見が早くなりデグレが減りました。 是非皆さんのチームでも素敵なテストライフを!
None