The Coverage profiler lets you check whether a routine or a line was executed during the profiling run. It also lets you determine the code coverage percentage for individual routines, modules and source files of your application. The following sections provide an overview of the Coverage profiler:
The Coverage profiler tracks whether a routine or a line was called during the run and calculates the coverage percentage for individual routines, source files and modules. This lets you keep track of untested code as testing progresses over time. It may also let you find unnecessary code that you can remove, once you see that the method or line remains unexecuted under all possible conditions.
With the Coverage profiler you can analyze the application code (both 32-bit and 64-bit) at two levels of detail: routine and line.
If a routine was added to the routine-level area, the Coverage profiler collects information for the entire routine. To make the Coverage profiler track all application routines, check the All Project Modules (Routines only) area in the Code to Profile pane of the Setup panel.
If a routine was added to the line-level area, the Coverage profiler collects information for each line of source code within it. To make Coverage profiler track all the application routines by lines, check the All Project Modules (Collect info about lines) area in the Code to Profile pane of the Setup panel. Note, however, that profiling a large amount of code at line level can significantly slow down the profiling speed.
To profile managed routines at the line level, you have to compile the application with debug information. See How AQTime Profilers Use Metadata and Debug Information.
The Coverage profiler also supports triggers and actions. They allow you to turn the profiling on or off exactly when it is needed during the application run. For more information, see Using Triggers and Using Actions.
After the profiling is over, AQTime displays the generated result set in the Explorer panel. The Coverage profiler results are grouped by the kind of items displayed in the Report panel - Routines, Source Files and Modules. You can select the needed category in order to display results for each routine, module or source file in the Report panel.
To simplify analyzing coverage profiling results, AQTime marks executed lines and routines with green dots; unexecuted routines and lines are marked with red dots. Partially executed lines are marked according to the value of the Coverage profiler's Mark partially executed lines as option. For more information on partially executed lines and how AQTime counts them during the profiling, see Profiling Partially Executed Lines.
Within categories in the Explorer panel profiling results are grouped by threads (Windows, CLR or COM). The Coverage profiler's Thread model option specifies how the Coverage profiler gathers statistics for threads in the profiled application. For more information on profiling multiple threads, see Profiling Multiple Threads.Note on script profiling: In some cases results of script profiling may contain duplicated items in the Report panel for some script routines (this may happen due to some specifics of the script engine's and the Coverage profiler's functioning). To learn how you can solve this problem, see Profiling Scripts - Troubleshooting.
Using AQTime in Automated Testing
If you are interested in trying TestComplete, download a free trial from our web site:Download TestComplete
AQTime allows you to collect mass statistics for multiple profiler runs. You can enable AQTime's Auto-merge option to have the results merged automatically after every profiler run or select the desired sets and merge them manually using the Merge item of the Explorer panel's context menu. You can also compare results of several profiler runs in order to see the changes.
To simplify collecting mass statistics and automate profiling sessions, you can use AQTime along with SmartBear's TestComplete. Instead of testing the application manually, you can profile it automatically while the automated TestComplete tests are being run. After the profiling is finished, you can report profiling results directly to TestComplete's Test Log. With AQTime's Coverage profiler you can also check whether all of the application's functionality is covered by your automated tests and find unnecessary code that can be removed.
To learn more about TestComplete and its features, visit our web site:
For more information on integrating AQTime with TestComplete and other SmartBear tools, refer to topics of the Other Tools for Optimizing Your Applications section.