Coverage is a framework which runs your tests, keeping track of every linearly independent paths through your code and marking which path is or isn’t touched by a test. You know your code is 100% tested when every statement, branch (of ifs and switches), functions and line is contemplated.
If you wish to generate a neat HTML to visualize your code marked with coverage information, precede your test command with
Codecov and Coveralls
Codecov and Coveralls are, might I say, identical services. They display a report very much like the one you get from
nyc --reporter=html. Both read the LCOV format thus requiring you to run
nyc report --reporter=text-lcov and if you ask stackshare, both have very similar popularity.