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
AmebaにおけるQAコスト改善施策〜テスト項目の整理とAutify for Mobileによる自動化
Search
sosuiiii
March 14, 2023
Technology
0
290
AmebaにおけるQAコスト改善施策〜テスト項目の整理とAutify for Mobileによる自動化
18年続くプロダクトで、莫大になったQAコストにどう向き合って行くのか。
Amebaネイティブチームでの取り組みをご紹介させていただきます。
sosuiiii
March 14, 2023
Tweet
Share
More Decks by sosuiiii
See All by sosuiiii
具体例から学ぶ、循環参照の怖さとその対策
sosuiiii
0
12
Other Decks in Technology
See All in Technology
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
Why do you get AWS certificates
hirosys
0
120
初心者が行く!サーバレスWebアプリ開発の道
nagaharutogawa
0
450
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
2
1.2k
#51 “Empowering Azure Storage with RDMA”
cafenero_777
3
210
AFTを運用していたらAWS Configの課金が急増していた件
msato
0
100
大規模なアジャイル開発の現場と技術負債 / Technical Debt
yoshiitaka
21
4.1k
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
250
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
エンジニア候補者向け資料2024.03.28.pdf
macloud
0
2.9k
Getting started with controlling LEGO using Swift
hcrane
0
140
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
490
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
92
4.7k
Building Your Own Lightsaber
phodgson
97
5.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
15
6.3k
What's new in Ruby 2.0
geeforr
335
31k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
Automating Front-end Workflow
addyosmani
1353
200k
BBQ
matthewcrist
78
8.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
1.9k
Facilitating Awesome Meetings
lara
39
5.5k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Raft: Consensus for Rubyists
vanstee
130
6.2k
Transcript
$"TXJGU 4PVTIJ5BOBLB(JUIVCTPTVJJJJ5XJUUFS4PTTVJ@4XJGU "NFCBʹ͓͚Δ2"ίετ վળࢪࡦ ςετ߲ͷཧͱ"VUJGZGPS.PCJMFʹΑΔࣗಈԽ
"CPVU.F w 4PVTIJ5BOBLB w αΠόʔΤʔδΣϯτ৽ଔೖࣾ w "NFCBͷJ04ΤϯδχΞ w ౦ژग़ w
ํݴΛΒ͍͍͢ɺೣͷಈը͕͖ؑ w Ֆค͕ࠅۭ͗ͯ͢ؾਗ਼ড়ػͷ͋ΔՈʹҾ͖Γத
ΞδΣϯμ w "NFCBͷ2" 2$ ίετʹ͍ͭͯ2$ʜ2VBMJUZ$POUSPM w 2$߲ཧ w "VUJGZGPS.PCJMFͷಋೖ w
·ͱΊ
"NFCBͷ2$ίετʹ͍ͭͯ
·ͣ2$ϑϩʔʹ͍ͭͯཧ
λεΫཧπʔϧʮ"TBOBʯʹͯɺςετ؍Λهࡌͷ͏͑ʮ2$ΞϦʯΛબ 2$νʔϜɺʮ2$ΞϦʯͷ"TBOBνέοτΛ֬ೝ͠ςετ߲Λ࡞ ΤϯδχΞਞ্هͰ࡞͞Εͨςετ߲ΛϨϏϡʔ 2$νʔϜɺϨϏϡʔΛड͚ͨςετ߲ΛݩʹςετΛߦ͏ ࠓ·Ͱߦ͖ͬͯͨςετ طଘςετ ͷ༏ઌ4 NBY ߲ςετ͢Δ ্هͱผͷαΠΫϧͰɺ༏ઌ"
#ͷ߲Λςετ
՝͕ݟ͖͑ͯͨͷɺ࣍ͷϑϩʔ
λεΫཧπʔϧʮ"TBOBʯʹͯɺςετ؍Λهࡌͷ͏͑ʮ2$ΞϦʯΛબ 2$νʔϜɺʮ2$ΞϦʯͷ"TBOBνέοτΛ֬ೝ͠ςετ߲Λ࡞ ΤϯδχΞਞ্هͰ࡞͞Εͨςετ߲ΛϨϏϡʔ 2$νʔϜɺϨϏϡʔΛड͚ͨςετ߲ΛݩʹςετΛߦ͏ ্هͱผͷαΠΫϧͰɺ༏ઌ" #ͷ߲Λςετ ࠓ·Ͱߦ͖ͬͯͨςετ طଘςετ ͷ༏ઌ4 NBY
߲ςετ͢Δ
ςετ߲ͷཻʁ
ςετ߲ͷཻ ྫ ςετ߲ େ߲ ىಈ࣌ த߲ ϩάΠϯ খ߲ (PPHMF
ςετ߲ খ߲ *OTUBHSBN ςετ߲ খ߲ 5XJUUFS ςετ߲ த߲ ձһొ খ߲ (PPHMF ςετ߲ খ߲ *OTUBHSBN ςετ߲ খ߲ 5XJUUFS
طଘςετͷ߲Λࢉग़
4͚ͩͰΊͪΌΊͪΌଟ͍ ༏ઌ 4 " # جຊػೳ ϗʔϜ
ອը ݟ͚ͭΔ໘ هࣄ໘ ϑΥϩʔ໘ "NFCBαʔϏεҰཡ ϒϩάཧ ΤσΟλ ߹ܭ ˞4ʜִिͰ࣮ࢪ
2$νʔϜ͕ఆٛͨ͠༏ઌΛɺ ΤϯδχΞαΠυͰ࠶ఆٛ͠Α͏
2$߲ͷཧ
4 "NFCBΞϓϦʹ͓͍ͯඞཁෆՄܽͳػೳɻίΞػೳɻ " ִिɾ݄Ͱͷ֬ೝɻओཁػೳ͕ͩɺͳͯ͘ϒϩάͷಡΈॻ͖Ͱ͖Δɻ # 2ʹ̍ͷ֬ೝɻαϒػೳ "S طଘςετ͔Β֎͢ɻهͱ͓ͯͯ͘͠͠༻ɻ ײ֮ͰৼΓ͚͍ͯͨ༏ઌΛ࠶ఆٛ
༏ઌ 4 " # جຊػೳ ϗʔϜ
ອը ݟ͚ͭΔ໘ هࣄ໘ ϑΥϩʔ໘ "NFCBαʔϏεҰཡ ϒϩάཧ ΤσΟλ ߹ܭ ༏ઌ 4 " # جຊػೳ ϗʔϜ XJQ ອը ݟ͚ͭΔ໘ XJQ هࣄ໘ XJQ ϑΥϩʔ໘ XJQ "NFCBαʔϏεҰཡ ϒϩάཧ ΤσΟλ ߹ܭ ߲ཧલ ߲ཧޙ XJQ
4߲ʹ͍ͭͯେճͤΔΑ͏ʹͳͬͨ J04·ͩల։લͳͷͰɺઌߦ͍ͯ͠Δ"OESPJEΛࢀߟʹ͢Δͱɻɻ શମͷ߲มԽ͕গͳ͍͕ɺ4߲͕ճͤΔΑ͏ʹͳͬͨ͜ͱͰ 2$%'ͷ͏ͪ2 2VBMJUZ ͕վળ͞Εͨͱ͍͑Δ ݁Ռ
ͨͩɻɻɻ
શମͷ߲ґવͱͯ͠ଟ͍ͷͰɺ 2$ʹґଘ͍ͯ͠Δςετ߲ΛࣗಈԽ͍ͨ͠ ՝
"VUJGZGPS.PCJMFͷಋೖ
"VUJGZGPS.PCJMFͱ w ϦάϨογϣϯςετͷࣗಈԽ w ૢ࡞Λه͢Δ͜ͱͰɺ؆୯ʹςετͷ࣮ߦ͕Ͱ͖Δ w ϊʔίʔυ w ڥม͕ઃఆՄೳ w
ը૾ೝࣝʹΑͬͯɺϏδϡΞϧϦάϨογϣϯςετ͕Մೳ
γϛϡϨʔλΛૢ࡞͠ɺςετϑϩʔΛهͰ͖Δ ૢ࡞͝ͱʹ ه
ಋೖ͢Δతʁ
खಈςετΛݮΒ͠ɺ গͳ͍ίετͰఆৗతʹ࣭Λ୲อ͢Δ͜ͱ "VUJGZͷؒίετ ࢼݧ࡞ίετ 2$ͷϦάϨογϣϯ֬ೝίετ ίετͷ૯ྔ૿͑Δ͕ʜ
ಋೖʹ͓͚Δҙࣄ߲
ڥมΛ༻͍ͯɺΞϓϦڥΛݻఆ͢Δඞཁ͕͋Δ ϑϥάʹΑͬͯϙοϓΞοϓ͕ग़ͨΓग़ͳ͔ͬͨΓ νϡʔτϦΞϧ͕ग़ͨΓग़ͳ͔ͬͨΓ มߋՄೳੑͷ͋ΔڥɺࣗಈςετͷࣦഊΛট͘ ˞αʔόʔଆͰݻఆ͞ΕͨڥΛ࡞Γɺ&&ςετΛ͢Δͷ͕ཧ͕ͩɺ ίετΛߟྀͯ͠ڥมº"1*4UVCͰਐΊΔ͜ͱʹͨ͠
ڥมͷՃ
"VUJGZGPS.PCJMFʹڥมΛՃ IUUQTIFMQBVUJGZDPNNPCJMFEPDTKBFOWJSPONFOUWBSJBCMFT
"VUJGZGPS.PCJMFʹڥมΛՃ IUUQTIFMQBVUJGZDPNNPCJMFEPDTKBFOWJSPONFOUWBSJBCMFT
IUUQTIFMQBVUJGZDPNNPCJMFEPDTKBFOWJSPONFOUWBSJBCMFT ڥมΛՃ͢Δʹ࣍ͷίʔυΛՃ 9DPEFʹڥมΛՃ
ಋೖͯ͠Έͯͷॴײ
w Ұ෦ͷૢ࡞ʹؔͯ͠γφϦΦ࡞͕ྃ͠ɺఆظςετ͕Ͱ͖͍ͯΔ w ڥมը໘͝ͱػೳ͝ͱͳͲͰ͚ͨํ͕Γ͍͢ w ڥΛݻఆ͢ΔͨΊͷ"1*4UVC࣮ίετ͕͔͔Δ w "1*4UVCؚΊɺڥͷ४උ͕Ͱ͖ΕγφϦΦΛΉͷίʔυϕʔεʹൺͯͣͬͱ؆୯ w ϏδϡΞϧϦάϨογϣϯςετͷͨΊͷը૾ೝࣝਫ਼͜Ε͔Βʹظ
w ҟৗܥͷखಈςετਖ਼ৗܥΑΓେมͳͷͰɺࣗಈԽʹظ
·ͱΊ
w ςετ߲ͷ༏ઌೝࣝΛ߹Θ͓͖ͤͯ͘ w "VUJGZʹΑΔςετ࡞ɺίʔυͰ6*5FTUΛॻ͘ΑΓͣͬͱ؆୯ w 6OJU5FTUΛαϘΔ΄Ͳ2$ίετ͕૿େ͍͖ͯ͠ɺճΒͳ͘ͳΔ w 6OJU5FTUΛॻ͖͍͢ϓϩμΫτʹ͢ΔͨΊʹɺ ઃܭςετڥͷඋͱͯେࣄ