QuestionQ12

Continuous Integration, Continuous testing and Continuous Delivery

An Agile team is building a web-based system that will enable users to browse a store’s shopping catalogue and make online purchases.

Continuous Integration has been implemented and is technically working well, running several times daily, but each run takes nearly as long as the team is willing to permit.

It is evident that, after a few more iterations, the growing number of product tests will make the runs take too long.

Which of the four options contains a pair of solutions that will BOTH help address this problem?

  • Only include unit and component integration tests in the automated CI runs.
  • Schedule low-priority tests to execute first in each run to provide rapid build verification.
  • Reduce the extent to which automated tests pass through the user interface by using technical interfaces instead.
  • Reduce the number of CI cycles run each day.
  • Select a subset of automated tests for daytime CI runs, and run as many of the remaining tests as possible in an overnight cycle.
Explanation

Using technical interfaces instead of the user interface reduces the execution overhead of automated tests. Selecting a fast, representative subset for daytime CI provides timely build feedback, while running other suitable tests overnight prevents the full growing suite from delaying frequent integration feedback.

Community Discussion

No comments yet. Be the first to start the discussion!