2 point 1 point 3 Testing as a Driver for Software Development

2.1.3. Testing as a Driver for Software Development

TDD, ATDD and BDD are similar development approaches, where tests are defined as a means of

directing development. Each of these approaches implements the principle of early testing (see section

1.3) and follows a shift-left approach (see section 2.1.5), since the tests are defined before the code is

written. They support an iterative development model. These approaches are characterized as follows:

Test-Driven Development (TDD):

• Directs the coding through test cases (instead of extensive software design) (Beck 2003)

• Tests are written first, then the code is written to satisfy the tests, and then the tests and code are

refactored

Acceptance Test-Driven Development (ATDD) (see section 4.5.3):

• Derives tests from acceptance criteria as part of the system design process (Gärtner 2011)

• Tests are written before the part of the application is developed to satisfy the tests

Behavior-Driven Development (BDD):

• Expresses the desired behavior of an application with test cases written in a simple form of

natural language, which is easy to understand by stakeholders – usually using the

Given/When/Then format. (Chelimsky 2010)

• Test cases are then automatically translated into executable tests

For all the above approaches, tests may persist as automated tests to ensure the code quality in future

adaptions / refactoring.

Lämna ett svar