The document discusses test-driven development (TDD) and agile software development principles. It covers TDD concepts like writing failing tests before code, testing-coding-refactoring cycles, and keeping software design loose. The author advocates for object-oriented analysis and domain-driven design to model the problem domain before writing tests. Collaboration between developers and stakeholders is also emphasized for specification by example and TDD.
10. • OOAD
– Analysis model
• Use case model
• Domain model
– Design model
– Implementation model
– Test model
– …
• TDD (Specification by Example)
– Testing
– Coding
– Refactoring
Copyright@2012-2019 Teddysoft
39. • TDD is one way, (but not the only way) to:
– make sure that : (s=t)=p
– keep your software soft
• Do not forget the design part of TDD
– You still need to design the domain model
• OOAD and/or DDD can help
• SBE/TDD needs intensively collaboration
between stakeholders and developers
Copyright@2012-2019 Teddysoft