Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
受託開発会社でテスト自動化をやってミタ
こだ
March 03, 2021
Programming
0
280
受託開発会社でテスト自動化をやってミタ
Autify Meetup ~Autify導入・運用実践者にそのノウハウを聞いてみる編~
開催日時 : 2021年1月28日 (木) 16:30 - 18:00
の登壇にて使用した資料になります
こだ
March 03, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
NGK2023S - OCaml最高! スマホ開発にも使えちゃう?!
haochenxie
0
120
Remote SSHで行うVS Codeリモートホスト開発とトラブルシューティング
smt7174
1
510
Refactor with using `available` and `deprecated`
417_72ki
3
380
Git Rebase
bkuhlmann
10
1.2k
23年のJavaトレンドは?Quarkusで理解するコンテナネイティブJava
tatsuya1bm
1
130
TSX First な Zero-Runtime SSG potato4d/dodai とその仕組み / owned static site generator #kyotojs
potato4d
0
390
CDKでValidationする本当の方法 / cdk-validation
gotok365
1
220
SwiftPMのPlugin入門 / introduction_to_swiftpm_plugin
uhooi
2
110
What's new in Shopware 6.5
shyim
0
110
[2023년 1월 세미나] 데이터 분석가 되면 어떤 일을 하나요?
datarian
0
610
Remix + Cloudflare Pages + D1 で ポケモン SV のレンタルチームを検索できるアプリを作ってみた
kuroppe1819
4
1.4k
Prácticas de Seguridad en Kubernetes
pablokbs
0
130
Featured
See All Featured
Robots, Beer and Maslow
schacon
154
7.3k
Debugging Ruby Performance
tmm1
67
11k
Embracing the Ebb and Flow
colly
75
3.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
338
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Six Lessons from altMBA
skipperchong
15
2.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
22
43k
Building a Scalable Design System with Sketch
lauravandoore
451
31k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
182
15k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
The Invisible Customer
myddelton
113
12k
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"ΤϯδχΞʹࠂ͙ ʮࣗಈԽΖ͏ͱࢥ͑Ͱ͖ΔͧʂఘΊΜͳʂʯ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠