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
March 24, 2021
Programming
4
990
開発における治安指数の可視化のためにおこなったこと
iOS Test TeaTime #2(2021/03/24)で話した資料です。
https://testonline.connpass.com/event/205626/
tarappo
March 24, 2021
Tweet
Share
More Decks by tarappo
See All by tarappo
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
5
1.3k
自動テストの信頼性を高めるミューテーションテストの活用に向けて
tarappo
3
290
組織全体で品質を担保するための品管メンバーとしてのさまざまな役割
tarappo
3
1.8k
チーム単位で保守性を高める:独自指標と向上にむけた実践
tarappo
0
1.1k
DartでMutation testingを してみよう
tarappo
1
700
組織の立ち上げと体制変更の1年
tarappo
2
1.9k
全員品質を目指して ドラゴン探し
tarappo
1
810
Xcode10から最新までのTestingをふりかえる
tarappo
0
3.6k
1人目SETとして入社して2ヶ月の間におこなったこと
tarappo
4
4.6k
Other Decks in Programming
See All in Programming
Do Dumb Things
mitsuhiko
0
430
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
330
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
2
580
Bedrock×MCPで社内ブログ執筆文化を育てたい!
har1101
6
1k
Ruby's Line Breaks
yui_knk
2
930
RubyKaigi Dev Meeting 2025
tenderlove
1
130
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
110
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.4k
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
160
エンジニア未経験が最短で戦力になるためのTips
gokana
0
270
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
480
gen_statem - OTP's Unsung Hero
whatyouhide
1
200
Featured
See All Featured
Making Projects Easy
brettharned
116
6.1k
How GitHub (no longer) Works
holman
314
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
119
51k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Building Applications with DynamoDB
mza
94
6.3k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Become a Pro
speakerdeck
PRO
27
5.3k
How to Think Like a Performance Engineer
csswizardry
23
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Transcript
։ൃʹ͓͚Δ࣏҆ࢦͷ ՄࢹԽͷͨΊʹ͓͜ͳͬͨ͜ͱ 8FE J045FTU5FB5JNF ฏాහ೭ UBSBQQP
ࣗݾհ ฏాහ೭ˏ%F/"48&5 4PGUXBSF&OHJOFFSJO5FTU ϛογϣϯ w %F/"αʔϏεશൠͷ্࣭ w %F/"ΤϯδχΞͷ։ൃੜ࢈ੑ্ 48&5ͷॴଐνʔϜ
wࣗಈςετʢJ04ʣ w$*$% 2
ࠓͳ͢͜ͱ w ϓϩδΣΫτʹ͓͚Δʮ։ൃੜ࢈ੑʯʮ࣭ʯ໘ͰͷՄࢹԽʹ ͍ͭͯ w ՄࢹԽͷͨΊʹ͓͜ͳͬͨ͜ͱ w ՄࢹԽͷྫ 3
ରϓϩδΣΫτ ϥΠϒίϛϡχέʔγϣϯΞϓϦ
ʢ48&5ࢹͷʣ ՝ͷൃݟͱղܾ w ࣍ͷϑΟʔυόοΫαΠΫϧΛճͯ͠վળΛ͠ଓ͚͍ͨ w ՝ͳʹ͔ʁΛݟ͚ͭΔ w ՝ʹରͯ͠Կ͔͠ΒରࡦΛ͓͜ͳ͏ w ͦͷ݁ՌΛݟۃΊΔ
ͦͷͨΊʹʮϓϩδΣΫτʯͷঢ়ଶʹ͍ͭͯ ʮܧଓతʹʯʮʯͰΘ͔Δ͜ͱ͕ॏཁ 5
ϓϩδΣΫτͷঢ়ଶͷՄࢹԽ w ͲͷΑ͏ͳใ͔ΒͳʹΛՄࢹԽ͢Δ͔ ։ൃʹ͓͚Δ࣏҆ͱ͍͑ΔՕॴΛλʔήοτʹͯ͠ՄࢹԽ ˠʮ։ൃͷ࣏҆ࢦͷՄࢹԽʯ 6 ʮ։ൃੜ࢈ੑʯʮ্࣭ʯʹؔ͢Δͱ͜Ζ
։ൃʹ͓͚Δ࣏҆ࢦͷՄࢹԽ ιϑτΣΞσϦόϦͷύϑΥʔϚϯεͷଌఆج४Λࢀߟʹͭͭ͠ಠࣗʹ· ͣ࣍ͱܾΊͨ w ࣗಈςετͷར༻ w $*$%ͷར༻ঢ়گ w όάىථͷྨ 7
ͳʹΛՄࢹԽ͢Δ͔ TUλʔήοτ
։ൃʹ͓͚Δ࣏҆ࢦͷՄࢹԽ ʢ࠷ॳʹ͋ͬͨʣར༻Ͱ͖Δใݯ w ࣗಈςετͷར༻ w ςετέʔεɿʢ̍ʣϓϩμΫτίʔυɿ(JU)VC w ࣮ߦɿʢ̎ʣ$*$%αʔϏεɿ#JUSJTF w $*$%ͷར༻ঢ়گ
w ʢ̎ʣ$*$%αʔϏεɿ#JUSJTF w όάىථͷྨ w ʢ̏ʣόάىථɿ+*3" 8
ʢ̍ʣϓϩμΫτίʔυ (JU)VC w (JU)VCʹ͋Δςετίʔυ͔ΒςετέʔεΛΧϯτ w ֤ϦϦʔεόʔδϣϯͰͷਪҠΛܭଌ ςετίʔυঃʑʹ૿͍͑ͯΔΑ͏ʹݟ͍͑ͯͨ 9
ʢ̍ʣϓϩμΫτίʔυ (JU)VC w ͔͠͠ɺ࣮ࡍ w $*$%αʔϏεͰಈ͔͍ͯ͠ͳ͍ςετίʔυ͕͋Δ w ಈ͔ͳ͍ʢࣦഊ͢Δʣςετίʔυ͕͋Δ w $*$%αʔϏεͰͷ࣮ߦ݁Ռ͕$PNNJU4UBUVTʹө͞Ε͍ͯͳ͍
ʮ͋Δ͚ͩʯͰՁΛൃش͠ͳ͍ 10 ࣮ࡍʹར༻ͨ͠ͱ͍͏ใ͕ඞཁ
ʢ̎ʣ$*$%αʔϏε #JUSJTF w ϫʔΫϑϩʔͷ࣮ߦ݁Ռ͔ΒใΛऔಘ w #JUSJTFʹ"1*͕͋ΓաڈͷใऔಘͰ͖Δ w IUUQTBQJEPDTCJUSJTFJP w
͔͠͠ɺ w ϫʔΫϑϩʔͷ࣮ߦλΠϛϯά͕গͳ͍ w ϫʔΫϑϩʔࣗମ͕͍ͬͯͳ͍ 11
ʢ̎ʣ$*$%αʔϏε #JUSJTF w ϫʔΫϑϩʔͷ࣮ߦλΠϛϯά͕গͳ͍ཧ༝ w ࣮ߦ͕͔͔࣌ؒΔͨΊ13࣌ʹಈ͔͢ͷݫ͍͠ w ࣗಈςετͩͱʙఔ͔͔͍ͬͯΔঢ়ଶʢʹ/JHIUMZ͚ͩͰಈ͔͍ͯ͠Δʣ w
13ɺNFSHF࣌ʹಛఆͷ̍ϫʔΫϑϩʔ͚ͩΛࢦఆ͍ͯ͠Δ ݁Ռͱͯ͠$*$%ͷར༻͘σʔλ͕গͳ͍ঢ়ଶ ͦͦͱͯ͠ʮϏϧυ͕Ͱ͖ͳ͍ʯʮςετ͕ࣦഊ͢Δʯʹؾͮ͘ͷ͕ޙखʹͳΔ 12
ʢ̏ʣόάىථ +*3" w શମͷΛݟΔͨΊʹ+*3"ͷμογϡϘʔυΛ༻ҙ w ใΛόʔδϣϯ୯ҐͰՄࢹԽ͠ਪҠΛݟΕΔΑ͏ʹͨ͠ w ෆ۩߹छผॏཁͳͲͰ͚ͯදࣔ 13 ͲͷΑ͏ͳىථ͕ଟ͍͔Λ֬ೝ
ʢ̏ʣόάىථ +*3" w ϑΥʔϚοτͷ w ਓʹΑͬͯىථ࣌ͷใ͕ͿΕ͍ͯΔ w ݁Ռͱͯ͠ɺෆ۩߹छผͰʮͦͷଞʯ͕ଟ͘ͳͬͨΓ͍ͯͨ͠ w τϨʔαϏϦςΟͷ
w मਖ਼ͱͯ͠ͲͷΑ͏ͳ͜ͱΛ͓͜ͳ͔ͬͨΘ͔Βͳ͍͜ͱ͕͋Δ w ৄࡉΛΔͨΊʹ(JU)VCͷ13Ұཡ͔ΒରͱͳΔ13Λ୳ͨ͠Γ͍ͯͨ͠ 14
ࠓ͋ΔใΛ ͦͷ··ར༻ͯ͠ ՄࢹԽ͢Δʹ ྔɺ༰తʹෆे
ՄࢹԽʹΉ͚ͯ w σʔλͷཧ w Կ͕͋ͬͯԿ͕׆༻Ͱ͖Δ͔Λཧ͑͠ΔΑ͏ʹͨ͠ 16 σʔλͷՄࢹԽ
ࠓͷ՝ͱରԠࡦ w ࣗಈςετͷར༻ w ίʔυͰͳ͘ʮͦΕΛ࣮ࡍʹར༻ͨ͠ʯͱ͍͏ใ͕ඞཁ w ˠ$*$%αʔϏεͰఆظతʹಈ͔͢ w $*$%ͷར༻ঢ়گ w
࣮ߦ͢ΔλΠϛϯάΛ૿͢ w όάىථͷྨ w ϑΥʔϚοτͷௐɺτϨʔαϏϦςΟͷڧԽ 17 ରԠʢ̍ʣ #JUSJTFपΓͷ ཧ ରԠʢ̎ʣ +*3"पΓͷ ཧ
#JUSJTFपΓͷཧ w ϫʔΫϑϩʔͷཧ w আɿෆඞཁͳTUFQɺෆඞཁͳϫʔΫϑϩʔ w ՃɿϏϧυΛ͢ΔϫʔΫϑϩʔ w վળɿϢʔςϦςΟϫʔΫϑϩʔʹΑΔڞ௨ԽɺςετͷՌΛอଘɺ(JU)VC$PNNJU4UBUTVʹө w
࣮ߦ࣌ؒͷݮ w ςετͷฒྻ࣮ߦʢ̐ฒྻʣ w 5SJHHFSͰಈ͘ϫʔΫϑϩʔͷมߋ w ෳϫʔΫϑϩʔ͕ಈ͘Α͏ʹଞͷϫʔΫϑϩʔΛಈ͔͢ϫʔΫϑϩʔʹมߋ 18
#JUSJTFपΓͷཧ w ࣮ߦ࣌ؒͷݮ w ࣮ߦ࣌ؒͷݮɿશମతʹఔ w ࣗಈςετͷ࣮ߦ࣌ؒɿˠ w ࣮ߦλΠϛϯάͷ૿Ճ w
13࣌ɿςετɺϏϧυ w NFSHF࣌ɿςετɺ 19 ͜ΕΒʹΑΓʮࣗಈςετͷར༻ʯʮ$*$%ͷར༻ঢ়گʯͷͨΊͷσʔλ૿Ճ ݁Ռ ࣮ߦ࣌ؒͷݮʹΑΓՄೳʹͳͬͨ
#JUSJTF͔ΒಘΒΕΔใ w ֤ϫʔΫϑϩʔͷ࣮ߦ݁Ռ w ରϫʔΫϑϩʔɿϏϧυɺࣗಈςετɺΞϓϦͷ w ࣮ߦ݁Ռͷৄࡉ w ࣮ߦ࣌ؒ w
࣮ߦ݁ՌʢޭɺࣦഊɺBCPSUʣ w ࣮ߦͨ͠ਓʢ13Ͱ͋Ε13࡞ऀʣ w ϒϥϯν໊ w ར༻ͨ͠4UBDLใ 20 (&5ɿBQQT\BQQTMVH^CVJMET
ࣗಈςετͷใ w #JUSJTFͰ࣮ߦ࣌ʹಘΒΕΔใ w ςετέʔεʢޭɺࣦഊʣ w ίʔυΧόϨοδ 21 #JUSJTF࣮ߦ࣌ʹίʔυͱ݁ͼ͚ͭΔ #JUSJTFͰ݁ՌΛग़͢Α͏ʹ͠Ռʹอଘ
ࣗಈςετͷใ w (JU)VC$PNNJU4UBUVTʹσʔλө w #JUSJTF͔Βөͤ͞Δ͜ͱ͕Ͱ͖Δ w ୭Ͱ͔ΜͨΜʹ(JU)VC͔ΒݟΔ͜ͱ͕Ͱ͖Δ w "1*ͰσʔλΛऔΔ͜ͱ͕Ͱ͖Δ 22
+*3"पΓͷཧ w όάੳ͕ΑΓͰ͖ΔΑ͏ʹԼهΛ࣮ࢪ w ʢ̍ʣϑΥʔϚοτௐ w ݱঢ়ͷىථΛશνΣοΫ͠ɺͦΕΛݩʹඞཁͳͷΛௐ w ʢ̎ʣνέοτͱमਖ਼ίʔυͷ݁ͼ͚ͭ w
%BOHFSΛར༻͠13࣌Ͱ13ͷEFTDSJQUJPOʹ͋Δ+*3"ΞυϨεʹ (JU)VCͷ13ΞυϨεΛࣗಈొ 23
+*3"पΓͷཧ ʢ̍ʣϑΥʔϚοτௐ w ݱঢ়ͷىථΛ֤όʔδϣϯ୯ҐͰશνΣοΫ w ใͷᐆດ͕͋͞Δͱ͜Ζ͕ͳ͍͔Ͳ͏͔ w ݱঢ়ͷใͰΓΔ͔Ͳ͏͔ͷݕ౼ 24 ৄࡉ·ͨผͷػձʹ
+*3"पΓͷཧ ʢ̎ʣνέοτͱमਖ਼ίʔυͷ݁ͼ͚ͭ w %BOHFSΛར༻ w 13ͷEFTDSJQUJPOʹ͋Δ+*3"ΞυϨεʹ(JU)VCͷ13ΞυϨεΛࣗಈొ 25 ࣗͷ13ΞυϨεΛهࡌʢෳొՄʣ ϥϕϧͷࣗಈ༩ʢʹ2"ରԠʣ
ՄࢹԽʹ͚ͨߏҊ Ͳ͔͜͠Β ίʔυ ใݩ ͳʹ͔͠Β ͳʹ͔͠Β ͜͜Λ Ͳ͏͢Δ͔
ՄࢹԽʹΉ͚ͯ w ʢ̍ʣूΊͨใΛͲ͜ʹอଘ͢Δ͔ʁ w কདྷతʹ#JH2VFSZΛ༧ఆ w ࠓ͔ΜͨΜʹ͢ΔͨΊʹεϓϨουγʔτΛར༻ w ʢ̎ʣอଘͨ͠ใΛԿΛͬͯՄࢹԽ͢Δ͔ʁ w
%BUB4UVEJPʢσʔλϙʔλϧʣΛͬͯՄࢹԽ w IUUQTEBUBTUVEJPHPPHMFDPN w #JH2VFSZεϓϨουγʔτͳͲෳͷσʔλιʔεΛݩʹՄࢹԽͰ͖Δ 27
ߏ 28 σʔλϙʔλϧ ใݩ อଘઌ ίʔυ औಘ อଘ ఆظ࣮ߦ
ݱࡏͷ ։ൃͷ࣏҆ࢦ w $*҆ఆੑ w ࣮ߦ࣌ؒɺ࣮ߦ݁Ռɺʢʴϒϥϯνʣ w ࣗಈςετ׆༻ w ςετέʔεʢޭɺࣦഊʣɺίʔυΧόϨοδ
w όά 29
σʔλͷՄࢹԽʢྫʣ +*3"͕ด͡ΒΕΔ·Ͱͷ࣌ؒʢฏۉதԝ (JU)VCͷ13͕ด͡ΒΕΔ·Ͱͷ࣌ؒʢฏۉதԝ ௐࠪ࣌ؒ (JU)VCͷ13͕ด͡ΒΕΔ·Ͱͷ࣌ؒ ಈ࡞֬ೝ Ћʢͪ࣌ؒʣ+*3"͕ด͡ΕΔ·Ͱͷ࣌ؒ όά͕मਖ਼͞ΕΔ·Ͱʹ͔͔Δ࣌ؒͷৄࡉΛνΣοΫ͠Ͳ͜ʹ͕͔͔͍࣌ؒͬͯΔ͔ΛՄࢹԽ͢Δ
σʔλͷՄࢹԽͱվળ׆ಈ 31 ࣗಈςετͷ࣮ߦ࣌ؒʢ13୯Ґʣ ࣗಈςετͷ݁Ռʢ̍ɿޭɺ̎ɿࣦഊɺ̏ɿ"CPSUʣ ࣄɿ࣮ߦ͕࣌ؒଟগ͔͔͍ͬͯΔ ݪҼɿ#JUSJTFͰͷTFUVQॲཧͰ͋Δఔ͔͔͍ͬͯΔ ରॲɿTFUVQॲཧͷݟ͠ʢݮʣ ࣄɿࣦഊ͍ͯ͠Δέʔε͕Ұఆ͋Δ ݪҼɿࣦ̍ഊ͢Δͱ์ஔ͞ΕΔέʔε͕͋Δ ରॲɿࣦഊ࣌ʹ͓͚Δ௨ઌͷมߋ
ˍ࠷ۙɺ#SBODIQSPUFDUJPOSVMFTΛಋೖ ʢཁվྑʣ$*$%αʔϏεͷৄࡉͳ݁Ռ͕ඞཁ
͓ΘΓʹ w ϓϩδΣΫτͷ։ൃͷ࣏҆ࢦΛՄࢹԽʹΉ͚͍ͯΖ͍Ζͱ͓͜ͳ ͍·ͨ͠ w ݱࡏͷʮใʯͰΓ͍ͯΔΘ͚Ͱͳ͘ɺใͬͱඞཁ w ࠓʮόάͷมߋࣦഊʯʮύϑΥʔϚϯεܭଌ݁ՌʯσʔλΛऔͬ ͍ͯ·͢ w
ಛఆϓϩδΣΫτ͚ͩͰͳ͘ɺଞϓϩδΣΫτͷൺֱॏཁ w ൺֱ͢Δ͜ͱͰݟ͑Δͷଟ͍ͣ 32