we introduced automation in 2016, and improved it every year.
We set goal "Improve automation testing" in 2018.
talk about this activity
Size: 19.14 MB
Language: en
Added: Nov 30, 2018
Slides: 37 pages
Slide Content
Improve Automation Testing ~ speed up deployment ~ Nov. 30, 2018 Sadaaki Emura Rakuten, Inc.
Introduction
Who am I Name : Sadaaki Emura (nickname M) join in Rakuten: 2007 Group: Service Quality Assurance in LPD established in 2016 Role: Test Engineer Lead, automation Hobby: jog , climbing , horse racing
Our team (QA) Scope : 5 services Members : 9 + off site (if needed) Skill : QA specialist (almost not programmer) Mission : Quality Assurance by manual & automation test
Why is this year theme “improve speed”? Make impact = release many apps frequently photoAC
What was bottleneck in development speed? Specification Design Development Test (E2E) Development Test Design Test case / script Implement Test Execution scope
What was bottleneck in development speed? 1. Setup test environment takes time 2. Test feedback was late 3. Scripting for PC and SP takes time
1. Setup test environment takes time photoAC What was bottleneck in development speed? Example Install apps (1 st time) 120 min Setup devices 5 min Run apps 2 min Closing 5 min :
2. Test feedback was late (E2E) ■ One job has Mouse click : 3 sec Input form : 5 sec Page transition : 10 sec : 2-3 mins / page 10 mins / job What was bottleneck in development speed? ■ Single process worsens speed Test job Test job Test job 10 mins
For PC For SP What was bottleneck in development speed? 3. Scripting for PC and SP takes time Apps support PC and SP Need to create 2 script
How did we resolve?
Solution to resolve these bottleneck Every time, Everywhere, Everyone can use Many test run at same time One script covers multiple devices Features
Test script management Mobile Labo Architecture Chrome FF IE iPhone Android Edge Safari CI environment Appium API Selenium API Selenium API Client side Test Environment (Mobile Labo ) Clients Windows server MAC server MAC server Test script management Test script management https://jenkins.io/ Java
Mobile Labo image https://qiita.com/emurin Document ▼ Mac Windows Smart phone Appium /Selenium
1. Every time, Everywhere, Everyone can use per person every time As Is Install apps (1 st time) 120 min Setup devices 5 min Run apps 2 min Closing 5 min : To Be Connect API 1 min
2. Many test run at same time FireFox Chrome android iOS iOS One JENKINS runs a couple of test script
3. One script covers multiple devices PC SP Able to run test in each device ※apps rule - same function - same class name (HTML) : example : responsive site
What’s happened?
Improvement effect 1 Example ( keiba ) Betting Lite ( 投票 Lite) in Horse Racing PC & SP are same function Step is Choose race, Bet , Confirm , Complete 9 betting method / 4 type Selecting order of placing(Max 3 rd ) ⇒ 736 test case x 2 devices(PC , SP) PC SP
Improvement effect 2 Example (Wedding) Wedding Service is responsive site Reserve wedding hall Review wedding hall Search wedding hall : ⇒ 302 test case x 2 devices(PC , SP) PC SP
Improvement effect Mobile Labo improves speed FREEIMAGES/Geo Okretic
Next challenge
photoAC Next challenge encounter issues
Issue 1 : clash with others iPhone 1 Android Chrome iPhone 2 iPhone 1 Android Chrome iPhone 2 clash Able to use devices Not able to use same device at same time
Issue 2 : need to know device location iPhone 1 Android 1 Appium API MAC server 1 iPhone 2 Android 2 iPhone X Android X Appium API MAC server X … Clients set configuration Appium IP address & port Capabilities (UDID etc ) Where ?
New problem and Next step Improve speed more Clash with others Need to know device location FREEIMAGES/Alexander
In this year ?
New problem and Next step (This was situation in Aug.) Improve speed more Clash with others Need to know device location FREEIMAGES/Alexander Improved
New problem was resolved in 2 months Android Selenium hub Appium node Android Appium node ・・・・ Handle node (client does not need to know where appium ) Block client if devices are busy
How did we choose automation testing tool? Free license License fee ◎ × Programming skill × (Ruby programmer) ◎ Maintenance cost × (Ruby programmer) △ (annual license support) Support browser ◎ ( IE,Edge,Chrome,FF,SP ) ○ (depend on tool ) Setup cost × ◎ Low cost Low skill