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
Karateによる UI Test Automation 革命 / UITests-Autom...
Search
Takanori Suzuki
November 30, 2019
Technology
410
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Karateによる UI Test Automation 革命 / UITests-Automation-with-Karate
システムテスト自動化カンファレンス2019
KarateによるUIテスト革命
Takanori Suzuki
November 30, 2019
More Decks by Takanori Suzuki
See All by Takanori Suzuki
Amazon Bedrock で生成AI活用サービスをセキュアに構築する方法
takanorig
2
230
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
6
3.8k
ChatGPTとKarateで実現するシン・BDD / Realizing New BDD through ChatGPT and Karate
takanorig
2
3.8k
KarateによるBDDベースのAPIテスト / BDD based API-Testing with Karate
takanorig
1
1.1k
AIカメラで社内販売の品切れを検知して残念な結果になるのを回避した話 / Detecting out of stock items with using AI Camera
takanorig
0
2.3k
フル・サーバーレスでサービスを作る話 / Make the full-stack-serverless service
takanorig
1
330
IoTサービスのエッジからクラウドまでServerlessFrameworkで構築する / Deploying-IoT-Service-from-Edge-to-Cloud-with-ServerlessFramework
takanorig
0
360
[SORACOMUG]S+Cameraを利用して在庫チェックをやってみた / InventoryManagement-with-SORACOM-SCAMERA
takanorig
0
110
スマート工場に向けたIoTデータ分析の実際のところ / SmartFactory-IoT-Data-Analytics
takanorig
0
210
Other Decks in Technology
See All in Technology
5分でわかるDuckDB Quack
chanyou0311
4
310
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
550
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
530
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
240
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
1
360
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
0
1.2k
Baseline対応のDOMの型定義を作った
uhyo
3
690
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
0
690
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
10
1.1k
SRE Lounge Hiroshimaへの招待
grimoh
0
180
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
310
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Visualization
eitanlees
152
17k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
580
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
450
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Making the Leap to Tech Lead
cromwellryan
135
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Statistics for Hackers
jakevdp
799
230k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
1 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
Karate による UI Test Automation ⾰命 2019/11/30 Acroquest Technology Co., Ltd. 鈴⽊ 貴典
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2
⾃⼰紹介 n 所属 • Acroquest Technology Co., Ltd. n 主な業務分野 • システムアーキテクト • IoTサービス開発 • ビッグデータ処理プラットフォーム • サーバーレス・アーキテクチャ n バックグラウンド • エンタープライズ/ミッションクリティカル • SEPG/開発/マネジメント • Java/Python 鈴⽊ 貴典 シニアテクニカルアーキテクト Acro = 先端を quest = 探究する
Acroquestのミッション・ビジョン Copyright © Acroquest Technology Co., Ltd. All rights reserved.
3 テクノロジストチームとして ビジネスの⾰新的価値創出に挑戦する ビジョン Acroquestの創り出す技術で 地球を感動で進化させる ミッション
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4
テスト⾃動化における 課題
テスト⾃動化における課題 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
5 • Integration/UIの テストを作成する 難易度が⾼い • そもそも テスト⾃動化エンジニア がいない • メンテナンスコストが ⾼い
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6
⾃動化が必要なのは 分かっている。 でも、 できていない、 挫折してしまう。。。 そういった問題を どうにかしたい︕
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7
Karate Web-Services Testing Made Simple
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8
Karate Web-Services Testing Made Simple Test Automation Made Simple
幅広いテストに対応 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
9 テストダブル (モック) APIテスト UIテスト 性能テスト REST-API GraphQL gRPC WebSocket ファイル ブラウザ Windowsアプリ Android/iOS (Appium) バックエンドのモック化 Gatling連携
Karateによるテスト⾃動化 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
10 • 単⼀のツールで 幅広いテストに対応可能 • DSL(Garkin記法)で シナリオテストが可能 (Non-Programming) • 学習コストが低い
GitHub stars of Karate Copyright © Acroquest Technology Co., Ltd.
All rights reserved. 11 2019-11-30 2575 Stars
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12
① テスト⾃動化 対応スピードの 向上 ② テスト⾃動化 導⼊プロジェクト の拡⼤ ③ ⾃動化範囲が 広くなったこと による安⼼感 Karateによって私たちが得られたこと
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13
Karate による UIテスト
KarateによるUIテストのシナリオ Copyright © Acroquest Technology Co., Ltd. All rights reserved.
14 Feature: Browser testing automation Background: * configure driver = { type: 'chrome' } Scenario: Search intuit/karate in GitHub * def keyword = 'karate’ Given driver 'https://github.com/search’ And waitUntil(”document.title == 'Code Search · GitHub’”) And input('input[name=q]', keyword) When submit().click('#search_form button.btn‘) Then match driver.title == 'Search · karate · GitHub’ And match text('li.repo-list-item h3:first-child a') == 'intuit/karate' * screenshot() KarateDriverを利⽤したUIテスト WebDriverの指定 画⾯オープン 画⾯⼊⼒ 画⾯遷移 結果の確認 画⾯キャプチャ
KarateによるUIテストのメリット Copyright © Acroquest Technology Co., Ltd. All rights reserved.
15 ③テストレポートの 出⼒ ①UIテストの ユニットテスト化 • VS Code プラグインよる 効率的なテスト作成/実⾏ • 単発/連続したシナリオの実⾏ ②バックエンドに対する 操作も考慮した シナリオの構築 • DSLによる直観的なテストケース記述 • JavaやJSの処理を呼び出すことができ、 環境の初期化や非同期処理にも対応可能 • テストレポートの⾃動出⼒ • 画⾯キャプチャの⾃動取得
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16
実現したかったこと テストの効率化 =
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17
実現したかったこと テストの効率化 プロダクトの品質向上 =
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18
実現したかったこと テストの効率化 プロダクトの品質向上 QoLの向上 =
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19
テスト⾃動化が 容易になる テストの アジリティが 向上する エンジニアが 楽になる プロダクトの 質が向上する ユーザーも よろこぶ ⼈々の⼈⽣の質が 向上する
Evolve the Earth with Emotion of Technology Copyright © Acroquest
Technology Co., Ltd. All rights reserved. 20 Quality of Testing for Quality of Life
参考 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
21 1. Karate – GitHub • https://github.com/intuit/karate 2. Karate for Complex Web-Service API Testing (Peter Thomas) • https://www.slideshare.net/intuit_india/karate-for-complex-webservice-api-testing-by-peter-thomas 3. APIテスト⾃動化ツール「Karate」のまとめ • https://qiita.com/takanorig/items/46098b066f1216e3ca89 4. マイクロサービスにおけるテスト⾃動化 with Karate (Takanori Suzuki) • https://www.slideshare.net/takanorig/microservices-test-automation-with-karate/ 5. Example for Karate Standalone (Takanori Suzuki) • https://github.com/takanorig/example-karate-standalone