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
note初のBug Bashを やってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroki Tanaka
March 11, 2022
Programming
1
1.5k
note初のBug Bashを やってみた
noteで初めての取り組みとしてBug Bashを行ったので実施までの経緯と振り返りの記録です。
Hiroki Tanaka
March 11, 2022
Tweet
Share
More Decks by Hiroki Tanaka
See All by Hiroki Tanaka
機能QA会のすゝめ
hiroki_tanaka
0
280
定期リリースの導入
hiroki_tanaka
0
200
noteの品質課題に立ち上げ直後のQAチームが挑んだ軌跡
hiroki_tanaka
1
1.5k
コロナ禍の1年間でAWSの資格を 3つ取得した話
hiroki_tanaka
0
480
Rubocop対応のすゝめ
hiroki_tanaka
0
81
Gotanda.rb#48 ECS on Fargateでのハマりポイント
hiroki_tanaka
1
370
Gotanda.rb#47 Mailgun3分クッキング
hiroki_tanaka
1
7.4k
Gotanda.rb#46 権限管理のつらみとPundit
hiroki_tanaka
1
7.4k
Other Decks in Programming
See All in Programming
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
2
910
CSC307 Lecture 07
javiergs
PRO
1
560
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.5k
Apache Iceberg V3 and migration to V3
tomtanaka
0
220
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
180
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
310
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
390
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜 / Understanding nil in Go Interface Representation and Why nil != nil
kuro_kurorrr
2
1k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
190
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
350
AI巻き込み型コードレビューのススメ
nealle
2
2.3k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
250
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Technical Leadership for Architectural Decision Making
baasie
2
260
Chasing Engaging Ingredients in Design
codingconduct
0
120
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
300
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
130
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
200
Transcript
noteॳͷBug BashΛ ͬͯΈͨ 2022/3/11 noteגࣜձࣾ @hiroki_tanaka
ࣗݾհ - ాத ج (Twitterɿ@tanaka_noopy) - ϑϡʔνϟʔΞʔΩςΫτ(4) →τϨλ(1) →note(2) -
ීஈαʔόαΠυΤϯδχΞ - झຯɿεϓϥτΡʔϯɾϦΞϧग़ήʔϜ ٱʑͷ֎෦ొஃLTͳͷͰ…ᵚ¨ŝ…((*>д<*))…ᵚ¨ŝ…Ͱ͕͢ɺ ؾܰʹԿͰίϝϯτ͍͍ͯͬͯͩ͘͠͞ʂ
ࠓ͢͜ͱɾ͞ͳ͍͜ͱ ʲ͢͜ͱʳ - noteʹ͓͚ΔQA๊͕͑ΔͱBug BashͱԿ͔ - Bug BashͷਐΊํ - Bug
BashͷՌͱৼΓฦΓ ʲ͞ͳ͍͜ͱʳ - Bug BashͰग़͖ͯͨݸผͷόάͷ۩ମతͳରԠํ๏
օ͞Μ ࣗࣾαʔϏεΛ৮͍ͬͯΔ࣌ɺ ͜Μͳܦݧ͋Γ·ͤΜ͔ʁ
͋·ΓΘΕͳ͍ػೳͰ গ͠ද่ࣔΕ͕ى͖ͯΔͳ͊ʜ Ͱɺ୭ʹ࿈བྷ͢Ε͍͍͔ Θ͔Βͳ͍͔Βͦͬͱ͓ͯ͜͠͏ʜ
୲֎ͷػೳͰΠέͯͳ͍ ΤϥʔϝοηʔδΛݟ͚ͭͯ͠·ͬͨɻ ͰɺҰԠҙຯԿͱͳ͘ΘΔ͔Β ͳ͍ͱ͍͏͜ͱʹ͓ͯ͜͠͏ɻ
͜Μͳঢ়ଶΛղܾ͢Δͷ͕ Bug Bash
Bug Bashͱ - ܾΊΒΕͨ࣌ؒͰօͰϓϩμΫτΛଧ伴͠·ͬͯ͘ɺ৭ʑͳ όάΛࢁग़ͦ͏ʂͱ͍͏औΓΈͷ͜ͱ - όάΛग़͚ͩ͢Ͱͳ͘ɺීஈ৮Βͳ͍ػೳΛଧ伴͢Δ͜ͱͰϓϩμΫτશ ମͷཧղ͕ΑΓҰਂ·Δ - όάΛग़͍ͯ͘͠தͰQA࣭ͷҙࣝͷ্ΛਤΔ
- ظूதͰޮΑ͘όάΛग़͢͜ͱʹద͍ͯ͠Δ - ςετํ๏γφϦΦΛΧνοͱܾΊͯߦ͏ͷͰͳ͘ɺϥϯμϜͳϞϯ ΩʔςετͰߦ͏ - ൃݟͨ͠όάͷܰॏͰΛ͚ڝ͏͜ͱͰήʔϜੑΛ࣋ͨͤΔࣄͰ͖Δ (ָ͍͠ʂ໘ന͍ʂͱ͍͏ཁૉͬͺΓେࣄ)
ͦͦԿͰnoteͰ Bug Bash͕ඞཁͳͷʁ
noteʹ͓͚ΔQA - ݱࡏɺnoteʹઐͷQAΤϯδχΞ͍ͳ͍ͨΊɺԼهͷΑ ͏ͳ͕ൃੜ͍ͯͨ͠ - ୯ମςετΛ࢝Ί֤ϑΣʔζͷςετͷ࣭ͷऔΓܾΊ͕ͳ͘ɺ࣭͕࣮ ऀʹґଘͯ͠͠·͍ɺςετͷଐਓԽ͕ਐΜͰ͍ͨ - ຊ൪ڥͰ͕ൃੜͨ͠߹ɺςετͷଆ໘͔ΒৼΓฦͬͯࠓޙʹ׆͔͢ νʔϜͱͯ͠ͷऔΓΈ͕ͳ͔ͬͨ
- ςετʹؔ͢Δ͕ΦʔφʔෆࡏͰޙճ͠ʹͳΓɺੵ͞Ε͍ͯͨ
noteʹ͓͚ΔQA - ݱࡏɺnoteʹઐͷQAΤϯδχΞ͍ͳ͍ͨΊɺԼهͷΑ ͏ͳ͕ൃੜ͍ͯͨ͠ - ୯ମςετΛ࢝Ί֤ϑΣʔζͷςετͷ࣭ͷऔΓܾΊ͕ͳ͘ɺ࣭͕࣮ ऀʹґଘͯ͠͠·͍ɺςετͷଐਓԽ͕ਐΜͰ͍ͨ - ຊ൪ڥͰ͕ൃੜͨ͠߹ɺςετͷଆ໘͔ΒৼΓฦͬͯࠓޙʹ׆͔͢ νʔϜͱͯ͠ͷऔΓΈ͕ͳ͔ͬͨ
- ςετʹؔ͢Δ͕ΦʔφʔෆࡏͰޙճ͠ʹͳΓɺੵ͞Ε͍ͯͨ ΤϯδχΞ৫͕େ͖͘ͳΔʹͭΕͯɺ͕ݦࡏԽ
QAҕһձͷൃ
QAҕһձͱ - ࣾͷΤϯδχΞ༗ࢤͰςετ࣭ઃܭʹڵຯ͋Δϝϯό͕ ू·ͬͨνʔϜ - िʹ1ɺDeNAͷSWETνʔϜͰ׆༂͞Ε͍ͯΔฏా͞Μ(@tarappo)ʹΞυ όΠβͱͯ͠ࢀՃ͖ͯ͠ɺ୯ମςετͷਐΊํΧΠθϯCIͷߴԽͳͲ νʔϜԣஅతͳ্࣭ࢪࡦɾQAΤϯδχΞͷ࠾༻ͳͲɺnoteʹQAจԽΛ ఆணͤ͞Δٞ͘͠ɺ׆ಈ͍ͯ͠ΔνʔϜ
Bug Bashͱͷग़ձ͍ͱ࣮ࢪ·Ͱ - QAҕһձશһQA͕ຊ৬Ͱͳ͍ͨΊɺࣝΛ͚Δ͘ ʰGoogleͷιϑτΣΞΤϯδχΞϦϯάʱͷྠಡձΛ࣮ ࢪɻͳΜͱɺͦͷதʹBug Bashʹؔ͢Δهड़͕͋ͬͨʂ - ҎԼͷཧ༝͔Βಋೖͯ͠Έ͍ͨͱ͍͏͕ڍ͕ͬͨ -
γεςϜ͕ڊେԽ͍͖ͯ͠ɺࣾͰ࣭จԽͷఆண͕ٸͱͳ͍ͬͯͨ - ࣾͷΤϯδχΞͷਓ͕૿͑ɺνʔϜຖʹ୲ྖҬ͕ܾ·͍ͬͯͨͨΊɺࣗͷ୲Ͱ ͳ͍ػೳͷݟ͕ઙ͍ঢ়ଶʹͳ͍ͬͯͨ - νʔϜ֎ͷΤϯδχΞͱίϛϡχέʔγϣϯ͢Δػձ͕গͳ͘ͳ͍ͬͯͨ
Bug Bashͱͷग़ձ͍ͱ࣮ࢪ·Ͱ - QAҕһձશһQA͕ຊ৬Ͱͳ͍ͨΊɺࣝΛ͚Δ͘ ʰGoogleͷιϑτΣΞΤϯδχΞϦϯάʱͷྠಡձΛ࣮ ࢪɻͳΜͱɺͦͷதʹBug Bashʹؔ͢Δهड़͕͋ͬͨʂ - ҎԼͷཧ༝͔Βಋೖͯ͠Έ͍ͨͱ͍͏͕ڍ͕ͬͨ -
γεςϜ͕ڊେԽ͍͖ͯ͠ɺࣾͰ࣭จԽͷఆண͕ٸͱͳ͍ͬͯͨ - ࣾͷΤϯδχΞͷਓ͕૿͑ɺνʔϜຖʹ୲ྖҬ͕ܾ·͍ͬͯͨͨΊɺࣗͷ୲Ͱ ͳ͍ػೳͷݟ͕ઙ͍ঢ়ଶʹͳ͍ͬͯͨ - νʔϜ֎ͷΤϯδχΞͱίϛϡχέʔγϣϯ͢Δػձ͕গͳ͘ͳ͍ͬͯͨ noteͷόϦϡʔͰ͋Δʮૉૣ͘ࢼ͢ʯͷਫ਼ਆͰૣͬͯΈͨ
noteྲྀ Bug BashͷਐΊํ - ձɿZoomͰϦϞʔτ։࠵ - ରػೳɿnoteͷWebը໘(ݕূڥ) - ࢀՃऀɿΤϯδχΞɾσβΠφʔͷ༗ࢤ -
ਐΊํ 1. 3ਓ1νʔϜʹ͔ΕΔ 2. 10֤ؒνʔϜʹׂΓৼΒΕͨػೳΛଧ伴͠ɺൃݟͨ͠όάΛissueʹىථ͢Δ 3. ࣍ͷ5ؒͰ֤νʔϜ͕࠷͠ͼΕͨόάΛൃද͠ɺCTO͕࠾͢Δ 4. 2~3Λ4λʔϜ܁Γฦ͠ɺ࠷͕ߴ͔ͬͨνʔϜ͕༏উ😄
noteྲྀ Bug BashͷਐΊํ - ෆ۩߹ج४ - ༷Λຬ͍ͨͯ͠ͳ͍ɾػೳΛ༻͢Δࣄ͕Ͱ͖ͳ͍ͱ͍ͬͨ໌Β͔ͳͷ - ΫϩεϒϥβϞόΠϧϒϥβͰͷ༧ظͤ͵ද่ࣔΕ -
ຊޠ͕͓͔͍͠ɾಡΈʹ͍͘ϝοηʔδtypo - UXͷෆඋߟ͑ࠐΜͰΑ͏͔͘ΔΑ͏ͳΘ͔Γʹ͍͘ػೳ - ༏উνʔϜͷ༻ҙ - ͬͺΓ͕͋ͬͨํ͕Γ্͕Δ🔥
ͷ༷ࢠᶃ - ֤νʔϜʹ͔Εͯʑͱόά୳͠ͷଧ伴Λ͢Δ໘ʑ
ͷ༷ࢠᶄ - ͦͯ͠ɺ֤νʔϜൃݟͨ͠όάΛൃද
Bug BashͷՌ - ࢀՃऀ૯12໊Ͱଧ伴Λߦ͍ɺόά54ݸൃݟ͞Εͨ🎉🎉🎉 - ը໘ͷϨΠΞτ่ΕΘ͔Γʹ͍͘Τϥʔϝοηʔδͱ͍ͬͨUIෆඋ͔Β ༷ͷߟྀ࿙Ε·Ͱൃݟ͞Εͨόάଟذʹͬͨ - όάͷਂࠁͱͯ͠ʙதͷͷ͕90%ΛΊɺΓ10ˋ͜ͷํ͕͍ ͘͢ͳΔͱ͍ͬͨཁͰ͋ͬͨ
- γεςϜػೳͦͷͷ͕ఀࢭ͢Δͱ͍ͬͨॏಞͳόάൃݟ͞Εͳ͔ͬͨ
Bug Bash ͦͷޙ - Bug BushͰൃݟ͞ΕͨόάΛमਖ਼͠ɺissueىථऀʹमਖ਼ྃ ࿈བྷ·Ͱߦ͏ - मਖ਼ྃ࿈བྷΛߦ͏͜ͱͰɺىථͨ͠ਓमਖ਼ͨ͠ਓ͓ޓ͍ʮͬͯྑ ͔ͬͨʂʯͱؾ͕ྑ͘ͳΔWin-Winͷؔ
Bug Bash ͦͷޙ - ࠷ଟಘͩͬͨνʔϜϝϯόʹਐఄ - ʹςετʹؔ͢Δٕज़ॻೖཋࡎɾϓϩςΠϯ͕બΕ·ͨ͠
ৼΓฦΓ - ήʔϜײ֮Ͱόά୳͠ʹதͰ͖ɺͦͷதͰϓϩμΫτʹର͢ Δཧղଅਐ - ϓϩμΫτʹৄ͘͠ͳΕͳΔఔɺࣗવͱQAҙ্͕ࣝͨ͠ - όάΛେྔʹൃݟ͢Δ͜ͱ͕ग़དྷɺϓϩμΫτͷ্࣭ʹతʹد༩ - ීஈɺձ͠ͳ͍νʔϜ֎ͷਓͱʮόά୳͠ʯͱ͍͏ڞ௨ͷ
Ͱ͢͜ͱ͕ग़དྷɺίϛϡχέʔγϣϯͷ׆ੑԽʹߩݙ - ଞνʔϜ͕ͲͷΑ͏ͳ؍ͰػೳΛݟ͍ͯΔ͔ΛΔ͜ͱ͕Ͱ͖ͨ - ϝϯόͦΕͧΕͷಘҙྖҬΛ׆͔ͤͨ
ৼΓฦΓ - ήʔϜײ֮Ͱόά୳͠ʹதͰ͖ɺͦͷதͰϓϩμΫτʹର͢ Δཧղଅਐ - ϓϩμΫτʹৄ͘͠ͳΕͳΔఔɺࣗવͱQAҙ্͕ࣝͨ͠ - όάΛେྔʹൃݟ͢Δ͜ͱ͕ग़དྷɺϓϩμΫτͷ্࣭ʹతʹد༩ - ීஈɺձ͠ͳ͍νʔϜ֎ͷਓͱʮόά୳͠ʯͱ͍͏ڞ௨ͷ
Ͱ͢͜ͱ͕ग़དྷɺίϛϡχέʔγϣϯͷ׆ੑԽʹߩݙ - ଞνʔϜ͕ͲͷΑ͏ͳ؍ͰػೳΛݟ͍ͯΔ͔ΛΔ͜ͱ͕Ͱ͖ͨ - ϝϯόͦΕͧΕͷಘҙྖҬΛ׆͔ͤͨ Bug BashΛͬͯɺຊʹྑ͔ͬͨ🙌
ࠓޙ - ධͩͬͨͨΊɺ1ճͷվળΛ౿·্͑ͨͰ2ճͷBug Bashͷ։࠵Λݕ౼த ʲվળʳ - 1λʔϜͨΓͷ࣌ؒΛ৳ͯ͠ɺΑΓਂ͘ػೳͷଧ伴͕Ͱ͖ΔΑ͏ʹ͠ɺซ֤ͤͯνʔϜʹλΠϜ ΩʔύʔΛಋೖ͢Δ - ඇΤϯδχΞϝϯόͷࢀՃ
- Web͚ͩͰͳ͘ɺϞόΠϧΞϓϦରͱ͢Δ - কདྷతʹ֤νʔϜ͕ػೳϦϦʔε࣌ʹؔऀΛूΊͯ1࣌ؒ ఔߦ͏খ͍͞Bug Bashͱશࣾతʹ~1ֻ͚ͯߦ͏େ͖ ͳBug BashΛ྆ํΛ࣮ࢪ͍͖͍ͯͨ͠
͓ΘΓʹ noteͰҰॹʹ্࣭ͷจԽΛ࡞͍ͬͯ͘QAΤϯδχΞ Λ࢝Ίɺ༷ʑͳΤϯδχΞ৬Λੵۃืू͍ͯ͠·͢ʂʂ গ͠Ͱڵຯ͋Δํ͕͍·ͨ͠Βɺੋඇؾܰʹ͓͠·͠ΐ͏ʂ🙋 (QRίʔυ͔ΒΧδϡΞϧ໘ஊϖʔδʹਐΊ·͢💁)
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ