Shipping Quality Code
Test-first methods can be further divided into Test-Driven Development (TDD) and Acceptance-Test Driven Development (ATDD). Both are supported by Test Automation, which is required in support of Continuous Integration, team velocity, and development efficiency.
Beauty of Testing (Steven) offers a few home truths which unfortunately are seemingly lost in the rush to make a production release by people not aware of the complexity of software engineering (and it not being an exact science):
Too often if the project is late or hurry up and learn or agile methods are employed, testing is one of those efforts where corners are cut.
Its nice to see that Steven appropriately calls out “specification”. All to often the concept of specification is lost in an agile project, leading to debate about a bug, and comments centred around “its obviously”. Ambiguity exists unfortunately in all walks of life, and hence the need for a specification. No specification, no bugs.
For example, no one builds as much as a kitchen cabinet without detailed drawings with measurements. Yet routinely we in software build products or features without specifications.