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
530
受託開発会社でテスト自動化をやってミタ
Autify Meetup ~Autify導入・運用実践者にそのノウハウを聞いてみる編~
開催日時 : 2021年1月28日 (木) 16:30 - 18:00
の登壇にて使用した資料になります
こだ
March 03, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
330
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
390
SourceGeneratorのマーカー属性問題について
htkym
0
170
あなたはユーザーではない #PdENight
kajitack
4
340
CSC307 Lecture 12
javiergs
PRO
0
460
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
360
株式会社 Sun terras カンパニーデック
sunterras
0
2k
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
680
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
250
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
280
TipKitTips
ktcryomm
0
160
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
170
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Limits of Empathy - UXLibs8
cassininazir
1
240
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Building Applications with DynamoDB
mza
96
6.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
Color Theory Basics | Prateek | Gurzu
gurzu
0
230
KATA
mclloyd
PRO
35
15k
A Tale of Four Properties
chriscoyier
163
24k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
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"ΤϯδχΞʹࠂ͙ ʮࣗಈԽΖ͏ͱࢥ͑Ͱ͖ΔͧʂఘΊΜͳʂʯ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠