|
ID
|
Activity
|
Flavor
|
Duration
|
| 1A |
Unit Testing Tool
Learn the basics of a unit testing tool, including how to write and organize tests, which assert methods may be called, exception
handling within tests, test naming conventions and ways to use the unit testing tool in an integrated development environment
(IDE).
|
introduction All technical participants will take part in this activity in pairs. |
30 mins |
| 2B |
Test-Driven Development
Test-Driven Development (TDD) is a practice for efficiently evolving useful code. While its name implies that it's mostly
about testing, test-driven development is primarily about design: it keeps programmers focused on exactly what they need to
build and helps them avoid over-engineering. Using this technique, programmers write a failing test, write code to pass the
test, refactor the code and... Read more |
interactive Participants will get their hands dirty by using TDD to extend the demonstration code in our... Read more |
45 mins |
| 2C |
Test-Driven Development
Test-Driven Development (TDD) is a practice for efficiently evolving useful code. While its name implies that it's mostly
about testing, test-driven development is primarily about design: it keeps programmers focused on exactly what they need to
build and helps them avoid over-engineering. Using this technique, programmers write a failing test, write code to pass the
test, refactor the code and... Read more |
challenge In this challenge, participants will be given the task of writing a program to solve a specific... Read more |
2 hours |
| 30B |
Unit Testing Legacy Code
To refactor legacy code, you need good unit tests. To write good unit tests, you need to refactor your legacy code. How do
you get out of such a mess? First, you isolate what it is you would like to unit test and refactor. Next, you use whatever
language is simplest to produce coarse-grained tests for that area of code. Once you've written enough of the coarse-grained
tests, you'll be able to... Read more |
challenge Participants will be introduced to a piece of legacy code for which there are no tests.... Read more |
2 hours |
| 31A |
Team-Programming
Whole teams can rapidly learn great programming skills by observing one of our experts pair-programming with a member of your
team. As team members observe the programming on a projector, they may comment, ask questions or volunteer to take the place
of one of the programming pairs.
|
standard We will work on your system as a team, practicing test-driven development, merciless-refactoring... Read more |
4 hours |
| 7C |
Evolutionary Design
How does nature evolve organisms and what does that have to do with software
development? If you study nature's approach to engineering, you often find that
highly sophisticated organisms evolve from simple beginnings. For example,
during the earliest growth stages, internal organs are basic but functional and will
mature over time.
|
walkthrough We will review ten practices of evolutionary design that complement Test-Driven Development and... Read more |
1 hour |
| 7A |
Evolutionary Design
How does nature evolve organisms and what does that have to do with software
development? If you study nature's approach to engineering, you often find that
highly sophisticated organisms evolve from simple beginnings. For example,
during the earliest growth stages, internal organs are basic but functional and will
mature over time.
|
challenge After reviewing a description of a sophisticated software system, participants must decide what... Read more |
1 hour |
| 17B |
Storytest-Driven Development
Storytest-Driven Development involves determining if features of a system work according to a customer's expectations. There
are many ways to implement Storytest-Driven Development, including using XML, Excel or simple languages. A typical challenge
is to empower customers with tools that let them define Storytests (a.k.a. Acceptance Tests) without working with programmers.
Another challenge is ... Read more |
demonstration We'll demonstrate FIT (http://fit.c2.com), Ward Cunningham's excellent open-source testing tool... Read more |
20 mins |
| 17A |
Storytest-Driven Development
Storytest-Driven Development involves determining if features of a system work according to a customer's expectations. There
are many ways to implement Storytest-Driven Development, including using XML, Excel or simple languages. A typical challenge
is to empower customers with tools that let them define Storytests (a.k.a. Acceptance Tests) without working with programmers.
Another challenge is ... Read more |
dialogue The workshop coaches will lead a discussion about Storytest-Driven Development, sharing their... Read more |
1 hour |
| 17C |
Storytest-Driven Development
Storytest-Driven Development involves determining if features of a system work according to a customer's expectations. There
are many ways to implement Storytest-Driven Development, including using XML, Excel or simple languages. A typical challenge
is to empower customers with tools that let them define Storytests (a.k.a. Acceptance Tests) without working with programmers.
Another challenge is ... Read more |
challenge Participants will be given the challenge of writing FIT tests for a sample program, using the... Read more |
4 hours |
| 38A |
Test-Driven HTML
Test-Driven Development (TDD) is extremely useful in designing Web-based systems that use HTML for their interface.
Unit-testing tools and strategies are available for HTML, XML, XSL, JavaScript or JScript, JSPs or ASPs and so forth.
Using an effective unit-testing strategy with your Web-based technologies will help you efficiently produce dependable systems.
|
demonstration Participants will get a demonstration of ways in which we can unit test the HTML output of Web... Read more |
1 hour |
| 38B |
Test-Driven HTML
Test-Driven Development (TDD) is extremely useful in designing Web-based systems that use HTML for their interface.
Unit-testing tools and strategies are available for HTML, XML, XSL, JavaScript or JScript, JSPs or ASPs and so forth.
Using an effective unit-testing strategy with your Web-based technologies will help you efficiently produce dependable systems.
|
challenge Participants will get their hands dirty by using TDD with a unit-testing tool (JWebUnit, HttpUnit,... Read more |
2 hours |
| 18A |
Testing & Refactoring Adoption
The workshop coaches engage participants in a dialogue on adopting Testing & Refactoring in their workplace, including the
following questions: What technical practices will be most difficult to accomplish at our company? How will we test or refactor
specific code? Should we test or refactor our legacy code? What is the best way to transition to these new practices? How
will our new practices... Read more |
in-depth An in-depth dialogue is held with the workshop coach. |
1 hour |