


|

|
|
|

|

|

A much broader concept than you may think...
Essential Questions:
What do you really know about your software?
How do you know it?
The Challenges:
If you don't design and develop for validation,
there is no way to really know!
If you don't design and develop for maintainability,
there's no way to have it track your changing needs!
Changes require validation of what it does NOW!
Essential disciplines:
If we don't have the right foundation for knowing what to test,
why bother?
Only then can testing deliver truly useful knowledge.
Therefore, testing-specific disciplines are at the end
of this list.
Lean Software Development
- Disciplines for making a business effective
and aligning software requirements with the business.
Scrum and Kanban
- Disciplines for rapidly discovering and
'building the right thing'.
- Focusing cross-functional teams on delivering and
validating the true value.
- Making and keeping commitments to the business.
- Measuring and rewarding teams as a unit.
- Making management highly responsive to team needs.
Extreme Programming (XP)
- Disciplines for 'building things right'.
- Discovering and building effective software architecture.
- Continuously validating correctness.
- Supporting team-ownership of the code - shared knowledge.
Object Oriented Design (OOD)
Object Oriented Programming (OOP)
Design By Contract (DBC)
- Disciplines for effective modularization and interfacing
of modules.
- Essential disciplines for maintainability and validation.
Test Driven Design (TDD)
Test Driven Development (TDD)
Acceptance Test Driven Development (ATDD)
Test-First Design(TFD)
Test-First Development (TFD)
- Disciplines for creating executable requirements
and automated validation at all levels of integration
from unit tests to acceptance tests.
- Test-First to constrain development effort to
just what the project sponsors want to pay for
(both business and technical).
Framework for Integrated Tests (Fit)
FitNesse
- Fit is an open-source tool for automated customer tests.
- Fit automatically compares customers' expectations to
actual results.
- Customers' examples are formatted in tables and
saved as HTML using tools such as Microsoft Excel.
- Fit colors the tables green, red, and yellow
according to whether the software behaved as expected.
- FitNesse is a self-contained, fully integrated,
wiki and acceptance testing framework based upon Fit.
|

|
|