Slide 1

Slide 1 text

        Dec 15, 2018 Shota Shirayama EC Incubation Development Dept. Rakuten, Inc.

Slide 2

Slide 2 text

2   #'"+,  $!&% )4… '3 #'" 76  5 1/%% *0.  -(*0.2

Slide 3

Slide 3 text

3  •  •    •   

Slide 4

Slide 4 text

4   

Slide 5

Slide 5 text

5  #+ (     , 'Function  "  X End-to-End ! * X %$   & ") 

Slide 6

Slide 6 text

6   •   • "  • IF •   •  JS •  !         

Slide 7

Slide 7 text

7  

Slide 8

Slide 8 text

8     → ( : 10003 )

Slide 9

Slide 9 text

9 #,0&   "* 34( • /5! → % •  '.$  2  • ) • /5+  → 1 •  '.$    • 6-)

Slide 10

Slide 10 text

10     Web API    DB Web "!  PHP 5 → 7  VM ⇒ 

Slide 11

Slide 11 text

11  1. VM →  (   ) 2.  

Slide 12

Slide 12 text

12 #$ " 1. VM →  ( ) 1.1   # !   2.  2.1  $"  !   

Slide 13

Slide 13 text

13   

Slide 14

Slide 14 text

14     •   •  •  

Slide 15

Slide 15 text

15   

Slide 16

Slide 16 text

16  •   •     

Slide 17

Slide 17 text

17   •    •  

Slide 18

Slide 18 text

18  4?  • "!#2,  • >= 7  • 6B;@ • - • 4?!#. • CI • 1: (>=/)#Channel) • & /6B%*$;@3 • A "!#$ • $('+# 5< 908 $('+#

Slide 19

Slide 19 text

19  4?  • "!#2,  • >= 7  • 6B;@ • - • 4?!#. • CI • 1: (>=/)#Channel) • & /6B%*$;@3 • A "!#$ • $('+# 5< 908

Slide 20

Slide 20 text

20 0 )!" Codeception %/',(.#  UI)    (+$& *-)

Slide 21

Slide 21 text

21 Codeception • “BDD-styled PHP testing framework” (https://github.com/Codeception/Codeception) •  (Guzzle + Symfony BrowserKit) •  (https://github.com/Codeception/robo-paracept) •    (https://github.com/Codeception/c3)

Slide 22

Slide 22 text

22  4?  • "!#2,  • >= 7  • 6B;@ • - • 4?!#. • CI • 1: (>=/)#Channel) • & /6B%*$;@3 • A "!#$ • $('+# 5< 908

Slide 23

Slide 23 text

23 $+ !) " ('*%          # &          

Slide 24

Slide 24 text

24     •   •  

Slide 25

Slide 25 text

25  832  • (54 / (: 17 ) • (546+  ("!& 32 ) • #$,* • %$9 ! )0 .'-

Slide 26

Slide 26 text

26  832  • (54 / (: 17 ) • (546+  ("!& 32 ) • #$,* • %$9 ! )0 .'-

Slide 27

Slide 27 text

27 "'- .7 • 0#84 (jar&! ) • RESTAPI )5/- • &*1 %,(+/- • 623 $    http://wiremock.org/ Wiremock

Slide 28

Slide 28 text

28 Codeception + Wiremock  APP TEST MOCK & ' % * ( ) 1.   #" 2. HTTP   3. Mock   4.   !$ 5.   !$ 1.    6. Mock  1.  

Slide 29

Slide 29 text

29  832  • (54 / (: 17 ) • (546+  ("!& 32 ) • #$,* • %$9 ! )0 .'-

Slide 30

Slide 30 text

30   APP TEST MOCK Docker APP TEST MOCK Docker Jenkins

Slide 31

Slide 31 text

31 &+    Codeceoption → 3  Wiremock → 4 $! )% → #"5  CI(.0- → 2/*10- ,' &+

Slide 32

Slide 32 text

32 

Slide 33

Slide 33 text

33  • #,*  • #,0%   • #,  • .(21UI.(IF • 45'!!   • +3  -& #,  ”GROWTH” )$ /" 

Slide 34

Slide 34 text