In agile projects there is more need for
testers to understand and develop test automation scripts than in
traditional projects. Of the following, which are the TWO reasons why
this is a necessary skill on agile projects?
(i). Requirements change
daily and have to be regression tested. This rapid change requires
automated tests because manual testing is too slow.
(ii). The tests should generate feedback on product quality as early
as possible. So all acceptance tests should be executed in each
iteration, ideally as modifications are made. In practice that can only
be realized by automated tests.
(iii). Test-First and Continuous Integration Practice require that
the regression test suite is executed whenever changed code is
checked-in. In practice that can only be realized by automated tests.
(iv). Iterations or sprints are of fixed length. The team has to
guarantee that all tests can be completely executed at the last day of
each iteration/sprint. In practice, that can only be realized by
automated tests.
(v). Agile projects rely on unit testing rather than on systems
testing. Since unit tests cannot be executed manually, all tests have to
be automated tests.