Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Testing Methods for Existing Code Bases

Using Test and Behavior Driven Development to Create Clean Code
by

Andrea Goulet

on 14 December 2010

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Testing Methods for Existing Code Bases

Test
Driven Development Behavior Driven Development A Practical Approach to Adopting Testing Methods on Existing Projects requirements discovery process focus is on behavior of the system as a whole design process focus is on funcitonality of individual parts of the system Exsisting Projects Techniques Keep in Mind... Theory Test what you touch new
changes to existing features classes methods user interface elements If you don't touch it,
don't test it. if what you have works,
no need to automate tests for it Rabbit holes: fun for Alice. Not so fun for developers. Goal: Maximum Value of Time Spent Images from The RSpec Book by
David Chelimsky Treat like a new application. Modifying Something? Covered by Test Adding Something? Affects something else Does not affect something else Not covered by test 1. Write tests that describe how it works right now

2. Get those tests to pass

3. Write tests to describe new functionality
(proceed as if new application)

4. Some tests in Step 1 may now fail. If so,

a) delete the test
b) modify test to make it pass 1. Write tests about existing behavior for what the
new code will impact.

2. Get those tests to pass

3. Write tests to describe new functionality
(proceed as if new application)

4. Some tests in Step 1 may now fail. If so,

a) delete the test
b) modify test to make it pass Be Pragmatic Don't Repeat Yourself Test code should be just as clean as production code Why this talk? Lots of material about testing for new projects. Most of us don't work on new projects. Existing book on topic was a little alienating. Legacy Code...ewww. Resources Books Websites Contact Info Working Effectively with Legacy Code by Michael Feathers

The RSpec Book by David Chelimsky, et al.

Agile Software Development Principals, Patterns & Practices
by Robert C. "Uncle Bob" Martin

Clean Code by Robert C. "Uncle Bob" Martin

Refactoring to Patterns by Joshua Kerievsky

Refactoring by Martin Fowler infoq.com

objectmentor.com

itc.conversationsnetwork.org

cukes.info

rspec.info

rubyinside.com
M. Scott Ford

Chief Code Monkey, Corgibytes, LLC

scott@corgibytes.com

877-224-3175

corgibytes.com
Full transcript