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
0
260
Karateによる UI Test Automation 革命 / UITests-Automation-with-Karate
システムテスト自動化カンファレンス2019
KarateによるUIテスト革命
Takanori Suzuki
November 30, 2019
Tweet
Share
More Decks by Takanori Suzuki
See All by Takanori Suzuki
ChatGPTとKarateで実現するシン・BDD / Realizing New BDD through ChatGPT and Karate
takanorig
2
3.3k
KarateによるBDDベースのAPIテスト / BDD based API-Testing with Karate
takanorig
1
790
AIカメラで社内販売の品切れを検知して残念な結果になるのを回避した話 / Detecting out of stock items with using AI Camera
takanorig
0
2k
フル・サーバーレスでサービスを作る話 / Make the full-stack-serverless service
takanorig
1
260
IoTサービスのエッジからクラウドまでServerlessFrameworkで構築する / Deploying-IoT-Service-from-Edge-to-Cloud-with-ServerlessFramework
takanorig
0
300
[SORACOMUG]S+Cameraを利用して在庫チェックをやってみた / InventoryManagement-with-SORACOM-SCAMERA
takanorig
0
62
スマート工場に向けたIoTデータ分析の実際のところ / SmartFactory-IoT-Data-Analytics
takanorig
0
120
人生がときめくAPIテスト自動化 with Karate / SparkingJoy-for-API-Testing-Automation-with-Karate
takanorig
0
580
マイクロサービスにおけるテスト自動化 with Karate / Microservices-Testing-Automation-with-Karate
takanorig
1
2k
Other Decks in Technology
See All in Technology
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
640
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
1
360
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
130
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
320
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
1
280
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
260
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
28
24k
Working as a Server-side Engineer at LY Corporation
lycorp_recruit_jp
0
460
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
300
C++26 エラー性動作
faithandbrave
2
850
最近のSfM手法まとめ - COLMAP / GLOMAPを中心に -
kwchrk
8
1.5k
AI×医用画像の現状と可能性_2024年版/AI×medical_imaging_in_japan_2024
tdys13
0
520
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.7k
A Philosophy of Restraint
colly
203
16k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
470
The Pragmatic Product Professional
lauravandoore
32
6.3k
RailsConf 2023
tenderlove
29
950
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
18
2.3k
Speed Design
sergeychernyshev
25
690
Bash Introduction
62gerente
609
210k
Scaling GitHub
holman
459
140k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
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