uc san diego campus lisa 2014 - software development process

11
Software Development Process Campus LISA July 9, 2014 Matt Critchlow Manager of Development and Web Services

Upload: matthew-critchlow

Post on 11-May-2015

102 views

Category:

Technology


0 download

DESCRIPTION

An overview of how the UC San Diego Library development team has incorporated test driven development into its software development process. Discussion of the pros and cons of TDD, other options for adding testing into your development workflow.

TRANSCRIPT

Page 1: UC San Diego Campus LISA 2014 -  Software Development Process

Software Development Process

Campus LISA

July 9, 2014Matt Critchlow

Manager of Development and Web Services

Page 2: UC San Diego Campus LISA 2014 -  Software Development Process

The Rock says:

Page 3: UC San Diego Campus LISA 2014 -  Software Development Process

UNLESS

• You plan to add new features

• You plan to refactor your code

• Your code will ever change

Page 4: UC San Diego Campus LISA 2014 -  Software Development Process

Why it really matters

• Common Language

• Best Practices

• Confidence

Page 5: UC San Diego Campus LISA 2014 -  Software Development Process

Confidence!

Source: http://flickfacts.com/movie/5736/stuart-saves-his-family

Page 6: UC San Diego Campus LISA 2014 -  Software Development Process

Testing Processes

• Test Driven Development

• Behavior Driven Development

• Feature Driven Development

• F@#$^! Driven Development

Page 7: UC San Diego Campus LISA 2014 -  Software Development Process

Test-driven Development (TDD)

Source: http://agileinaflash.blogspot.com/2009/02/red-green-refactor.html

Page 8: UC San Diego Campus LISA 2014 -  Software Development Process

What we do

• Test Driven Development (mostly)

• A dash of Behavior Driven Development

• Ruby: RSpec, Capybara, SimpleCov

• Java: JUnit

• Testing Culture with Open Source partners

Page 9: UC San Diego Campus LISA 2014 -  Software Development Process

What we’ve learned

• Writing tests takes some getting used to

• Test suites can get slow

• Red to Green feels good, and safe

• Dealing with: “I’m not paid to write tests”

• TDD != Holy Grail

• Self-Testing Code

Page 10: UC San Diego Campus LISA 2014 -  Software Development Process

Is TDD dead?

1. David Heinemeier Hansson declares TDD dead on blog and RailsConf 2014 keynote

2. Internet descends into chaos

3. Martin Fowler, Kent Beck, and DHH have Google Hangout discussions

Source: http://www.industriallogic.com/blog/tdd-dead-sale/

Page 11: UC San Diego Campus LISA 2014 -  Software Development Process

References

Testing Tools:• Rspec: http://rspec.info/• Capybara: http://jnicklas.github.io/capybara/• JUnit: http://junit.org/• Cucumer: http://cukes.info/ Reading:• Design Patterns: http://amzn.to/UPNN2F• Test Driven Development: http://amzn.to/1xN0r0z • RailsConf 2014 Keynote: http://bit.ly/1mCXOMm• Is TDD Dead?: http://martinfowler.com/articles/is-tdd-dead/ • Self-Testing Code: http://bit.ly/1jj8HT2

Contact: @mattcritchlow, [email protected]