shiftleft:continuousperformance! …...what is continuous performance testing? 10/29/2018 4 7 8...

22
DT3 Integrating Testing into DevOps Thursday, November 8th, 2018 10:00 AM Shift Left: Continuous Performance Testing in the CI/CD Pipeline Presented by: Gajan Pathmanathan Quicken Loans Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 8882688770 9042780524 [email protected] http://www.starwest.techwell.com/

Upload: others

Post on 28-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

   DT3  Integrating  Testing  into  DevOps  Thursday,  November  8th,  2018  10:00  AM              

Shift  Left:  Continuous  Performance  Testing  in  the  CI/CD  Pipeline  

 Presented  by:    

 

Gajan    Pathmanathan  Quicken  Loans  

‘      

Brought  to  you  by:        

   

   

350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073    888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  [email protected]  -­‐  http://www.starwest.techwell.com/      

 

Page 2: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

   

   

Gajan    Pathmanathan      Gajan  Pathmanathan  is  a  quality  evangelist,  DevOps  enthusiast,  and  engineering  leader  with  fifteen  years  of  experience  in  designing,  developing,  and  testing  software.  He  currently  leads  the  Enterprise  Quality  Architecture  team  at  Quicken  Loans,  where  he  is  responsible  for  implementing  solutions  and  strategies  for  continuous  quality  and  quality-­‐driven  development  across  the  enterprise.  Before  joining  Quicken  Loans,  Gajan  worked  at  Intel  Security/McAfee  as  a  lead  engineer  and  led  the  team  that  was  responsible  for  defining  quality  processes  and  test  automation  processes  across  the  organization.  Gajan  holds  a  master's  degree  in  computer  engineering  from  the  University  of  Waterloo,  Canada,  and  he  is  a  certified  SOA  Architect  and  ScrumMaster.  Gajan  has  given  guest  lectures  at  technical  institutes  and  spoken  regularly  at  technical  conferences  across  Canada  and  the  United  States.      

Page 3: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

1

Shift Left: Continuous Performance Testing in the CI/CD Pipeline

https://www.linkedin.com/in/gajanp https://twitter.com/gajanp

Gajan PathmanathanEngineering Leader @ Quicken Loans

Award-Winning Culture

Page 4: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

2

More Than Just Mortgages…FINTECH PRIVATE EQUITY REAL ESTATE

VENTURE CAPTIAL

FOC INVESTEMENTS

SPORTS/MEDIA/ENTERTAINMENT/

GAMING/HOTELS

On The Agenda

Page 5: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

3

01 03

0204

05

What is Continuous Performance Testing?01

The Why Behind The What02

Recommended Process03

Tooling04

Demo05

What is Continuous Performance Testing?

Page 6: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

4

7

8

Continuous Performance TestingA process of executing automated performance tests as part of

delivery pipelines

Page 7: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

5

9

❑ Performance Smoke/Regression Testing

❑ End-to-End Performance Testing

Types

The Why Behind The What

Page 8: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

6

11

“You can fix it now on

the drafting board with an

eraser, or you can fix it later on

the construction site with a

sledgehammer.”

12

https://reqtest.com/general/a-bug-goes-skateboarding-on-boehms-curve/

Page 9: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

7

13

14

Page 10: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

8

Page 11: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

9

17

Page 12: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

10

Performance & User Behavior

https://raygun.com/blog/cost-of-software-errors/

Process

Page 13: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

11

21

Maturity Levels

Continuous Performance

ManagementRelease Gate

N/A Manual Automated (manual run)

22

Page 14: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

12

23

24

Page 15: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

13

25

26

Page 16: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

14

Tooling

Page 17: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

15

30

Page 18: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

16

31

❑ Open source desktop application written in Java

❑ Plugin-based architecture

❑ 20+ years in existence

32

❑ Open source tool written in Python

❑ 5+ years in existence

❑ Code-driven framework

Page 19: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

17

33

❑ Open source automation framework written in Python

❑ Taurus – Test Automation Running Smoothly

❑ Abstracts other testing tools

Feature JMeter Locust

Open Source Yes Yes

Operating System Any Any

GUIYes

(non-GUI mode available)No

Recording Functionality Yes No

Test Recorder HTTP No

Test Language XML Python

Extension Language Java, Beanshell, Javascript, Jexl Python

Load ReportsCSV, XML, Embedded Tables,

Graphs, PluginsHTML

Feature comparison

Page 20: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

18

Feature JMeter Locust

Protocol Support

(in-built)

HTTP, FTP, JDBC, SOAP

LDAP, TCP, JMS, SMTP

POP3, IMAP

HTTP

Execution Monitoring

Console, File, Graphs

Desktop client

Custom plugins

Console

Web

Integrated Host monitoringYes

(PerfMon plugin)No

Support of “Test as Code” Weak (Java) Strong (Python)

Feature comparison

Feature JMeter Locust

Distributed Execution Yes Yes

Easy to use with VCS No Yes

Resources Consumption More resources required Less resources required

Number of Concurrent UsersThousands

(under restrictions)Thousands

Ramp-up Flexibility Yes No

Test Results Analyzing Yes Yes

Feature comparison

Page 21: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

19

Demo

38

❑ JMeter & Taurus Command Line Tool (bzt)

❑ Locust & Taurus Command Line Tool (bzt)

❑ Integration with Jenkins (Build step)

o Command (bat or sh)

o Performance plugin

Let’s Look at…

Page 22: ShiftLeft:ContinuousPerformance! …...What is Continuous Performance Testing? 10/29/2018 4 7 8 Continuous Performance Testing A process of executing automated performance tests as

10/29/2018

20

39

❑ JMeter:http://jmeter.apache.org/

❑ Locust:https://locust.io/

❑ Taurus:http://gettaurus.org/

❑ Performance Plugin:https://wiki.jenkins.io/display/JENKINS/Performance+Plugin

Questions? Come up and chat!

You can find me at:

@gajanp

Feedback is a GIFT!