UC San Diego Campus LISA 2014 - Software Development Process

Post on 11-May-2015

102 views 0 download

Tags:

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

Software Development Process

Campus LISA

July 9, 2014Matt Critchlow

Manager of Development and Web Services

The Rock says:

UNLESS

• You plan to add new features

• You plan to refactor your code

• Your code will ever change

Why it really matters

• Common Language

• Best Practices

• Confidence

Confidence!

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

Testing Processes

• Test Driven Development

• Behavior Driven Development

• Feature Driven Development

• F@#$^! Driven Development

Test-driven Development (TDD)

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

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

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

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/

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, mcritchlow@ucsd.edu