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
AI自動テストツールMagic Podでテストをもっと簡単に
Search
Nozomi Ito
September 30, 2020
Technology
1
730
AI自動テストツールMagic Podで テストをもっと簡単に
BPStudy#157〜システムテスト自動化を始めよう(
https://bpstudy.connpass.com/event/188216/
) の発表スライドです。
Nozomi Ito
September 30, 2020
Tweet
Share
More Decks by Nozomi Ito
See All by Nozomi Ito
ノーコードに学ぶE2Eテスト自動化ベストプラクティス
nozomiito
0
970
ノーコードE2Eテストで実現する高速開発
nozomiito
0
680
MagicPodで実現するE2Eテスト自動化
nozomiito
0
3.6k
MagicPod開発におけるテスト自動化とCI
nozomiito
0
810
最近のMagicPodまとめ
nozomiito
0
630
テスト自動化スタートアップがエバンジェリストを募集するワケ
nozomiito
0
320
MagicPodが取り組むテスト自動化最前線
nozomiito
0
490
ロケーターを学んでテスト自動化上級者を目指そう
nozomiito
1
8.3k
テスト自動化で起業した10年とテスト自動化普及の歴史を振り返る
nozomiito
4
2.5k
Other Decks in Technology
See All in Technology
隙間ツール開発のすすめ / PHP Conference Fukuoka 2025
meihei3
0
410
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
310
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
11
2.2k
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
1
480
re:Invent完全攻略ガイド
junjikoide
1
310
【M3】攻めのセキュリティの実践!プロアクティブなセキュリティ対策の実践事例
axelmizu
0
110
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
140
Flutter DevToolsで発見! 本番アプリのパフォーマンス問題と改善の実践
goto_tsl
1
500
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.5k
エンジニアに定年なし! AI時代にキャリアをReboot — 学び続けて未来を創る
junjikoide
0
180
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
230
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
2
2.6k
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Side Projects
sachag
455
43k
It's Worth the Effort
3n
187
28k
Code Review Best Practice
trishagee
72
19k
The Cost Of JavaScript in 2023
addyosmani
55
9.2k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Transcript
"*ࣗಈςετπʔϧ.BHJD1PEͰ ςετΛͬͱ؆୯ʹ גࣜձࣾ53*%&/5 ҏ౻
"CPVUNF • ҏ౻ *UP/P[PNJ • גࣜձࣾ53*%&/5දऔక • ʮຊ4FMFOJVNϢʔβʔίϛϡχςΟʯӡӦ •
ஶॻ
.BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳհ ΞδΣϯμ
.BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳհ
.BHJD1PEͱ • "*ٕज़Λ׆༻ͨ͠γεςϜςετ 6*ςετ ࣗಈԽΫϥυ αʔϏε • 8FCαΠτͱϞόΠϧΞϓϦͷςετʹରԠ • ແྉ൛͋Γ
• 5XJUUFS͍ͬͯ·͢ !53*%&/5*OD .BHJD1PEͷ֓ཁ
γεςϜςετࣗಈԽͷ՝ .BHJD1PEͷ֓ཁ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの 理解が難しい
UIが変わるとテストが 動かなくなる
.BHJD1PEʹΑΔιϦϡʔγϣϯ .BHJD1PEͷ֓ཁ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの 理解が難しい
UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂
ରԠڥ ςετσʔλอଘઌ .BHJD1PEͷ֓ཁ クラウド Magic Pod クラウド ローカル 外部クラウド (※)
モバイルアプリ(ネイティブ) ◦ ◦ ◦ モバイルアプリ(WebView) ◦ ◦ ◦ Webサイト(デスクトップ) 今後対応 ◦ ◦ Webサイト(モバイルエミュレート) 今後対応 ◦ ◦ Webサイト(モバイル実機) 今後対応 今後対応 今後対応 ςετ࣮ߦڥ ˞#SPXFS4UBDL)FBE4QJO3FNPUF5FTU,JU4BVDF-BCT
.BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳհ
ϞόΠϧΞϓϦςετ .BHJD1PEΫϥυ σϞ ςετฤूը໘ .BHJD1PE Ϋϥυ
σϞ ϞόΠϧΞϓϦςετ .BHJD1PEΫϥυ σϞ https://www.youtube.com/watch/IrK3g-0_Ypc
8FCαΠτςετ ϩʔΧϧ σϞ ςετฤूը໘ .BHJD1PE%FTLUPQ ςετରαΠτ
8FCαΠτςετ ϩʔΧϧ σϞ σϞ https://www.youtube.com/watch/ReFpfzpieEk
.BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳհ
"*Λ͍ͬͯΔͱ͜Ζ r ͦͷ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの
理解が難しい UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂ "*ͷ׆༻
͔Γ͍͢આ໌จ "*ͷ׆༻ r ͔Γ͍͢આ໌จ 要素説明⽂: AIロジックで計算 ⾃由に書き換え可能 システム(Appium)ロケータ: 要素ツリーから計算 テスト実⾏時はこちらを利⽤
ཁૉઆ໌จͷܭࢉʹ͍ͬͯΔใ "*ͷ׆༻ r ͔Γ͍͢આ໌จ • 6*πϦʔใଐੑɺςΩετɺλά໊ɺʑ • ཁૉͲ͏͠ͷҐஔؔ
ཁૉઆ໌จͷܭࢉʹ͍ͬͯΔใ "*ͷ׆༻ r ͔Γ͍͢આ໌จ • 0$3 ը૾͔Βͷจࣈೝࣝ • σΟʔϓϥʔχϯά ʹΑΔମछྨೝࣝ
"*Λ͍ͬͯΔͱ͜Ζ r ͦͷ 環境構築が 難しい スクリプトを 書くのが難しい 作成したテストが うまく動かない 他の⼈が作ったテストの
理解が難しい UIが変わるとテストが 動かなくなる クラウドで 簡単環境構築 画⾯要素を選んで テスト作成 エキスパートによる 安定化の努⼒ AIがスクリプトを ⾃動修復 画像 + AIによる 分かりやすい説明⽂ "*ͷ׆༻
ࣗಈम෮ ηϧϑώʔϦϯά ͱ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ • ςετରͷը໘ߏ͕มΘͬͯཁૉ͕ݟ͔ͭΒͳ͘ͳͬͨ ߹ʹɺ"*͕ը໘ʹ߹ΘͤͯεΫϦϓτଆΛࣗಈमਖ਼ •
ࣅͨίϯηϓτɺ251ͷ࣌ΑΓݟΒΕΔ ͨͿΜ https://www.finddevguides.com/s/qtp/qtp_smart_identification
.BHJD 1PEͷࣗಈम෮ σϞ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ HVFTUOBNF ʹΛηοτ CVUUPO<UFYU
b࣍`>ΛΫϦοΫ ϖʔδ͕मਖ਼͞Εͨʂ JEHVFTUOBNF JEHVFTU@OBNF ςετεΫϦϓτ ࣮ߦ͢ΔͱͲ͏ͳΔ
"*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ .BHJD1PEͷࣗಈम෮ σϞ https://www.youtube.com/watch/WcQ9lBatJpg
• ςετ࡞࣌ ϩέʔλͱ)5.-શମΛอ࣋ • ςετࣦഊ࣌ ςετ࡞࣌ͱ࣮ߦ࣌ͷ)5.-Λൺֱͯ͠ɺྨࣅ ͕ߴ͍ཁૉ͕͋Εར༻ ࣗಈम෮ͷΈ "*ͷ׆༻ r
ςετεΫϦϓτࣗಈम෮
ࣗಈम෮ͷΈ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ テスト作成時ロケータ テスト実⾏時HTML テスト作成時HTML 修復後の新ロケータ
• ཁૉͷ֤छଐੑɺҐஔɺଞͷཁૉͱͷࢠؔɺʑ • 0$3݁Ռ • σΟʔϓϥʔχϯάʹΑΔମछྨೝࣝ • ػցֶशʹΑΔॏΈ͚ͷௐಛʹ͍ͯ͠ͳ͍ - ը໘मਖ਼લޙͷϖʔδαϯϓϧ͕গͳ͗͢ΔͨΊ
ྨࣅൺֱͷج४ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮
• ΤϥʔΛݟͯɺʮ͜ΜͳΜ"*͕ͳΜͱ͔͠ΖΑʂʯͱࢥͬͨ࣌ͷ ͨΊʹɺվળϦΫΤετϘλϯΛ༻ҙ • ࠓޙܧଓվળ͍͖ͯ͠·͢ʂ "*ͷܧଓతվળ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮
.BHJD1PEͷ֓ཁ σϞ "*ͷ׆༻ ػೳհ
ػೳհ • "*Ҏ֎ʹ.BHJD1PEʹػೳ͕ͨ͘͞Μ • ֤छػೳΛۦ͚Ͱ͝հ
ػೳհ ϞόΠϧ
ΫϥυγϛϡϨʔλ ϞόΠϧ ػೳհ • ϩʔΧϧڥΑΓ҆ఆɾߴ • ࣮ػ͡Όͳ͍ͷͰ͍҆
Ϋϥυ࣮ػ ϞόΠϧ • #SPXTFS4UBDL 4BVDF-BCT 3FNPUF5FTU,JU )FBE4QJO ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ͕ඞཁ •
աڈػछ͔Β࠷৽ػछ·Ͱ๛ͳἧ͑ ػೳհ SauceLabs Remote TestKit
Ϋϩεςετ ϞόΠϧ • ৭ʑͳόʔδϣϯػछͷΈ߹ΘͤͰฒྻྻ࣮ߦ ػೳհ
֤छૢ࡞ ϞόΠϧ • ͞·͟·ͳίϚϯυΛ༻ҙ • ϚχΞοΫͳͷ৭ʑ ػೳհ
ը૾Ξοϓϩʔυ ϞόΠϧ • ʹςετ༻ͷը૾ΛՃ ػೳհ
ϐοΧʔૢ࡞ ϞόΠϧ • εϫΠϓํΛࣗಈਪఆ ػೳհ
8FC7JFXαϙʔτ ϞόΠϧ • $PSEPWBΞϓϦ .POBDBΞϓϦʹରԠ ػೳհ
ػೳհ 8FC
֤छϒϥβૢ࡞ 8FC • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳհ
Ϋϩεϒϥβ 8FC ػೳհ • ֤छϒϥβʹରԠ
֎෦Ϋϥυ࿈ܞ • #SPXTFS4UBDL 4BVDF-BCT ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ ͕ඞཁ • ༷ʑͳϒϥβόʔδϣϯɾ04Ͱར༻Մೳ ػೳհ
SauceLabs BrowserStack
*&҆ఆԽରԠ 8FC ػೳհ • ҆ఆ͠ͳ͍*&Λ҆ఆͤ͞Δʑͷྗ https://www.slideshare.net/hirokotamagawa/20200516-seleniummeetupwinappdriver
ϑΝΠϧμϯϩʔυΞοϓϩʔυ 8FC ػೳհ
Ξϥʔτ༰ը໘Ωϟϓνϟ 8FC ػೳհ • ҙ֎ͱ࣮ݱ͕͍͠ػೳ
ػೳհ શൠ
νΣοΫ ػೳհ • ༷ʑͳ݅ͰظνΣοΫ
݅ذ ػೳհ • ʮμΠΞϩά͕ग़ͨͱ͖͚ͩλοϓ͢ΔʯͳͲͷ༻్ʹ
ڞ༗εςοϓ ػೳհ • ܁Γฦ͠ར༻͢Δॲཧڞ௨Խ
σʔλۦಈςετ ػೳհ • ύϥϝʔλΛม͑ͯɺಉ͡ςετΛԿ࣮ߦ
ϖʔδը૾ΛෳςετͰڞ༗ ػೳհ • 6*ϨϙδτϦɺ6*ϚοϓͷΑ͏ʹ͑Δ
ϩέʔλมߋ ػೳհ • ༷ʑͳީิ͔Β͖ͳͷΛબՄೳ
ม ػೳհ • ը໘্ͷͳͲΛอଘͯ͠ޙଓॲཧʹར༻Մೳ
ڞ༗ม ػೳհ • શςετͰڞ༗͞ΕΔύϥϝʔλ
γʔΫϨοτม ػೳհ • ϩάʹग़ͨ͘͠ͳ͍ϚεΩϯά
ม ػೳհ • ʮ໌ͷΛೖྗʯͳͲͷ༻్ʹ
γεςϜม ػೳհ • ಛఆͷϒϥβ04Ͱ͚ͩߦ͍͍ͨॲཧʹ
)551ϦΫΤετૹ৴ ػೳհ • %#ͷνΣοΫσʔλΫϦΞͳͲʹ
&NBJMͷςετ ػೳհ • ʮ)551ϦΫΤετૹ৴ʯͱʮਖ਼نදݱϚονʯͷΈ߹Θͤ - (NBJMʹૹ৴͞Εͨ༰ͷνΣοΫ - (NBJMʹૹ৴͞ΕͨϦϯΫΛΫϦοΫ • IUUQTXXXUSJEFOURBDPNNBHJDQPEFNBJMUFTUJOH
ςετέʔεϥϕϧ ػೳհ • ςετʹϥϕϧΛ༩Մೳ • ϥϕϧΛࢦఆ PSআ֎ ͯ͠ςετҰׅ࣮ߦՄೳ
εέδϡʔϧ࣮ߦ ػೳհ • ຊ൪ڥͷࢹͳͲʹ
$*࿈ܞ $JSDMF$* +FOLJOT ͳͲ ػೳհ • 8FC"1*ίϚϯυϥΠϯ࣮ߦͷػೳͰ࿈ܞՄೳ
$*࿈ܞ #JUSJTF ϞόΠϧ ػೳհ • #JUSJTF 4UFQͰ(6*ઃఆՄೳ
ίϝϯτ ػೳհ
ίϐʔɾషΓ͚ ػೳհ
ฤूΛݩʹ͢ɾΓ͢ ػೳհ
෦ςετ࣮ߦ ػೳհ
ςετ݁Ռը໘Ωϟϓνϟμϯϩʔυ ػೳհ • ΤϏσϯεऔಘը૾ൺֱʹ
ը૾ࠩൺֱϨϙʔτ ػೳհ • ը໘ΩϟϓνϟμϯϩʔυͱSFHDMJͷΈ߹ΘͤͰ࣮ݱ • IUUQTCMPHUSJEFOURBDPNSFHDMJNBHJDQPEFF
ϝϯόʔݖݶཧ ػೳհ • ϓϩδΣΫτ୯ҐͰͷݖݶઃఆ͕Մೳ
ଓݩ*1੍ݶ ػೳհ • ΤϯλʔϓϥΠζϓϥϯͷػೳ
ӳޠར༻Մೳ ػೳհ • ւ֎ͰΘΕ͍ͯ·͢
8FBSFIJSJOH ͍͞͝ʹ ςΫϊϩδʔͷྗͰςετͷੈքΛม͍͑ͨ ΤϯδχΞͷํΛืूத https://www.trident-qa.com/recruit/
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ