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
こだ
March 03, 2021
Programming
0
520
受託開発会社でテスト自動化をやってミタ
Autify Meetup ~Autify導入・運用実践者にそのノウハウを聞いてみる編~
開催日時 : 2021年1月28日 (木) 16:30 - 18:00
の登壇にて使用した資料になります
こだ
March 03, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
780
GoLab2025 Recap
kuro_kurorrr
0
3.6k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
230
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
6
2.3k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
630
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.1k
CSC307 Lecture 03
javiergs
PRO
1
470
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
220
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
チームをチームにするEM
hitode909
0
440
AtCoder Conference 2025
shindannin
0
920
Cap'n Webについて
yusukebe
0
160
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
780
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
How to Ace a Technical Interview
jacobian
281
24k
sira's awesome portfolio website redesign presentation
elsirapls
0
110
Git: the NoSQL Database
bkeepers
PRO
432
66k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Design in an AI World
tapps
0
120
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
36
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
120
Everyday Curiosity
cassininazir
0
120
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
Designing for Performance
lara
610
70k
Transcript
受託開発会社で テスト自動化をやってミタ 〜 ⼀⼈ 始 QA体制構築 ⾃動化編〜 株式会社タンバリン クラウドインテグレーション部 QAエンジニア
早川 侑⾥
:VSJ)BZBLBXB ,PEB גࣜձࣾλϯόϦϯ ΫϥυΠϯςάϨʔγϣϯ෦ 2"ΤϯδχΞ നඦ߹ঁࢠେֶଔۀޙɺҿ৯ɾӦۀ৬Λܦͯɺגࣜձࣾ4)*'5ʹͯ ςετΤϯδχΞͱͳΔɻ ୈࡾऀݕূΛ̎ࣾܦݧ͠ɺ&$αΠτɾ"QQͷςετΛத৺ʹɺ ෯͍αʔϏεʹܞΘΓɺݱͷΞΧϯτϚωʔδϟͱͯ͠ ۀʹैࣄɻ
ݱࡏɺגࣜձࣾλϯόϦϯͷਓͷ2"ΤϯδχΞͱͯ͠ डҊ݅ͷ2"ۀɾձࣾͷ2"ମ੍ͷߏஙɾςετνʔϜͷνʔϜ ϏϧσΟϯάΛ୲ɻ झຯήʔϜͱಈըฤूɻ໊͋ͩͷ༝དྷϙέϞϯͷίμοΫʹࣅ ͍ͯΔ͜ͱ͔Β͖ͭ·ͨ͠ɻ
ձࣾ֓ཁ あたらしいこと、カタチにしていく ΫϥυΛ׆༻ͨ͠ϞόΠϧΞϓϦ&ίϚʔε 8FCαʔϏεͷ։ൃΛத৺ʹΫϥΠΞϯτͷ ʮσδλϧγϑτʯΛαϙʔτɻ ࢲୡح৺Λثʹɺ͋ͨΒ͍͜͠ͱ͕େ͖ͳؒͱ ʮੈքΛม͑ΔΞΠσΞʯΛܗʹ͢Δ ςΫϊϩδετूஂͰ͢ɻ νʔϜ։ൃΛओྲྀʹ͠ɺ 4BMFTGPSDFΛͬͨ&$αΠτͷߏஙΛडୗ։ൃͱͯ͠ߦͳͬ
͍ͯ·͢ɻ 4BMFTGPSDFೝఆίϯαϧςΟϯάύʔτφʔ 4JMWFS1BSUOFS
ࠓճͷ͓ ͜Εɾɾɾ ݄ डୗ։ൃͷ2"ͱͯ͠ ೖࣾͨࣗ͠ಈςετॳ৺ऀͷૣ͕ ձࣾʹࣗಈςετΛಋೖ͢Δ·Ͱͷ͓ ͱ࣮ࡍʹӡ༻ͯ͠ΈͯͲ͏͔ͩͬͨͷ͓Ͱ͋Δ
"VUJGZಋೖഎܠ ೖࣾͯؒ͠ͳࣾ͘ʹݺΕΔૣ &$αΠτͷ৽ن։ൃͷ ςετΛࣗಈԽͤͯ͞ खಈςετʹ͔͔ΔΛ ݮ͍ͨ͠ ʢ༁ɿ&&ςετΛࣗಈԽ͠ ͍ͨʣ
"VUJGZಋೖഎܠ ૣͷεϖοΫ • 2"ΤϯδχΞྺ • ࣗಈԽܦݧ΄΅ͳ͠ • ίʔυॻ͚ͳ͍ コードが書けない⾃分に⾃動化は無理だ・・・ と諦めていたテストエンジニア⼈⽣
डୗ։ൃձࣾͰςετࣗಈԽ ͬͯͰ͖Δͷʁ
डୗ։ൃձࣾͰςετࣗಈԽͰ͖Δͷʁ • ࣗಈԽͬͯظతʹΈͯԿӡ༻͢Δ͔Βίετݮʹ ͭͳ͕Δͷͱ͍͏ೝ͕ࣝ͋ͬͨ • ಋೖ·Ͱͷڥߏங४උʹίετ͕͔͔ΔΠϝʔδ ৽نҊ݅ೖΕସΘΓ͕ଟ͍डୗ։ൃͰͷ ࣗಈԽίετύϑΥʔϚϯε͕ѱ͍ͷͰʁʁʁ
ࣗಈԽʹ͍͍ͯΔςετΛߟ͑ͯΈͨ ࣗಈςετͷछྨ̏छྨ •୯ମςετ ˠϓϩάϥϚʔͷσόοά͚ςετ •౷߹ςετ ˠ୯ମςετͰ௨ͬͨϞδϡʔϧΛΈ߹ΘͤΔςετ •6*ςετ ˠ࣮ࡍʹར༻͢ΔγεςϜͷϢʔβʔϑϩʔʹԊͬͨςετ
ࣗಈԽʹ͍͍ͯΔςετΛߟ͑ͯΈͨ ࠓճͷࣗಈԽ ཁ6*ςετ •ػೳςετ • ίϯϙʔωϯτγεςϜͷػೳ༷ʹج͍࣮ͮͯࢪ͢Δςετ •ʢमਖ਼ʣ֬ೝςετ • मਖ਼֬ೝ͕͍ྃͯ͠Δͷ͔֬ೝ͢Δςετ •ճؼςετ
• ͕ܽؕ৽ͨʹೖΓࠐΜͩΓɺൃݴͨ͠Γ͠ͳ͍͜ͱΛ֬ೝ͢ΔͨΊ͢Ͱ ʹςετࡁΈͷϓϩάϥϜʹର࣮ͯ͠ࢪ͢Δςετ తʹର͢Δߦಈ͕࣮ࡍʹཁٻΛຬ͍ͨͯ͠Δ͔Λ֬ೝ͢Δʢը໘ϕʔεʣ
ࣗಈԽʹ͍͍ͯΔςετΛߟ͑ͯΈͨ • ࣗಈςετͰ༷มߋͳͲ͕͋ΔͱγφϦΦΛݟ ͢ඞཁ͕͋Δ • όάΛݕग़͢Δͷखಈςετͷํ͕ૣ͍ • ࣗಈςετ͕ࣦഊͨ࣌͠ʹݪҼڀ໌ʹ͕͔͔࣌ؒΔ ͭ·ΓόάΛݟ͚ͭΔతͷςετΑΓ όά͕ͳ͍͜ͱ֬ೝ͢ΔΛతʹ͍ͯ͠Δςε
τͷํ͕͍͍ͯΔ
·ͣϊʔίʔυͰ ճؼςετ͔Β ࣗಈςετΛಋೖͯ͠ΈΑ͏ʂ ͱ͍͏͜ͱͰ"VUJGZʹ͍ΔΓ߹͍ʹ ಋೖΛ૬ஊ͍͍ͤͯͨͩͨ͞
ͬͯΈͨ͜ͱ • ӡ༻อकϑΣʔζʹೖͬͨҊ݅Ͱ ϦϦʔεલͱϦϦʔεޙʹճؼςετΛ࣮ࢪ ˠ̎िؒʹ̍ճϦϦʔε͕ൃੜ͢ΔͷͰલͱޙʹ֬ೝςετΛ࣮ࢪ • ৽نߏஙҊ݅ͷ࠷ऴஈ֊Ͱͷ ϦϦʔεఆςετͰࣗಈԽΛಋೖ • $ISPNFͰಈ࡞୲อͨ͠ͷΛଟͰ֬ೝ
ˠಛʹ*&Ͱͷಈ࡞֬ೝ͕ґཔͰདྷΔ͜ͱ͕ଟ͍
࣮ࡍʹӡ༻ͯ͠ϛλ ̎िؒʹ̍ ϦϦʔεલޙʹςετΛ࣮ࢪ͢Δ͜ͱͰ ϦϦʔεఆࡐྉʹͳΔ ΫϦςΟΧϧύεΛ௨͍ͬͯΔͨΊॏେͳ ͕ى͖ͳ͘ͳͬͨ
࣮ࡍʹӡ༻ͯ͠ϛλ ࣮ࢪͨ͠ڥ͝ͱʹ݁Ռ͕ग़ΔͷͰ ௨ৗͷࣗಈςετΑΓ Λݕग़͍͢͠
࣮ࡍʹӡ༻ͯ͠ϛλ ςετڥͱͯ͠ *&&EHFඋ͞Ε͍ͯΔͷͰ ձࣾࢧڅͷ1$͕.BDͰ 8JOEPXTڥͰςετՄೳʂ ϦϞʔτϫʔΫͰςετՄೳʂ
"VUJGZʢςετࣗಈԽʣಋೖͯ͠ Α͔ͬͨ͜ͱ • ϦϦʔεલޙʹ࣮ࢪ͢Δ͜ͱͰ1+ͱͯ͠ͷ࣭ͷ҆৺ײ্͕͕ͬͨ • ςετॳ৺ऀඇΤϯδχΞͰѻ͍͘͢ಋೖ͘͢͠આ໌ ४උ͕ఆΑΓ͔ͬͨ • ̍ڥݟΔ͚ͩͰਫ਼Ұഋͩͬͨ͜ͱ͕ଟͰݟΕΔΑ͏ʹͳͬͨ •
ϦϞʔτͰग़͕ࣾݫ͍͠ͱ͖ʹଟΛ"VUJGZͰΔͱҠಈ࣌ؒݮʂ • ΞαʔγϣϯػೳΛ͏ͱදࣔ֬ೝΓ͍͢ʂ • ςετνʔϜ͕खಈͰΔ͕ݮͬͨ • ʙ͔͔ͬͯͨ࡞ۀ͕ʙͰऴΘΔΑ͏ʹͳͬͨ
"VUJGZʢςετࣗಈԽʣಋೖͯ͠ େมͩͬͨ͜ͱ • ςετ͕શͯύε͞ΕΔΑ͏ʹͳΔͨΊʹԿ͔τϥΠΞϯυ ΤϥʔΛ܁Γฦͨ͠ • SF$"15$)"ΛڬΜͩ߹ͳͲࣗಈԽͰ͖ͳ͍߹͋Δ • ଞͷࣗಈԽπʔϧΛಋೖׂ͠୲ΛͰ͖ΔΑ͏ʹͨ͠ •
Ҋ͕݅ऴྃ͢Δͱߏஙͨ͠ςετΛճ͢͜ͱ͕ͳ͘ͳΔ • ͜͜डୗ։ൃͰͷࣗಈԽͷ՝ • όά͕͋ͬͨͱ͖ʹݪҼੳखॱ֬ೝʹ࣌ؒΛཁ͢Δ • खಈςετͷ߹खॱόάΛϦΞϧλΠϜͰ֬ೝͰ͖Δ
ݕূ݁Ռ डୗձࣾͰςετࣗಈԽͰ खಈςετͷίετݮ͕Ͱ͖Δ
ࠓޙऔΓΈ͍ͨ͜ͱ • ސ٬ଆͱ݁ՌΛ࿈ܞͰ͖ΔΈͮ͘Γ • ݁Ռͷ࿈ܞೲͱͯ͠Ͳ͏"VUJGZΛར༻͍͔ͯ͘͠ • ฐࣾͰಋೖ࣮Λ૿ͯࣗ͠ಈԽͷྠΛ͛Δ • ճؼςετҎ֎Ͱͷࣗಈςετʢ"VUJGZʣͱͷ͖߹͍ ํΛݕ౼
• গਓͰΫΦϦςΟ͕ߴ͍ͷΛੜΈग़ͤΔΈ
࠷ޙʹ ίʔυ͕ॻ͚ͳ͍डୗ։ൃͰͦͦࣗಈԽʹ͍ͯͳ͍ڥͰ "VUJGZͱ͍͏πʔϧʹग़ձ͍ɺ ͣͭ͢͜͠Ͱ͋Γ·͕͢ςετͷࣗಈԽΛ͡Ί खಈςετͷΛݮ͢Δ͜ͱʹޭ͠·ͨ͠ɻ खಈςετઈରʹແ͘ͳΓ·ͤΜ͕ɺ ࣗಈςετΛಋೖ͢Δ͜ͱͰಉ͡Ͱखಈςετͷׂͷ෯Λ͛ͨΓ 2"ݟΕΔੈքΛ͛Δ͜ͱ͕Ͱ͖Δͱ࣮ײ͠·ͨ͠ɻ ςετΤϯδχΞͷํಉ͡ίʔυ͕ॻ͚ͳ͍2"ΤϯδχΞʹࠂ͙ ʮࣗಈԽΖ͏ͱࢥ͑Ͱ͖ΔͧʂఘΊΜͳʂʯ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠