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
入門ミューテーションテスト/ A bigginer's guide to Mutation t...
Search
y_ahiru
October 12, 2019
Technology
0
1.5k
入門ミューテーションテスト/ A bigginer's guide to Mutation testing
PHPカンファレンス沖縄 2019 でLTした内容です
y_ahiru
October 12, 2019
Tweet
Share
More Decks by y_ahiru
See All by y_ahiru
恣意性から考える、変更に強いモデルの作り方
yahiru
1
990
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
10
2.4k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
1k
フロントエンドエンジニアも知っておきたい HTTP/3 で変わること
yahiru
16
13k
ゆるふわCQRS入門
yahiru
2
690
設計におけるソリューションドメイン
yahiru
3
1.7k
PHPで始めるGitHub Actions
yahiru
1
790
5ヶ月でカバレッジを20%から90%にあげた話
yahiru
2
6.8k
Eloquentに別れを告げるタイミングについて考えた
yahiru
2
2k
Other Decks in Technology
See All in Technology
「Linux」という言葉が指すもの
sat
PRO
4
130
人工衛星のファームウェアをRustで書く理由
koba789
15
7.9k
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
230
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
420
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
150
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
250
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
74
5k
Statistics for Hackers
jakevdp
799
220k
Music & Morning Musume
bryan
46
6.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Faster Mobile Websites
deanohume
309
31k
Designing for humans not robots
tammielis
253
25k
Practical Orchestrator
shlominoach
190
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Raft: Consensus for Rubyists
vanstee
140
7.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Transcript
PHPΧϯϑΝϨϯεԭೄ 2019 ٢ా͋ͻΔ (@strtyuu) ೖϛϡʔςʔγϣϯςετ
ࣗݾհ ٢ా͋ͻΔ !TUSUZVV τΡΪϟολʔגࣜձࣾ 4PGUXBSF&OHJOFFS
$VSBUJPO$PNNVOJDBUJPO1MBUGPSN IUUQTUPHFUUFSDPN ·ͱΊΑ͏ɺ͋ͭ·Ζ͏
ςετॻ͍ͯ·͔͢ʁ
lྑ͍zςετॻ͍ͯ·͔͢ʁ
ྑ͍ςετͬͯԿͩΖ͏ ɾಡΊΫϥεͷ༷͕Θ͔Δʁ ɾόά͕ൃੜ͠ͳ͍͜ͱΛอূͯ͘͠ΕΔʁ ɾ։ൃͷϦζϜΛ࡞ͬͯ͘ΕΔʁ 5%% ɾFUD
ྑ͍ςετͬͯԿͩΖ͏ ɾಡΊΫϥεͷ༷͕Θ͔Δʁ ɾόά͕ൃੜ͠ͳ͍͜ͱΛอূͯ͘͠ΕΔʁ ɾ։ൃͷϦζϜΛ࡞ͬͯ͘ΕΔʁ 5%% ɾFUD
Ͳ͏ͬͯ֬ೝ͢Δʜʜʁ ɾڧ͍ΤϯδχΞʹϨϏϡʔͯ͠Β͏ʁ ɾΧόϨοδΛʹ͢Δʁ
Ͳ͏ͬͯ֬ೝ͢Δʜʜʁ ɾڧ͍ΤϯδχΞʹϨϏϡʔͯ͠Β͏ʁ ɾΧόϨοδΛʹ͢Δʁ
ϛϡʔςʔγϣϯςετ Λ͓͏
ϛϡʔςʔγϣϯςετͱ
ςετ ΞϓϦέʔγϣϯ ࣭Λอূ
ϛϡʔςʔγϣϯςετ ςετ ΞϓϦέʔγϣϯ ࣭Λอূ ࣭Λอূ
Ͳ͏͍ͬͯΔͷ͔ ɾΞϓϦέʔγϣϯίʔυΛมҟͤ͞ɺ࠶ς ετΛ࣮ߦ͢Δ͜ͱͰςετͷਖ਼ੑΛධՁ͢ Δ
IUUQTHJUIVCDPNJOGFDUJPOJOGFDUJPO
ɾ'VODUJPO4JHOBUVSF ɾ6OXSBQ'VODUJPO ɾ#JOBSZ"SJUINFUJD ɾ3PVOE'BNJMZ ɾ#PPMFBO4VCTUJUVUJPO ɾ$POEJUJPOBM#PVOEBSJFT ɾ&RVBMPS*EFOUJDBM$IFDLT ɾ/FHBUFE$POEJUJPOBMT ɾ0QFSBUPS
ɾ*ODSFNFOUT ɾ3FUVSO7BMVFT ɾ3FNPWBM.VUBUPST ɾ-PPQ ɾ4PSUJOH ɾ-JUFSBM/VNCFST ɾ&YDFQUJPOT ɾ5ZQF$BTUJOH ɾ3FHFY ɾ&YUFOTJPOT
$a = array_filter([‘A’, 3, ‘C’], ‘is_int’); $a = [‘A’,
3, ‘C’];
$a < $b $a <= $b $a >= $b
try {} catch (\Exception $e) {} finally {} try
{} catch (\Exception $e) {}
%&.0
ϛϡʔςʔγϣϯςετ ׆༻͍͖ͯ͠·͠ΐ͏ʂ