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
st_tm_k (sa_ta_k)
October 02, 2026
36
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カバレッジを通すとはどういうことであって、 どういうことでないのか
st_tm_k (sa_ta_k)
October 02, 2026
More Decks by st_tm_k (sa_ta_k)
See All by st_tm_k (sa_ta_k)
CRE(顧客信頼性エンジニアリング)について自分なりに解釈してみる
satak
0
39
PHP・Laravelアップデート奮闘記
satak
0
58
今年の夏を振り返り、やり残しを供養する ~本の懇親会~
satak
1
91
ふゆやすみのしゅくだい どくしょかんそうぶん編
satak
0
280
推しのSSGを探す旅(Next.js編)
satak
0
53
ただの本好きが選ぶ、明日すぐ使えない技術書の世界
satak
0
320
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
410
Designing Powerful Visuals for Engaging Learning
tmiket
1
590
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Six Lessons from altMBA
skipperchong
29
4.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
250
The SEO identity crisis: Don't let AI make you average
varn
0
580
Believing is Seeing
oripsolob
1
240
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Designing for Performance
lara
611
70k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
860
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Transcript
カバレッジを通すとはどういうことであって、 どういうことでないのか 2026/10/3 PHPカンファレンス愛媛2026
satak(さたけ) ・札幌在住 / 初めて愛媛に来ました ・株式会社teketのバックエンドエンジニア 電子チケット販売プラットフォームの開発してます ・カンファレンスが好き スタッフ: PHPカンファレンス小田原2026, フロントエンド・PHPカンファレンス北海道2026など
・カンファレンス初登壇 2 / 13
テスト、誰が書いていますか? 私の現場では、ほぼAIが書いている → カバレッジの数字は比較的簡単に上がる → でもその数字は、何を意味しているのか? 3 / 13
「カバレッジ100%です」「何の100%ですか?」 指標を明示しない「100%」は、ほとんど意味をなさない 本トークでは C0 = 命令網羅 / C1 = 分岐網羅
/ C2 = 条件網羅 とします 4 / 13
例えばこんなすれ違い Aさん:「カバレッジ100%です」 Bさん:(C0 のつもりで聞いていた) Aさん:(実は C2 だった) 100%という数字だけでは、2人は同じものを見ていない 5 /
13
if ($a && $b) { ... } C0(命令網羅) → if文を通ったか
C1(分岐網羅) → 分岐の両側を通ったか C2(条件網羅) → 各条件の真偽を確かめたか 同じ一行でも、「通った」の中身が違う 6 / 13
例えばこんな割引判定 if ($amount >= 5000 && $isMember) { ... }
(6000, true) と (4000, false) で C0 も C1 も 100% でも (6000, false) は 誰も確かめていない &&(かつ) が ||(または) に化けても、この2件のテストはグリーンのまま通る 人が書いてもAIが書いても、C1 100%はこの2件で達成できてしまう 7 / 13
カバレッジを通す ≠ 仕様の正しさを証明する 教えてくれること どこを通ったか 教えてくれないこと そのテストが何を守っているか/仕様が正しいか/バグがないか 8 / 13
じゃあ、C2を使えば安心? C2・カバレッジ100%でも 「仕様通りに動く」ことの証明にはならない ・網羅は「調べ尽くした」ことであって「正しい」ことではない ・大事なのは「完璧な指標」を選ぶことではなく、 選んだ指標が何を守っているかチーム内で認識をそろえること 9 / 13
そういえばこれまでの現場のほとんどで、 カバレッジのルールが無かった 違和感はあったが、一人でルール化するのは簡単ではなかった😥 10 / 13
最近、自分が主導する機会を得た metric: C1 floor : 70% C0 では緩すぎる。C2 はいきなり現場に持ち込むには重い。 70%
は目標ではなく、下回ったら立ち止まる床。 ※ これが正解ということではなく、私の現場での判断 11 / 13
議論を始める前に「どの指標の100%か」を揃えよう 指標がずれたまま数字だけ比べても、認識が揃わず議論にならない 割引判定の例でも、先に「何の100%か」を揃えていれば、 見落としているケースに気づけたかもしれない AIがテストを書く今、 揃えた指標はそのままAIへの指示になる 12 / 13
さいごに 「カバレッジを通す」とは チームで決めた指標に対して、 どこまで検証できているかを確認すること。 「カバレッジを通す」とは、 テストが何を守っているかの保証ではない。 AIが書いたテストならなおさらそう。 大切なのは「100%か?」ではなく「その数字は何を守っているか?」 13 /
13