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
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
260
定期リリースの導入
hiroki_tanaka
0
190
noteの品質課題に立ち上げ直後のQAチームが挑んだ軌跡
hiroki_tanaka
1
1.5k
コロナ禍の1年間でAWSの資格を 3つ取得した話
hiroki_tanaka
0
410
Rubocop対応のすゝめ
hiroki_tanaka
0
72
Gotanda.rb#48 ECS on Fargateでのハマりポイント
hiroki_tanaka
1
360
Gotanda.rb#47 Mailgun3分クッキング
hiroki_tanaka
1
7.2k
Gotanda.rb#46 権限管理のつらみとPundit
hiroki_tanaka
1
7.3k
Other Decks in Programming
See All in Programming
Devvox Belgium - Agentic AI Patterns
kdubois
1
140
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
450
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
190
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
NIKKEI Tech Talk#38
cipepser
0
140
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
250
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
860
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
480
モテるデスク環境
mozumasu
3
1.1k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
270
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
340
AI Agent 時代的開發者生存指南
eddie
4
2.1k
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Thoughts on Productivity
jonyablonski
70
4.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
Docker and Python
trallard
46
3.6k
A better future with KSS
kneath
239
18k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Why Our Code Smells
bkeepers
PRO
340
57k
Visualization
eitanlees
149
16k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
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ίʔυ͔ΒΧδϡΞϧ໘ஊϖʔδʹਐΊ·͢💁)
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ