JaSST'18 Hokkaido Improve Automation Testing

SadaakiEmura 67 views 37 slides Nov 30, 2018
Slide 1
Slide 1 of 37
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37

About This Presentation

we introduced automation in 2016, and improved it every year.
We set goal "Improve automation testing" in 2018.
talk about this activity


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

LPD organization Product Manager Engineer QA ( Leisure Product Department )

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

Our Automation Testing activity

Automation testing activity 2016 Proof of concept 2017 Expansion 2018 Improve speed

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 1 (initial phase) Manual testing Previous automation Mobile labo 120 hour 60 hour Method Speed 30 hour ※1 include scripting , setup task ※2 include scripting task ※1 ※2 75% CUT

Improvement effect 1 (CI phase) Manual testing Previous automation Mobile labo 120 hour 1.5 hour Method Speed 0.5 hour ※1 include setup task 99% CUT ※1

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 2 (initial phase) Manual testing Previous automation Mobile labo 50 hour 20 hour Method Speed 11 hour ※1 include scripting , setup task ※2 include scripting task ※1 ※2 78% CUT

Improvement effect 2 (CI phase) Manual testing Previous automation Mobile labo 50 hour 0.5 hour Method Speed 0.2 hour ※1 include setup task 99% CUT ※1

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