Continuous Integration (CI) testing is a software development practice where code changes are immediately tested with the entire codebase every time that new code is committed and merged into the source code. The goal of CI is to provide rapid feedback so that if bugs are introduced into the code base, they can be identified and corrected as soon as possible.
Continuous Integration has changed over time, originally, a daily build was the standard practice in the development world. Time and resources constrained running the test suite too frequently. Now, the usual rule is for each team member to commit new work to the repository frequently, and for builds to be conducted with each significant change. Used properly, continuous integration provides various benefits, such as constant feedback on the status of the software. Because CI detects deficiencies early on in development, defects are typically smaller, less complex and easier to resolve.
Traditionally source code was tested by developers locally by running the testing suite on their development machine as they finished new software modules. While this worked fine for small projects, larger projects' test suites could frequently take a very long time to run, as well as stress local system resources during the test. As a result CI testing was frequently only done on a daily basis across the entire project, or during development downtime.
With cloud based continuous integration services, the actual test process is moved from the local development environment onto cloud servers so that developers don't need to sit through the long process of running tests locally. As code changes are committed to the repository, the cloud CI services spin up resources to run the test suite and check the new code. When the automated test suite is completely processed by the cloud CI service, statistics are passed back as to what portions of the code in the build passed tests and what failed.
Coveralls takes the build data from whichever CI service your project uses, parses it, and provides constant updates and statistics on your projects' code coverage to show you how coverage has changed with the new build, and what isn't covered by tests. Coveralls even breaks down the test coverage on a file by file basis. You can see the relevant coverage, covered and missed lines, and the hits per line for each file, as well as quickly browse through individuals files that have changed in a new commit, and see exactly what changed in the build coverage.