Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Karateによる UI Test Automation 革命

3,131 views

Published on

KarateによるUIテスト革命

Published in: Technology
  • Be the first to comment

Karateによる UI Test Automation 革命

  1. 1. 1Copyright © Acroquest Technology Co., Ltd. All rights reserved. Karate による UI Test Automation ⾰命 2019/11/30 Acroquest Technology Co., Ltd. 鈴⽊ 貴典
  2. 2. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2 ⾃⼰紹介 n 所属 • Acroquest Technology Co., Ltd. n 主な業務分野 • システムアーキテクト • IoTサービス開発 • ビッグデータ処理プラットフォーム • サーバーレス・アーキテクチャ n バックグラウンド • エンタープライズ/ミッションクリティカル • SEPG/開発/マネジメント • Java/Python 鈴⽊ 貴典 シニアテクニカルアーキテクト Acro = 先端を quest = 探究する
  3. 3. Acroquestのミッション・ビジョン Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3 テクノロジストチームとして ビジネスの⾰新的価値創出に挑戦する ビジョン Acroquestの創り出す技術で 地球を感動で進化させる ミッション
  4. 4. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4 テスト⾃動化における 課題
  5. 5. テスト⾃動化における課題 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 5 • Integration/UIの テストを作成する 難易度が⾼い • そもそも テスト⾃動化エンジニア がいない • メンテナンスコストが ⾼い
  6. 6. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6 ⾃動化が必要なのは 分かっている。 でも、 できていない、 挫折してしまう。。。 そういった問題を どうにかしたい︕
  7. 7. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7 Karate Web-Services Testing Made Simple
  8. 8. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8 Karate Web-Services Testing Made Simple Test Automation Made Simple
  9. 9. 幅広いテストに対応 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9 テストダブル (モック) APIテスト UIテスト 性能テスト REST-API GraphQL gRPC WebSocket ファイル ブラウザ Windowsアプリ Android/iOS (Appium) バックエンドのモック化 Gatling連携
  10. 10. Karateによるテスト⾃動化 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10 • 単⼀のツールで 幅広いテストに対応可能 • DSL(Garkin記法)で シナリオテストが可能 (Non-Programming) • 学習コストが低い
  11. 11. GitHub stars of Karate Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11 2019-11-30 2575 Stars
  12. 12. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12 ① テスト⾃動化 対応スピードの 向上 ② テスト⾃動化 導⼊プロジェクト の拡⼤ ③ ⾃動化範囲が 広くなったこと による安⼼感 Karateによって私たちが得られたこと
  13. 13. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13 Karate による UIテスト
  14. 14. 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の指定 画⾯オープン 画⾯⼊⼒ 画⾯遷移 結果の確認 画⾯キャプチャ
  15. 15. KarateによるUIテストのメリット Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15 ③テストレポートの 出⼒ ①UIテストの ユニットテスト化 • VS Code プラグインよる 効率的なテスト作成/実⾏ • 単発/連続したシナリオの実⾏ ②バックエンドに対する 操作も考慮した シナリオの構築 • DSLによる直観的なテストケース記述 • JavaやJSの処理を呼び出すことができ、 環境の初期化や非同期処理にも対応可能 • テストレポートの⾃動出⼒ • 画⾯キャプチャの⾃動取得
  16. 16. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16 実現したかったこと テストの効率化 =
  17. 17. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17 実現したかったこと テストの効率化 プロダクトの品質向上 =
  18. 18. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18 実現したかったこと テストの効率化 プロダクトの品質向上 QoLの向上=
  19. 19. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19 テスト⾃動化が 容易になる テストの アジリティが 向上する エンジニアが 楽になる プロダクトの 質が向上する ユーザーも よろこぶ ⼈々の⼈⽣の質が 向上する
  20. 20. Evolve the Earth with Emotion of Technology Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20 Quality of Testing for Quality of Life
  21. 21. 参考 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

×