Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value...

35
1 Agile and DevOps teams: test value first!!! LAURENT PY @py_laurent [email protected] https://hiptest.net VINCENT PRETRE [email protected] https://hiptest.net

Transcript of Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value...

Page 1: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

1

Agile and DevOps teams: test value first!!!

LAURENT PY

@[email protected]://hiptest.net

VINCENT PRETRE

[email protected]://hiptest.net

Page 2: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

HIPTEST COMMUNITY

2

37%15% 22%

5%

13%

4%

4%

CountriesOrganizations

+1000 +130

users

20000

Page 3: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

PLAN

3

Testing inDevOps

Step 1 :Testing theidea

Step 2 :Testing thecode

Step 3 :Testing inproduction

Step 4 :GOTOstep 1

Conclusion :Benefits

Page 4: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

TESTING IN DEVOPS

4

Page 5: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

5

DEVOPS : BIGGEST OPPORTUNITY?

SPEEEEEED

Page 6: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

6

DEVOPS : BIGGEST OPPORTUNITY

Page 7: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

TESTING IN DEVOPS

7

1) Which value do we want to deliver?

2) Is the feature’s implementation aligned with that?

3) Does the feature have a real impact on the end user?

4) Is the UX great and what’s the feature usage in time ?

Page 8: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

STEP 1: TESTING THE IDEA

8

Page 9: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

WHY?

Challenge business assumptions

Page 10: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

10

• Use personae to create intimacy between users and the team

• Define business assumptions

• Behavior Driven Development (BDD) to capture the behavior

WHICH VALUE DO WE WANT TO DELIVER?

Page 11: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

11

• Create a shared understanding based on examples• Using a common business terminology• Define the stop• Once automated the examples become a living

documentation

BDD IN A NUTSHELL

Page 12: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

12

User interview +

BDD – CAPTURE THE BEHAVIOR

Page 13: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

13

• Using Gherkin syntax with declarative style• Using a consistent business terminology

• Refactoring continuously your tests

GOOD PRACTICES

Page 14: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

CONTINUOUS TESTING

14

Test

Testcontinuouslyyoursoftwarefromideatoproduction

Idea Dev Production

Test Test

Page 15: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

STEP 2: TESTING THE

CODE

15

Page 16: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

16

1. In step 1 we have created a shared understanding of the feature

2. The dev team can develop a first increment of the feature

3. Integration to CI/CD pipeline

DEVELOPMENT

Page 17: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

2 - Refine with examples1 – Manage Backlog 3 - Implement the stories

4 – Create builds and run tests5 – Deploy in production

Results

TESTING PROCESS AT HIPTEST

17

Page 18: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

18

100% of our checks (scenarios) are automated

AUTOMATION

AND

It is expensive

Page 19: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

19

Credit to Martin Fowler

• 550 tests BDD

• 1600 tests Ember

• 3700 tests Rspec

OUR AUTOMATED TESTS

Page 20: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

CONTINUOUS TESTING

20

Test

Testcontinuouslyyoursoftwarefromideatoproduction

Idea Dev Production

Test Test

Page 21: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

STEP 3: TESTING IN

PRODUCTION

21

Page 22: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

22

1. In Step 2 we have validated the implementation

2. The feature is rolled out using a switch (GA or progressive)

MAKING THE FEATURE AVAILABLE

Page 23: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

23

Appsignal,Pingdom,Scalingo etLogmatic/datadog

APPLICATION PERFORMANCE MANAGEMENT

Page 24: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

24

THE MATCH

Correctness Availability

Page 25: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

25

MEASURE USAGE CONTINUOUSLY

• Measure usage- NB users- NB requests…

• Measure impact- Sign-up- Revenue- Retention…

Page 26: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

26

Notification feature• Usage- NB clicks NB of notifications- NB users

• Business: none

Refactoring feature• Usage- NB refactoring actions- NB of impacts

• Business: retention

EXAMPLES

Page 27: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

27

LIVE CHAT FOR REAL TIME FEEDBACK

Page 28: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

28

LIVING DOCUMENTATION

Page 29: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

CONTINUOUS TESTING

29

Test

Testcontinuouslyyoursoftwarefromideatoproduction

Idea Dev Production

Test Test

Page 30: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

ETAPE 4: LET’S ITERATE

30

Page 31: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

31

1. In step 3 we have measured the impact

2. The feature can be removed (with the tests), enhanced or validated

3. GoTo step 1

LET’S ITERATE

Page 32: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

CONCLUSION

32

Page 33: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

33

•Test value first

• Incremental investment in quality

•Context suitable to experiments

BENEFITS OF TESTING IN DEVOPS

Page 34: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

Making something nobody want

THE BIGGEST RISK

Page 35: Agile and DevOps teams: test value first!!! - Testing value...Agile and DevOps teams: test value first!!! LAURENTPY @py_laurent laurent.py@hiptest.net ... 15% 22% 5% 13% 4% 4% Organizations

A HUGE THANK YOU!

LAURENT PY

@[email protected]://hiptest.net

VINCENT PRETRE

[email protected]://hiptest.net