continuous delivery of your legacy application

46
Continuous Delivery of your Legacy Application Kev McCabe Tuesday 10 th November 2015 1

Upload: coldfusionconference

Post on 22-Jan-2017

301 views

Category:

Technology


0 download

TRANSCRIPT

Continuous Delivery of your Legacy Application

Kev McCabe

Tuesday 10th November 2015

1

Who Am I?

• Freelance Code Smith & Agile Coach

• CF Developer Since 1996

• Scrum Master

• Kanban Practitioner

• Agile Coach

• T: @bigmadkev

• W: BigMadKev.com2

SORRY NO LEGO THIS YEAR :-(

3

I apologize for any inconvenience caused

4

What is Continuous Delivery

Continuous Delivery is a software development discipline where you build

software in such a way that the software can be released to production

at any time.

Martin Fowlerhttp://martinfowler.com/bliki/ContinuousDelivery.html

What is legacy code?

Legacy Code Is Code Without Tests

Michael Feathers Working Effectively with Legacy Code

Types of Testing

7

GUI

Integration

Unit Tests

Exploratory testing

Real World Testing Pyramid

8

GUI

Integration

Exploratory testing

Unit TestsManual Testing

9

GUI

Unit Tests

Exploratory testing

Humans

Selenium

TestBox

Refactoring

Without Tests Is Living Dangerously

Catch 22?

Web Apps

We have Selenium (-;

We’ll start from the outside and work in.

Selenium

What to test?

$$$ Paths

Don’t test everything!

TESTBOX

Unit Tests

Continuous Integration

Tools

Branching Strategies!

• Working on Mainline

• Branch for Release

• Branch by Feature

Pipeline

Delivery Pipeline

One Click Deployments

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

What? the Crash Still?

Automate Everything!

Legacy Thinking!

Release More Frequently!

Sort out infrastructure!

Resources

https://cucumber.io/school

https://www.udemy.com/selenium-2-webdriver-basics-with-java/

THANK YOUAlways happy to help, feel free to contact me

• E: [email protected]

• T: @bigmadkev

http://cfml-craftsmanship.com/eclipseupdatesite