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
シナリオに依存しないテストの基盤作ってます / We're developing an inf...
Search
Kuniwak
PRO
October 02, 2019
Programming
3
510
シナリオに依存しないテストの基盤作ってます / We're developing an infrastracture for tests not depending schenarios
https://testnight.connpass.com/event/145238/
一度非公開にしていましたが、再公開しました。
Kuniwak
PRO
October 02, 2019
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.6k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
320
テストケースの名前はどうつけるべきか?
orgachem
PRO
2
560
欠陥を早期に発見するための Software Engineer in Test とその重要性 / What is Software Engineer in Test and How they works
orgachem
PRO
21
4.4k
住宅を WebXR で評価しよう / Evaluating My Home by WebXR
orgachem
PRO
0
170
HOME VR
orgachem
PRO
1
810
uGUI の自動操作の考え方と操作方法
orgachem
PRO
1
1.5k
Swift Macro に備えて構文木を 10min で学ぶ / Learn Syntax Tree for Swift Macro in 10 minutes
orgachem
PRO
1
1.4k
SoftWare Engineer in Test のおしごと / What is SWET
orgachem
PRO
1
1.2k
Other Decks in Programming
See All in Programming
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
170
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
220
Flutterと Vibe Coding で個人開発!
hyshu
1
220
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
740
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1.1k
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
250
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
3
510
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
440
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
230
JetBrainsのAI機能の紹介 #jjug
yusuke
0
180
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Documentation Writing (for coders)
carmenintech
73
5k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Scaling GitHub
holman
461
140k
RailsConf 2023
tenderlove
30
1.2k
Java REST API Framework Comparison - PWX 2021
mraible
32
8.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
KATA
mclloyd
31
14k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Music & Morning Musume
bryan
46
6.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Transcript
γφϦΦʹґଘ͠ͳ͍ ςετͷج൫࡞ͬͯ·͢ $*$%5FTU/JHIU ,VOJXBL
ൃදͷྲྀΕ ԿΛ$*ʹࡌ͍ͤͨͷ͔ $*ʹࡌͤΔࡍͷ՝ EFWGBSNʢ·ͩະެ։ʣͷհ
ԿΛ$*ʹࡌ͍ͤͨͷ͔
࠷ۙͷΈ ϞόΠϧήʔϜͷόάΛͰ͖Δ͚ͩ खલͷϑΣʔζͰݟ͚͍ͭͨ ཁ͢Δʹ୯ମςετͱ͔Ͱ ݟ͚ͭΒΕΔͳΒͱͯخ͍͕͠ʜ
୯ମςετͭΒ͍ ήʔϜΤϯδϯ߹ͷ ίϯϙʔωϯτׂΛڧ੍͞Εɺ ҙຯͷ͋ΔཻͰͷׂΛ ͮ͠Β͍ʢΓํ͋Δ͕ʣ
୯ମςετͭΒ͍ ͭ·Γɺ୯ମςετॻ͚Δ͚Ͳ ԿΘ͔Βͳ͍͜ͱ͕ଟ͍
Ͱ݁߹ςετʁ ݁߹ςετ͋·ΓʹͭΒ͍ɿ w ͙͢յΕΔ w ͭͷςετέʔεͰ ௐΒΕΔܦ࿏͘͝Θ͔ͣ
Ͱ6*ςετʁ 6*ςετอक͕ͭΒ͍ɿ w γφϦΦ͙͢յΕΔ w ͦͦγφϦΦ͕ಈ͘·Ͱ ࢼߦαΠΫϧͯͭ͘Β͍
݁ʢʁʣ ήʔϜͷςετԿͬͯͭΒ͍
ͷཧ w ઃܭʹࠨӈ͞ΕΔͱݫ͍͠ w ݁߹Λ૿͢ͱյΕͯ͘͢ݫ͍͠ w ࢼߦαΠΫϧ͍ͱݫ͍͠
ͷཧ w ͜ΕΒΛશͯճආ͢Δͪΐ͏Ͳ͍͍ ςετ͕࣮͋Δʜ
ͷཧ w ୯ମςετͰҙຯΛ࣋ͨͤͮΒׂཻ͍ w ݁߹Ϩϕϧ্͛ΕճආՄೳ w ͲͷΑ͏ʹׂɾ݁߹͞Εͯ ݁߹ͯ͠͠·͑ςετͰ͖Δ
ͷཧ w ݁߹Λ૿͢ͱյΕͯͭ͘͢Β͍ w ಛఆͷೖग़ྗΛݕূ͢ΔͳΒ յΕΔͷճආͰ͖ͳ͍ w Ұൠతͳੑ࣭ͷݕূͳΒճආՄೳ
ͷཧ w ࢼߦαΠΫϧ͍ͱݫ͍͠ w खಈͰେྔʹ࡞Δͱ͖ w ೖग़ྗͷࣗಈੜͰ؇Մೳ
ͭ·Γʜ ԼͷςετͳΒήʔϜͰޮՌతɿ w ݁߹Ϩϕϧ͕ߴ͘ɺ w Ұൠతͳੑ࣭Λݕূ͠ɺ w ೖग़ྗࣗಈͰੜ͞ΕΔ
ͦΜͳςετ͋Δͷ͔ʁʁʁ ͋Γ·͢
6*ϨΠϠʔͷ ϞϯΩʔςετ 6*ૢ࡞ΛࣗಈͰແ࡞ҝʹ࣮ߦ͠ɺ ΫϥογϡύϑΥʔϚϯεΛ ൃݟ͢Δํ๏ʢΦʔτϓϨΠͷҰछʣ
#VUUPO" ͭʹߜΓࠐΉ ⁞ૢ࡞ՄೳͳͷΛબ ແ࡞ҝʹૢ࡞Λ࣮ߦ #VUUPO# #VUUPO$ #VUUPO% #VUUPO" #VUUPO# #VUUPO"
5BQ
զʑ͕$*ʹࡌ͍ͤͨͷ ήʔϜͰݱ࣮త͔ͭޮతͳ ςετͱͯ͠ɺ6*ϨΠϠʔͷ ϞϯΩʔςετΛࡌ͍ͤͨʂ
طଘπʔϧ "QQJVN"MU6OJUZ5FTUFS͕༗໊ ͜ΕΒ͑ͳ͍͜ͱͳ͍͕ɺ ૢ࡞Մೳͳͷͷબ͕खؒͩ͠ɺ πʔϧͷఆ֎ͷ༻్ͳͷͰةݥ
ͭʹߜΓࠐΉ ⁞ૢ࡞ՄೳͳͷΛબ ແ࡞ҝʹૢ࡞Λ࣮ߦ ͕͜͜طଘπʔϧͩͱͭΒ͍ #VUUPO" #VUUPO# #VUUPO$ #VUUPO" #VUUPO# #VUUPO"
5BQ
ΞϓϦʹຒΊࠐΉํࣜΛ࠾༻ ΞϓϦͷϏϧυ࣌ʹ͜ͷૢ࡞πʔϧΛ ຒΊࠐΉ͜ͱͰɺطଘπʔϧͷ໘ͳ ෦Λղܾ ΞϓϦΛىಈ͢Εςετ͞ΕΔ
$*ʹࡌͤΔࡍͷ՝
Ͳ͜ͰΞϓϦΛಈ͔͔͢ ࣮ࡍʹΞϓϦΛಈ͔͢ඞཁ͕͋ͬͯɺ ࣮ͨͩ͠ػͰ͋Δඞཁੑͦ͜·Ͱ ߴ͘ͳ͍ ͨ͘͞Μԣʹฒͯಈ͔͍ͨ͠͠ɺ γϛϡϨʔλ͑ΔͳΒ͕͍͍ͦͬͪ
γϛϡϨʔλΫϥυʜʁ J04"OESPJEͷ࣮ػσόΠεΛΫϥυͰ ࣮ߦ͢ΔαʔϏε͍͔ͭ͘ΒΕ͍ͯΔ ͔͠͠γϛϡϨʔλΛΫϥυͰ࣮ߦ͢Δ αʔϏεΘ͔ͣʹ͋Δ͕͍ͮΒ͍ʜ
ݱঢ়ͷํ কདྷతʹγϛϡϨʔλͰಈ͔͍͕ͨ͠ ࠓ·࣮ͩػ͔͠ͳ͍ͷͰɺ Ҡߦίετͷগͳ͍ঢ়ଶΛอͪͭͭɺ ૣΊʹऔΓΈ͍ͨ
ͦ͜ͰEFWGBSN ࣮ػͱγϛϡϨʔλͷΓସָ͕͑Ͱɺ σόΠεΫϥυ্ͰΞϓϦͷىಈঢ়گΛ ཧ͢Δπʔϧ ·ͩະެ։͚ͩͲকདྷతʹ044༧ఆ
EFWGBSNͷհ
EFWGBSNͰͰ͖Δ͜ͱ w ࢦఆͨ͠σόΠεΫϥυ04ػछ ΞϓϦҾͰΞϓϦΛىಈ w ΞϓϦ͕Ϋϥογϡͨ͠ΒίϚϯυΛ ҟৗऴྃɺࢦఆ࣌ؒੜଘͨ͠Βਖ਼ৗऴྃ
͑ɺͦΕ͚ͩʜ
ཧ༝͕ʜ͋Γ·͢ʜ
EFWGBSNͷࢥ ࣮ػɾγϛϡϨʔλɾσόΠεΫϥυΛ Θͣɺಉ͡ΠϯλʔϑΣʔεͰ ىಈɾऴྃ͢Δ͜ͱͷΈʹઐ೦͢Δ ಛఆͷ݅Ͱ͔͠αϙʔτͰ͖ͳ͍ػೳ αϙʔτ͠ͳ͍ʢػೳͷੵू߹ओٛʣ
$ devfarm run-ios --os-version 12.0 \ --device 'apple iphone xs'
\ --instance-group 'example' \ --platform 'aws-device-farm' \ --ipa 'path/to/app.ipa' \ --args-json '["-ARG1", "HELLO_DEVFARM"]' \ --lifetime-sec 900 & platform status aws-device-farm launching J04ΞϓϦΛͭىಈ
$ devfarm status --instance-group 'example' platform device os state note
aws-device-farm apple iphone xs ios ACTIVE ىಈ͍ͯ͠ΔΞϓϦͷ֬ೝ
$ devfarm halt --instance-group 'example' platform status aws-device-farm halting ΞϓϦͷڧ੍ऴྃ
instance_groups: <group>: # for Android - platform: <platform> # required
android: <version> # required device: <decice> # required apk: <filepath> # required app_id: <app_id> # required intent_extras: [] # optional lifetime_sec: 900 # required $ devfarm run-all planfile.yml ෳΞϓϦͷҰׅىಈ
EFWGBSNͱ ࣮ػͱγϛϡϨʔλͷΓସָ͕͑Ͱɺ σόΠεΫϥυ্ͰΞϓϦͷىಈঢ়گΛ ཧ͢Δπʔϧ ·ͩະެ։͚ͩͲকདྷతʹ044༧ఆ
·ͱΊ w ϞόΠϧήʔϜʹޮతͰ ݱ࣮తͳςετΛೖΕ͍ͨʂ w ݱࡏͷπʔϧΫϥυͷঢ়گͰ ಈ͔ͤͯɺকདྷΛݟӽͨ͠ πʔϧΛ࡞Γ·ͨ͠ w 044ԽͰ͖ͨΒͥͻ͓ࢼ͠Λ