Software Development and Project Management

Which describes continuous integration (CI)?

  1. AAt the end of development, the changes that each developer made over a long period are merged all at once and integration-tested in one go
  2. BDevelopers merge their changes into a shared branch frequently (several times a day), and each time a build and automated tests are run to find problems early
  3. CChanges that pass the tests are released to production automatically, without any human decision
Show answer and explanation

Answer: B. Developers merge their changes into a shared branch frequently (several times a day), and each time a build and automated tests are run to find problems early

In continuous integration, changes are merged in small, frequent steps, and each merge automatically triggers a build and tests such as unit tests on a server. Because the interval between merges is short, conflicts between changes and defects can be found and fixed while their cause is still easy to see. Another benefit is that regression tests, which re-run all existing tests, can be run automatically for every change. Automatically releasing changes that pass the tests to production is continuous deployment, a stage beyond CI.

  • A. Merging changes accumulated over a long period all at once at the end makes it hard to locate the cause of defects. CI exists to avoid this.
  • B. Correct. Small changes are merged frequently, and a build and tests run automatically each time.
  • C. This describes continuous deployment. CI covers merging and automating the build and tests.
Practice this topic Back to topic

Related calculators

Books on Software Development and Project Management Ad

As an Amazon Associate I earn from qualifying purchases.

More Software Development and Project Management questions

  1. Which correctly describes the difference between continuous delivery and continuous deployment?
  2. Which of the following requirements for a business system is a non-functional requirement?
  3. In UML, which diagram is suitable for showing how the state of an object changes in response to events (a button press, a timer expiring, a temperature being reached and so on), as in the control software of a rice cooker?
  4. In UML, which diagram shows the messages (calls and replies) exchanged between several objects in time order from top to bottom?
  5. Among the levels of module strength (cohesion) used to evaluate module independence, which has the highest strength and is considered most desirable?