Skip to main content

How to use Code Coverage effectively: Part 2/2

:: Customizing Code Coverage ::


   Before beginning this session, if you are new to code coverage, let's have a quick overview.

What is Code Coverage?
   Code coverage is the means of being able to track which part of the application code has been exercised during an activity. In Microsoft Dynamics NAV, code coverage is recorded by C/AL code line and specifies if a code line was exercised by the activity and the number of times the line of code was executed.

How to open Code Coverage?
   path: /Departments/Administration/Application Tools
   click here open Code Coverage directly.

How to Start Code Coverage Monitoring?
   Before beginning your process open Code Coverage window and click Start. "This starts the code coverage engine, and code coverage is captured. However, you will not be able to see any updated information until you choose Refresh or Stop. The information contains coverage of objects, triggers and functions, and individual lines of code or empty lines as determined by the column Line Type. Only lines of type Code can have coverage. Lines of type Trigger/Function show the average coverage of all code lines in the trigger or function. Lines of type Object show the average coverage of all code lines inside the object." Complete your process execution and reopen Code Coverage window and click STOP to end code coverage engine. 


Now the fun part. .  ..

Let's try to export this data precisely, only the code lines which were executed during the capturing process.

I have created a very basic report with DataItem as Code Coverage. Deatiled as below,
You can download this report from here: Code Coverage Report



Save and compile the report and Run it from Object explorer. Make sure if you completed Code Coverage process before this. Run this report and save the output as Microsoft Excel.




   Now as the code is avaialble in Microsoft Excel, we can do several advance functions like groupping, filtering, text search or even do pivot charts as per our analysis requirment.

Advance Analysis:

   Now the next section is only for advance analysis. You can export multiple Code Coverage session data as mentioned above. Scenarios like where you have to compare code execution flow in 2 different NAV versions, different Cummulative Updates or different localized databases, this will definitely help.

1. Run Code Coverage Report and export the Coverage lines as mentioned above for the first NAV instance.
2. Repeat the same step for second instance you want to compare with.
3. You may not be familiar with Microsoft Spreadsheet Compare tool, it is an inbuilt tool comes with Microsoft Office. If you have Microsoft office, you can look up into your system from start menu by searching keyword “Spreadsheet Compare” (in Cortana for Windows 10) or open directly from “C:\Program Files (x86)\Microsoft Office\Office16\DCF\ SPREADSHEETCOMPARE.EXE”


4. Select the desire files (created in step 1 & 2) you want to compare by clicking Compare Files action in ribbon. Click OK.



5. After opening the files, Click on Resize Cells to Fit action.



6. Click on Options and tick Process cell contents in inserted rows/columns.



7. Remove Structural comparison if not required. Option available on Bottom left.
8. Check comparison results (bottom middle section) click any row to highlight the change line.

Conclusion:

I found this tool very handy as it is simple, there is another way to this this task save the .xls or .xlsx file as .txt files and compare with any comapre tool like Araxis Merge or Beyond Compare etc. But doing so please keep in mind this is not object comparision, this is code coverage comparison.

Comments

Post a Comment

Please let me know about your thought on this:

Popular posts from this blog

C/AL Code support in Notepad++

C/AL Code support in Notepad++ Normally NAV object (.txt file) open as plain text in Notepad++ without no keyword highlighting as below. Which completely different from our native Developer Environment thus this editor is not friendly for code readability. But with importing a user defined C/AL language or UDL file in Notepad++, C/AL codes can be supported as other build-in support languages like Java or C#. Same file opened in Notepad++ after importing the UDL file. Now keywords are highlighted in multiple colours which is customizable.

How to use Code Coverage effectively: Part 1/2

:: Optimizing  Code Coverage Page  ::    As a Dynamics NAV developer, we all are fa miliar with this veteran tool for code tracking, The Code Coverage. This tool is very different from debugging as we don’t halt the transaction or process with breakpoints. It simply track all the codes executed during its capturing process from start to stop. It tracks all the code lines and count the line hit during the execution.    In Dynamics NAV previous versions like 2009 SP1 & 2009 R2 it was a great tool for developers to fix calculation issues which doesn't cause runtime error, Third party tool integrations or Tracking codes for developing new functionality in a module.    It feels gloomy to realize how this tool has lost its usability in recent versions. Recently I encountered G/L CONSISTENCY error in a transaction which is nothing but a calculation traggic in one of G/L entry. I tried debugger but unfortunately it didn’t work for me. Then...

Explore Metadata, User Code & User AL Code of Dynamics NAV Virtual Tables

  Dynamics NAV has System or Virtual tables, which is not visible in Object Explorer. Object ID range starting from 2000000001.. 2000000200 and Object Type as Table. What is Virtual Tables?   "A virtual table contains system information. You cannot change the data in virtual tables. You can only read the information. Virtual tables are not stored in the database but are computed by Microsoft Dynamics NAV at run time. Because virtual tables are not stored in the database, you cannot view them directly. To view a virtual table, you must create a list page based on the virtual table." List of Virtual Tables in Dynamics NAV 2016 Object Type Object ID Name Table 2000000001 Object Table 2000000004 Permission Set Table 2000000005 Permission Table 2000000006 Company Table 2000000007 Date Table 2000000009 Session Table 2000000020 Drive Table 2000000022 ...

.al file preview in Windows Explorer preview pane

D on’t like to wait for Visual Studio Code to boot up when you’re looking for a specific .al file? With this trick, you can preview .al files in Windows 10 without opening. .  .. What is File Explorer Preview Pane? First, let's check out the preview pane in File Explorer.  Open File Explorer.  Click on the View tab and then select Preview pane.  Click on a file you wish to view, such as a Word document, Excel sheet, PowerPoint presentation, PDF, or image. The file appears in the preview pane. Increase or decrease the size or width of the file by dragging the separation bar left or right. Modification required to Preview .al file in File Explorer Open Windows Registry Editor (regedit).  Find  Computer\HKEY_CLASSES_ROOT\.al Add New String Value (Right click), Name :  PerceivedType , Value data : text or Download this .reg file and double click to Merge it.  (link below) Download If prompted, click/tap on  Ru...