190 likes | 435 Views
Test Driven Development. By: Taylor Helsper. Outline. Introduction Test Driven Development JUnit TDD Example Conclusion. Introduction. What is this lecture? Part of a CSE 4000 Independent Study Course “Practical Issues in Software Engineering” What’s the point?
E N D
Test Driven Development By: Taylor Helsper
Outline • Introduction • Test Driven Development • JUnit • TDD Example • Conclusion
Introduction • What is this lecture? • Part of a CSE 4000 Independent Study Course • “Practical Issues in Software Engineering” • What’s the point? • To provide practical information to students in Software Engineering topics Note: The products discussed in this presentation are examples used for teaching purposes and are not endorsements of the products.
Outline • Introduction • Test Driven Development • JUnit • TDD Example • Conclusion
Test Driven Development • What is it? • Development/Testing process where tests are generated before the development • Development is completed based on the tests
Test Driven Development • Why is it useful? • Distinct Steps • Good Metrics • Ensures Completion Based on Requirements/Design
Test Driven Development • Why is it useful? • Only necessary features are implemented • Short Development Lifecycle • Easy to Accommodate Changes
Test Driven Development • Steps • Write tests based on design / requirements • Write code • Run tests • Repeat until all tests pass
Test Driven Development http://en.wikipedia.org/wiki/Test-driven_development
Outline • Introduction • Test Driven Development • JUnit • TDD Example • Conclusion
JUnit • What is it? • JUnit is a testing framework for Java • It allows programmers to write test cases for Java classes
JUnit • Why use it? • Repeatability • Metrics / Measurement • Easy Integration
JUnit Examples • A JUnit Test Case
JUnit Examples • JUnit Before/ After
Outline • Introduction • Test Driven Development • JUnit • TDD Example • Conclusion
TDD Example • Math Class for a Calculator Program • Steps • Generate Tests • Code • Run Tests • Repeat
Conclusion • Test Driven Development is important to understand • TDD is useful in many circumstances • TDD • Saves Money • Is Agile • Offers Good Metrics
References • Junit - http://www.junit.org/ • Netbeans – http://netbeans.org/ • JUnit Examples - http://junit.sourceforge.net/doc/cookbook/cookbook.htm • MSU Classes and work experience