A test suite says what it checks; coverage says what it reaches. With coverage on, every local request notes which templates it read, which of their tags ran, and which branch each {if} and {case} took. The report then shows each template with the parts that never ran marked.

PHP
fragments/coverage_1.php
HTML
fragments/coverage_1.pad
Result
<?php

$template
= "{if \$stock gt 0}In stock{else}Sold out{/if}";
$items = padCoverageMark ( padCoverageItems ( $template ), [], [ 'if $stock gt 0' => [ 'if' => 12 ] ] );
$marked = padCoverageHtml ( $template, $items );

?>
{!marked}
{if $stock gt 0}In stock{else}Sold out{/if}