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
tarappo
October 18, 2024
Technology
3
360
自動テストの信頼性を高めるミューテーションテストの活用に向けて
2024/10/18 iOS Test Night #13の登壇資料
tarappo
October 18, 2024
Tweet
Share
More Decks by tarappo
See All by tarappo
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
6
1.7k
組織全体で品質を担保するための品管メンバーとしてのさまざまな役割
tarappo
3
1.9k
チーム単位で保守性を高める:独自指標と向上にむけた実践
tarappo
0
1.2k
DartでMutation testingを してみよう
tarappo
1
800
組織の立ち上げと体制変更の1年
tarappo
2
1.9k
全員品質を目指して ドラゴン探し
tarappo
1
840
Xcode10から最新までのTestingをふりかえる
tarappo
0
4k
1人目SETとして入社して2ヶ月の間におこなったこと
tarappo
4
4.8k
治安維持のためにCI/CDサービスを活用しておこなったこと
tarappo
1
7.3k
Other Decks in Technology
See All in Technology
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
150
【CEDEC2025】『ウマ娘 プリティーダービー』における映像制作のさらなる高品質化へ!~ 豊富な素材出力と制作フローの改善を実現するツールについて~
cygames
PRO
0
230
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
840
生成AI導入の効果を最大化する データ活用戦略
ham0215
0
100
専門分化が進む分業下でもユーザーが本当に欲しかったものを追求するプロダクトマネジメント/Focus on real user needs despite deep specialization and division of labor
moriyuya
0
940
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
2
320
金融サービスにおける高速な価値提供とAIの役割 #BetAIDay
layerx
PRO
1
720
【2025 Japan AWS Jr. Champions Ignition】点から線、線から面へ〜僕たちが起こすコラボレーション・ムーブメント〜
amixedcolor
1
120
Claude Codeから我々が学ぶべきこと
s4yuba
6
1.7k
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.5k
Segment Anything Modelの最新動向:SAM2とその発展系
tenten0727
0
220
人に寄り添うAIエージェントとアーキテクチャ #BetAIDay
layerx
PRO
8
2k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
Faster Mobile Websites
deanohume
308
31k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Cult of Friendly URLs
andyhume
79
6.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
GraphQLとの向き合い方2022年版
quramy
49
14k
Practical Orchestrator
shlominoach
190
11k
Why Our Code Smells
bkeepers
PRO
337
57k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Transcript
UBSBQQP ࣗಈςετͷ৴པੑΛߴΊΔ ϛϡʔςʔγϣϯςετͷ׆༻ʹ͚ͯ J045FTU/JHIU
ࣗݾհ ฏాහ೭ʢUBSBQQPʣ ͔ΜͨΜͳܦྺ w %F/"48&5ˠ9ˠ4NBSU)3 ୲ྖҬ ɾʮ։ൃੜ࢈ੑͷ্ʯʮ࣭ͷ୲อʯΛϛογϣϯ
͡Ίʹ ͜ΕͰɺࣗಈςετΛͬͱ࣮Ͱ͖ΔΑ͏ʹͳΓ·͢Ͷ w Έͳ͞Μɺࣗಈςετ࣮͍ͯ͠·͔͢ʁ w ͜͜ͰϞόΠϧք۾ʹ͓͍ͯࣗಈςετΛ࣮͢Δػձ૿͖͍͑ͯͯΔ͔ ͱࢥ͍·͢ ͞Βʹ w 9DPEF͔Βͷʮ4XJGU5FTUJOHʯ͕ར༻Ͱ͖ΔΑ͏ʹͳΓ·ͨ͠
͡Ίʹ ͦ͜ͰϛϡʔςʔγϣϯςετΛࢼͯ͠Έ·͠ΐ͏ ͦ͜Ͱ࣭Ͱ͢ w ࣗಈςετͪΌΜͱඞཁͳςετέʔεΛߟ͑ͯ࡞͍ͬͯ·͔͢ʁ w ࠓ͋ΔࣗಈςετͰ w ͳʹ͔͋ͬͨͱ͖ʹΛݟ͚ͭΒΕΔࣗ৴͕͋Γ·͔͢ʁ w
ίʔυΧόϨοδͷͰͳ͍ͱஅͨ͠Γ͍ͯ͠·ͤΜ͔ʁ
ϛϡʔςʔγϣϯςετͱʁ w ςετίʔυͷे͞Λଌఆ͢ΔͨΊͷख๏ w ϓϩμΫτίʔυʹมҟΛೖΕͨͱ͖ʹͦΕΛςετίʔυͰݕͰ͖Δ͔Ͳ͏͔ w มҟʹϛϡʔλϯτ w มҟΛೖΕΔͱʁ Λʹมߋ
͜ͷΑ͏ʹมߋ͞Εͨͱ͖ʹʮςετίʔυʯͰݕͰ͖·͔͢ʁ
ϛϡʔςʔγϣϯςετͱʁ w มҟΛೖΕͨίʔυʹରͯ͠ςετ࣮ߦ w ςετ͕མͪΔʢʹ,JMMFEʣ w ςετ͕མͪͳ͍ʢʹ4VSWJWFEʣ w 4VSWJWFEͷ͕ଟ͍΄Ͳ՝͕͋Δͱ͍͑Δ w
,JMMFEͱ4VSWJWFEͷׂ߹ΛΈͯ.VUBUJPO4DPSF͕ܾ·Δ w ,JMMFEͨ͠มҟΛೖΕͨ.VUBUJPO4DPSF
ϛϡʔςʔγϣϯςετʹ͓͚Δมҟͷύλʔϯ w ύλʔϯྫ w "03ɿBSJUINFUJDPQFSBUPSSFQMBDFNFOU w ࢉज़ԋࢉࢠஔ͖͑ w B CˠBCɺBCͳͲʹม
w -$3ɿMPHJDBMDPOOFDUPSSFQMBDFNFOU w ཧ݁߹ࢠஔ͖͑ w BCˠBccCͳͲʹม w 303ɿSFMBUJPOBMPQFSBUPSSFQMBDFNFOU w ؔԋࢉࢠஔ͖͑ w BCˠBCɺBCͳͲʹม
ϛϡʔςʔγϣϯςετͷͨΊͷϥΠϒϥϦ w 4USZLFSʢIUUQTTUSZLFSNVUBUPSJPʣ w +BWB4DSJQUɺ$ɺ4DBMB w 1*5FTUʢIUUQTQJUFTUPSHʣ w +BWBBOE+7. w
.VMMʢIUUQTHJUIVCDPNNVMMQSPKFDUNVMMʣ w $ɺ$ w NVUBUJPO@UFTUʢIUUQTQVCEFWQBDLBHFTNVUBUJPO@UFTUʣ w %BSU
J04ʹ͓͚Δϛϡʔςʔγϣϯςετ w ϥΠϒϥϦ w IUUQTHJUIVCDPNNVUFSNVUBUJPOUFTUJOHNVUFS w ηοτΞοϓͱ࣮ߦ·ͰͷྲྀΕ w Πϯετʔϧ w
ઃఆϑΝΠϧͷ༻ҙʢNVUFSDPOGZNMʣ w ࣮ߦίϚϯυͷࢦఆ w ର֎ϑΝΠϧͷࢦఆ w ࣮ߦ w NVUFSGPSNBUIUNMPVUQVUSFTVMUIUNM
αϯϓϧίʔυ w ݱ࣌Ͱͷ༷ w ԁͰϙΠϯτ͕खʹೖΔ w ϙΠϯτ্ݶϙΠϯτ w ԁΛ͑͜ΔߪೖऀϙΠϯτ w
࣍ͷ͍ͣΕ͔ͷ݅ΛຬͨͤϙΠϯτഒ w ྸ͕ࡀҎ্ w ϥϯΫ͕Λ͍͑ͯΔ
ςετΛߟ͑ͯΈΑ͏ w ʮ୯७ʹʯΧόϨοδʹͯ͠ΈΔ w DBTFʣԁͷͱ͖ϙΠϯτ w DBTFʣࡀҎ্ͷͱ͖͔ϥϯΫ͕Ҏ্ͷͱ͖ʹϙΠϯτ ഒ w DBTFʣԁΛ͑͜Δͱ͖ϙΠϯτ
w DBTFʣԁҎ্ͰԁҎԼͷߪೖֹۚϙΠϯτ DBTF DBTF DBTF DBTF DBTF DBTF DBTF DBTF
ςετͷ࣮ߦ݁Ռ DBTF DBTF DBTF DBTF ςετͷ࣮ߦ݁Ռ ΧόϨοδ݁Ռʢˋʣ ͜ΕͰςετέʔεΓ͍ͯ·͔͢ʁ
ςετέʔεΓͯ·͔͢ʁ w DBTFʣԁͷͱ͖ϙΠϯτ w DBTFʣࡀҎ্ͷͱ͖͔ϥϯΫ͕Ҏ্ͷͱ͖ʹϙΠϯτ ഒ w DBTFʣԁΛ͑͜Δͱ͖ϙΠϯτ w DBTFʣԁҎ্ͰԁҎԼͷߪೖֹۚϙΠϯτ
DBTF DBTF DBTF DBTF ͜͜Ͱ ϛϡʔςʔγϣϯςετΛͬͯΈ·͠ΐ͏
NVUFSͷ࣮ߦ݁ՌʢϨϙʔτʣ w ࣍ͷมҟΛೖΕͨࡍʹςετ͕ࣦഊ͍ͯ͠ ͳ͍ w VTFSBHFʹม͑ͨͱ͖ w VTFSSBOLʹม͑ͨͱ͖
ςετίʔυΛݟͯ͠ΈΑ͏ w ࣍ͷมҟΛೖΕͨࡍʹςετ͕ࣦഊ͍ͯ͠ ͳ͍ w DBTFɿVTFSBHFʹม͑ͨͱ͖ w DBTFɿVTFSSBOLʹม͑ͨͱ͖ w ྸͷڥքΛݟ͍ͯΔΑ͏Ͱݟ͍ͯͳ͍
w ࡀͱࡀΛ͍ͬͯΔ͕ยํ্ֹۚݶΛݟ͍ͯΔ͚ͩ w ϥϯΫʹ͍ͭͯಛʹͳʹݟ͍ͯͳ͍ w SBOLΛ͑͜Δςετέʔε͕ͭͳ͍
ςετίʔυͷՃ w ࣍ͷมҟΛೖΕͨࡍʹςετ͕ࣦഊ͍ͯ͠ ͳ͍ w DBTFɿVTFSBHFʹม͑ͨͱ͖ w DBTFɿVTFSSBOLʹม͑ͨͱ͖ w ϙΠϯτ্ݶΛݟΔςετέʔεͱ্ݶΛݟͳ͍
έʔεͰςετΛΘ͚ͯՃ w ϥϯΫʹ͍ͭͯͷςετέʔεՃ
ʢ࠶ʣNVUFSͷ࣮ߦ݁ՌʢϨϙʔτʣ
NVUFSʹ͓͚Δมҟύλʔϯ w NVUFSͰ࣍ͷύλʔϯΛ༻ҙ͍ͯ͠·͢ʢҰ෦ͷΈهࡌʣ w ࢀߟɿIUUQTHJUIVCDPNNVUFSNVUBUJPOUFTUJOHNVUFSCMPCNBTUFS%PDTNVUBUJPO@PQFSBUPSTNE w /FHBUF$POEJUJPOBMT w $IBOHF-PHJDBM$POOFDUPS
ϛϡʔςʔγϣϯςετʹ͓͚Δ՝ʢͷҰͭʣ w ϛϡʔςʔγϣϯςετࣗମͷߟ͑ྺ࢙͕ઙ͍Θ͚Ͱͳ͍ ͳͥɺͦ͜·Ͱར༻͞Εͯͳ͔ͬͨͷ͔ w ʮมҟʯΛϓϩμΫτίʔυʹೖΕͯɺςετίʔυΛ࣮ߦ͢Δ w ˠมҟΛೖΕ͚࣮ͨͩߦ࣌ؒ૿͍͑ͯ͘ w ˠ͓͜ͳ͏ͷʹʮ࣮ߦ࣌ؒʯ͕՝ʹͳΔέʔε͕ଟ͍
͔͠͠ w ࡢࠓͷʮϚγϯύϫʔʯʢͳͲʣʹΑΓ࣮ݱՄೳʹͳ͖͍ͬͯͯΔʢͱ͍͑Δʣ J04ͷςετͰͲ͏ͳͷ͔ʁ
J04ͷࣗಈςετͷ՝ w ࣗಈςετͷ࣮ߦͷྲྀΕ w ୯७ʹʮมҟʯΛೖΕͨ߹ͷྲྀΕ ʮมҟʯ͕छྨͰ࣮ߦ࣌ؒͷ૿Ճ͕ܹ͍͠ Ͳ͏͢ΔͱΑ͍ͷ͔ʁ
࣮ߦ࣌ؒʹର͢ΔΞϓϩʔν w ՝ w ຖճɺมҟΛೖΕͯςετͷ࣮ߦΛ͍͕͔͔ͯͯ࣌ؒ͠Γ͗ͯ͢͠·͏ w NVUFSͰͲͷΑ͏ͳ͜ͱΛ͓͜ͳ࣮ͬͯߦ࣌ؒͷॖΛ͓͜ͳ͍ͬͯΔͷ͔ w ɹϏϧυͱςετ࣮ߦͷ
w ɹىಈ࣌ڥมͷར༻
࣮ߦ࣌ؒʹର͢ΔΞϓϩʔν w Ϗϧυͱςετ࣮ߦͷʢ9DPEF͔Βʣ w CVJMEGPSUFTUJOHɿϏϧυ w UFTUXJUIPVUCVJMEJOHɿϏϧυ͞ΕͨͷΛςετ࣮ߦ ɹϏϧυͱςετ࣮ߦͷ
࣮ߦ࣌ؒʹର͢ΔΞϓϩʔν w มҟΛ࠷ॳʹ༻ҙ w ىಈ࣌ڥมͰ࣮ߦ͢ΔίʔυΛذ w ʢ" ɺʢ#ʣͷͱ͜Ζ ɹىಈ࣌ڥมͷར༻
࣮ߦ࣌ؒʹର͢ΔΞϓϩʔν w NVUFSͷมҟͷೖΕํ w ϓϩμΫτίʔυʹશͯͷมҟΛೖΕΔ w ىಈ࣌ڥมͰݺͼग़͢ίʔυΛ੍ޚ͢Δ ɹىಈ࣌ڥมͷར༻ มҟΛೖΕͨ͋ͱͷϓϩμΫτίʔυ
YDUFTUSVOϑΝΠϧ ىಈ࣌ڥม
࣮ߦ࣌ؒʹର͢ΔΞϓϩʔν w มҟʹରԠ͢Δʮىಈ࣌ڥมʯ͕ࢦఆ͞ΕΔ w ࣮ߦέʔε̍ɿʢ"ʣʹରԠ͢Δىಈ࣌ڥมΛYDUFTUSVOʹઃఆ w ࣮ߦέʔε̎ɿʢ#ʣʹରԠ͢Δىಈ࣌ڥมΛYDUFTUSVOʹઃఆ ɹىಈ࣌ڥมͷར༻
࣮ߦ࣌ؒͷॖޮՌ ॖ࣌ؒ ͜͜ΛฒྻԽͰ͖Ε͞ΒʹॖՄೳ
ϛϡʔςʔγϣϯςετͷޮՌ w ϝϦοτ w ςετ࿙Εʹؾ͚ͮΔ͜ͱ͕͋Δ w ςετઃܭ͕ʮෆेʯʮۤखʯͳͱ͖ʹޮՌେ w ίʔυΧόϨοδͱҧͬͨࣗಈςετͷ'# w
˞ίʔυΧόϨοδͱซͤͯ͏ͱྑ͍
ϛϡʔςʔγϣϯςετͰͷҙ w ѻ͏ࡍͷҙ w ࣗಈςετ͕Ұఆ͋Δ͜ͱ͕લఏ w ΧόϨοδͱซͤͯར༻͢Δͱྑ͍ w Ͳ͏͍ͬͨมҟύλʔϯ͕͋Δ͔ϥΠϒϥϦͷ࣮࣍ୈ w
ϛϡʔςʔγϣϯείΞ͕ˋͰ͋Εͳ͍ͱ͍͏Θ͚Ͱͳ͍ w ࣮ߦ࣌ؒͷ͞ w ࣮ߦରߜΔඞཁ͕͋Δ w ݕͨ͠ͷ͕શ͖ͯ͢ରͱݶΒͳ͍ʹνΣοΫ͢Δίετ͕͔͔Δ w Ձϛϡʔλϯτͷέʔε͋Δ
ϛϡʔςʔγϣϯςετͰͷҙ NVUFSଆͰͷରԠ͋ͬͯͲ͏࣮ͯ͠ߦ͔͔࣌ؒΓ·͢ w ࣮ߦ࣌ؒɿʢ̍ʣ࣮ߦରͷϑΝΠϧʷʢ̎ʣมҟύλʔϯʷʢ̏ʣςετ έʔε w ʢ̍ʣʹରͯ͠ͷΞΫγϣϯ w ࣮ߦର֎ͷϑΝΠϧΛઃఆ w
NVUFSͰઃఆϑΝΠϧͰࢦఆ w ࣮ߦ͢ΔରϑΝΠϧΛࢦఆ w pMFTUPNVUBUFΦϓγϣϯͰࢦఆ w ʢ̎ʣʹରͯ͠ͷΞΫγϣϯ w มҟύλʔϯΛߜΔ w PQFSBUPSTͰࢦఆ ࣮ߦ࣌ؒͷ ࣮ߦରΛߜͬͯ$*Ͱͷ࣮ߦ࣌ؒҰఆ͔͔Δ ʮ͍ͭʯʮͲ͜Ͱʯ࣮ߦ͢Δ͖͔ߟ͑Δඞཁ͕͋Δ
ϛϡʔςʔγϣϯςετͰͷҙ w ʮ4VSWJWFEʯʹͳ͍ͬͯΔέʔε͕ςετίʔυΛՃ͢Δ͖ͷ͔ΛௐΔඞ ཁ͕͋Δ w ରԠΛͯ͠ˋʹͳΒͳ͍έʔεҰఆ͋Δ w ྫʣՁϛϡʔςʔγϣϯɿมҟͤͯ݁͞Ռ͕มΘΒͳ͍έʔε͋Δ ݕͨ͠ͷ͕ʮՁʯ͕͋Δ͔ͷ֬ೝ ͜ΕΛՃຯ্ͨ͠ͰͲ͏͍ͬͨ;͏ʹར༻͢Δ͔Λߟ͑Δඞཁ͕͋Δ
͓ΘΓʹ w ࣗಈςετ͋ͨΓ·͑ͷ࣌ʹͳΓͭͭ͋Γ·͢ w ࠓ·ͰҎ্ʹʮςετઃܭʯॏཁͰ͋Γʮςετٕ๏ʯॏཁͰ͢ w ϛϡʔςʔγϣϯςετͬͯࣗಈςετΛͬͱ׆༻͍͖ͯ͠·͠ΐ͏