SlideShare ist ein Scribd-Unternehmen logo
1 von 34
LINEのUI自動テスト事例
2018 / 6 / 27
LINE Fukuoka株式会社
大園博昭
自己紹介
• LINE Fukuoka株式会社
• 開発センター
• テスト自動化チーム
• UIテストに限らずテスト自動化を幅広く展
開する
• 必要であれば内製のライブラリを作成
• UI Test Automationチーム
• 開発・QAチームと協力してプロダクトのUI
テストを深く作る
ref: https://linefukuoka.co.jp/ja/facts/index
LINEのテスト自動化事情
世界各国(主にアジア)に拠点があり、
• それぞれテスト自動化に関するチームを持っている
• それぞれ異なる施作を持っている
一方、福岡は?
(本日お話する内容はLINE Fukuokaに特化した内容です)
↓
E2E UIテスト
• Browser
• iOS Application
• Android Application
福岡のテスト自動化チームで使用している代表的なツール
テスト自動化を行う上で気をつけていること。
特に独創的・奇抜なことはしていません
• Stability
• 秒数指定でsleepをしない
• 不安定な実行環境を作らない(特にmobile)
• Maintainability
• UI変更に強いものに
• Page object patternなどのデザインパターンを採用する
• Test用のcustomタグ、classを使って要素を掴む
• Readability of the test result
• 後述
自動テストを作り始めてすぐに気づいた問題
↓
テスト結果はエンジニアだけでなく、
QAやプランナーなどの非エンジニアも確認する
↓
「CIのログ見てください」はつらい
↓
既存のレポートツールでマッチするのがない
↓
作った
Ayachan
ayachan-server ayavue
ayachan-client
Ayachan
ayachan-server ayavue
ayachan-client
UIテスト実例 - LINE STORE -
https://store.line.me
• スタンプや着せかえ、各種ゲームコインを購入することができるwebサービス
• LINEアプリから購入するよりもお得なキャンペーンも実施中!
https://store.line.me
• 2018年6月から絵文字の取り扱いを開始
なぜこのプロジェクトでテスト自動化?
↓
• リリースサイクルが早い(1週間に1回)
• 新規機能と同時に既存の機能に問題ない
か確認する回帰テスト(リグレッションテス
ト)の需要が大きい
前提
• 週に一回リリース
• Dev, Staging, Releaseの3環境
• Manual QAは毎週Staging環境でリグレッ
ションテストを実施、リリース後Release環境
でも確認を実施
• UIテストを実装し、Manual QA + UIテストの
ハイブリッド体制に
• 自動テストは毎日1回全環境で実施
• 現在のUIテストCoverage = 71.2%
(実装済み / 実装予定) * 100[%]
Manual
QA
Automation
test
New features test
Full regression test
Test cases Dev Staging Release Total
PC 212 212 212 636
Android 194 194 - 388
iOS 194 194 - 388
Total 600 600 212 1,412
テストを自動化したことによって、
どんなことがハッピーになったか
0
1
2
3
4
5
6
7
8
9
10
11
2017 12月 2018 1月 2018 2月 2018 3月 2018 4月 2018 5月 2018 6月
Manual QA Automated test
• 直近半年のリグレッションテストで見つかったバグ数
0
1
2
3
4
5
6
7
8
9
10
11
2017 12月 2018 1月 2018 2月 2018 3月 2018 4月 2018 5月 2018 6月
Manual QA Automated test
• 自動テストで見つけた問題のほぼ100%がDev環境
• QAはリソースの関係でリグレッションテストをStaging環境メインで行なっている
• Dev環境で問題が見つかる -> 手戻りが少ない
0
1
2
3
4
5
6
7
8
9
10
11
2017 12月 2018 1月 2018 2月 2018 3月 2018 4月 2018 5月 2018 6月
Manual QA Automated test
• 4月 ~ 5月はDev環境で多くの問題を見つけ、Staging環境へ問題が引き渡されるの
を未然に防ぐことができた。
0
1
2
3
4
5
6
7
8
9
10
11
2017 12月 2018 1月 2018 2月 2018 3月 2018 4月 2018 5月 2018 6月
Manual QA Automated test
• 一方、大きな改修が入った時期は手動のQAが多くの問題を見つけた。
• 自動テストは実装したことしかテストしてくれない -> テスト選定が非常に大事
0
1
2
3
4
5
6
7
8
9
10
11
2017 12月 2018 1月 2018 2月 2018 3月 2018 4月 2018 5月 2018 6月
Manual QA Automated test
• 人的コストの削減には至っていない(狙っていない)
• 単にUIテストを増やしてもメンテナンスコストが増大していく
• 全部をUIテストで解決するのは難しい
チームの指針
• 自分たちだけでテストを書かない
• 全部のテストを我々のチームだけで書く・メンテナンス
していくなんて無理
• Engineerと積極的に協業
• なんでもかんでもE2Eで解決しようとしない
• 高コストのUIテストは理想的には最低限のシナリオを
カバーするだけ
• Unit/Integrationテストでできるところはそちらで
• e.g. htmlのviewの部分だけならE2EよりもUnitテスト
• E2Eの自動テストを作ることだけが仕事ではない
• Devチームから、あるいはQAチームから「これ自動化
して欲しい」の要請を精査せずに安請け合いすると大
変なことに
• 開発チームが仕事しやすくならなければ意味がな
い
• 弊社には素晴らしいEngineerがたくさんいる
• Engineerがやりたいことができる、作りたいものに集
中できるように手伝いをする
• テストを書くのが辛くなってしまったら本末転倒。テスト
を書いた方が楽に開発できると思ってもらえるように
↓
最終的にプロダクトの利益に繋がらなければ意味
がない
LINE FukuokaではAutomation Testing Engineerは
もちろん、様々なエンジニアを募集しています!
https://linefukuoka.co.jp/ja/career/list/engineer/

Weitere ähnliche Inhalte

Was ist angesagt?

メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
Hironori Washizaki
 

Was ist angesagt? (20)

ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向ソフトウェアテストの歴史と近年の動向
ソフトウェアテストの歴史と近年の動向
 
What should you shift left
What should you shift leftWhat should you shift left
What should you shift left
 
Software Frontloading and QA
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
 
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
 
DeNA QA night #2 presentation
DeNA QA night #2 presentationDeNA QA night #2 presentation
DeNA QA night #2 presentation
 
探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacate探索的テストはじめの一歩 #wacate
探索的テストはじめの一歩 #wacate
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
メトリクスを用いたソフトウェア品質定量評価・改善 (GQM, Metrics, ET2013)
 
Lean coffee
Lean coffeeLean coffee
Lean coffee
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
Software-company Transformation
Software-company TransformationSoftware-company Transformation
Software-company Transformation
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
 
ノーコードテストツール導入時の決め事
ノーコードテストツール導入時の決め事ノーコードテストツール導入時の決め事
ノーコードテストツール導入時の決め事
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門
 
ソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホント
 
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
 
はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019はじめてのソフトウェアテスト2019
はじめてのソフトウェアテスト2019
 
Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?
 
The use of test design for organizing specifications
The use of test design for organizing specificationsThe use of test design for organizing specifications
The use of test design for organizing specifications
 

Ähnlich wie LINE のUI自動テスト事例

Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
sharoid
 

Ähnlich wie LINE のUI自動テスト事例 (20)

Et west テスト自動化_公開版
Et west テスト自動化_公開版Et west テスト自動化_公開版
Et west テスト自動化_公開版
 
UIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろかUIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろか
 
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
事例 アジャイルと自動化 後半(ヤフオク!アプリでの自動テストの事例紹介) at Ques vol.7( #ques7 ) 11/20/2015
 
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようスマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
 
Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2Out systemsaichiusermeeting#5 lt2
Out systemsaichiusermeeting#5 lt2
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-心・技・態 -LINEにおける改善の真実-
心・技・態 -LINEにおける改善の真実-
 
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
 
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーションVisual Studio OnlineとUnityを使ったバージョン管理と継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
 
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーションVisual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
Visual Studio OnlineとUnityを使った バージョン管理と 継続的インテグレーション
 
ソフトウェアテストにおける 発想支援ツールの活用
ソフトウェアテストにおける発想支援ツールの活用ソフトウェアテストにおける発想支援ツールの活用
ソフトウェアテストにおける 発想支援ツールの活用
 
20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy20150728 USERDIVE in BPStudy
20150728 USERDIVE in BPStudy
 
テスト自動化への1エンジニアとしての期待
テスト自動化への1エンジニアとしての期待テスト自動化への1エンジニアとしての期待
テスト自動化への1エンジニアとしての期待
 
Pythonでwebdriver
PythonでwebdriverPythonでwebdriver
Pythonでwebdriver
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
 
Developer summit codeer
Developer summit codeerDeveloper summit codeer
Developer summit codeer
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
Appiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみるAppiumのテスト結果レポートをsahaginで作ってみる
Appiumのテスト結果レポートをsahaginで作ってみる
 

Mehr von LINE Corporation

Mehr von LINE Corporation (20)

JJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTJJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LT
 
Reduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesReduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin Coroutines
 
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたKotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
 
Use Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionUse Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extension
 
The Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingThe Magic of LINE 購物 Testing
The Magic of LINE 購物 Testing
 
GA Test Automation
GA Test AutomationGA Test Automation
GA Test Automation
 
UI Automation Test with JUnit5
UI Automation Test with JUnit5UI Automation Test with JUnit5
UI Automation Test with JUnit5
 
Feature Detection for UI Testing
Feature Detection for UI TestingFeature Detection for UI Testing
Feature Detection for UI Testing
 
LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

LINE のUI自動テスト事例

Hinweis der Redaktion

  1. 今日お話するのは福岡のチームが行なっていることで、 LINE全体として取り組んでいることではないことを強調しておいたほうがよさそう