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
860
開発における治安指数の可視化のためにおこなったこと
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
チーム単位で保守性を高める:独自指標と向上にむけた実践
tarappo
0
530
DartでMutation testingを してみよう
tarappo
1
370
組織の立ち上げと体制変更の1年
tarappo
2
1.6k
全員品質を目指して ドラゴン探し
tarappo
1
700
Xcode10から最新までのTestingをふりかえる
tarappo
0
2.6k
1人目SETとして入社して2ヶ月の間におこなったこと
tarappo
4
4k
治安維持のためにCI/CDサービスを活用しておこなったこと
tarappo
1
6.2k
Pococha UIテストの運用をみすえた対応についての話
tarappo
3
1k
Other Decks in Programming
See All in Programming
Snowflakeで眠ったデータを起こそう!
estie
0
160
デフォルトにして至高、RubyMineの大好きな所
ruzia
0
1.1k
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
930
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
2
210
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
290
SIMD Parallel Programming with the Vector API
josepaumard
0
240
パフォーマンスを求めてDBに機能を寄せる戦略
aoyagikouhei
0
110
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
1.1k
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
530
Domain-Driven Transformation
hschwentner
2
1.5k
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
550
Milestoner
bkuhlmann
1
420
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
14
8.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Infographics Made Easy
chrislema
238
18k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
What's in a price? How to price your products and services
michaelherold
238
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
It's Worth the Effort
3n
180
27k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
Code Reviewing Like a Champion
maltzj
515
39k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
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