Continuous integration is the practice of merging all of the developers work into a shared mainline. The aim of CI is to prevent integration problems.

Extreme programming advocates integration several times per day. For Extreme Programming, CI was the practice of running all tests in the developer’s local environment first, before uploading the code to the mainline. This helped prevent 1 developers code to break another developer’s code.

Summery: CI or Continuous Integration means testing the code before adding it to the pre-existing code to shorten the amount of time to delivery. Because, in theory, QA done after the completion of the software application would take a  LOT longer than as the software is being built.

without CI: QA after whole software is built

With CI: QA while the software is being built; testing each piece added.

In actuality, it is true that CI helps shorten the delivery time by reducing the amount of extricating needed to solve bugs. If the software is QA-ed only after its done being built, the developers would have to dig deep into the code to extricate the bugs.