The test infrastructure allows you to
Automate execution of functional tests
Automatically determine if the automated tests passed or failed
Load the system at any time with the latest successful integration or an earlier one, without regard to what the programmers are doing
Save test data from one test session for use in another
Keep track of tests that passed or failed for a story and software version
Incorporate automated tests into the build script
Break out test infrastructure tasks in the first iteration, then fold them into the team velocity
Testing tasks fall into the following areas:
Clarifying acceptance criteria
Defining, acquiring, and validating test data
Automation design spike
Automation
Evaluation and reporting
Anticipate the test design to break out testing tasks, especially automation tasks.
Segregating acceptance testing tasks from development using a separate test team is usually a bad idea.
Try these ideas out yourself in the following exercise.