Passing the Software Solution Test is not mission impossible. In 2016 alone 92% of ISVs successfully completed the Self-Test for NAV 2016.

However, Partners make numerous time consuming mistakes before submitting their solution for testing. This results in a longer testing process, failure and difficulties of connecting to the testing environment.

1ClickFactory started providing our Software Solution Test Service with the release of Microsoft Dynamics NAV 2015. To date, we have tested more than 150 solutions already, compiling the most common mistakes we’ve seen ISVs make during this process.

From this, we will share our recommendations on how to successfully pass your Software Solution Test based on our best practices. Our goal is to make the Software Solution Test experience for Partner easy and fast, while ensuring each Partner’s solution is of sound function and quality before being released to the market.

In this blog post, you will learn the most common mistakes and how to avoid them for the requirements from the Software Solution Test Guidelines for Microsoft Dynamics NAV 2017 (in 4 areas):

  1. Requirements related to an ISV solution objects (0.1, 1.3, 1.4, 6.6)
  2. Documentation requirements (Appendix B, Appendix C)
  3. Requirements related to external components (DLLs, ActiveX, COM)
  4. Requirements specific for localization solutions (2.1, 4.1).

1. Requirements related to an ISV solution objects (0.1, 1.3, 1.4, 6.6)

1.1. Requirement 0.1: Application objects that are submitted for testing must be listed in an Excel workbook

Most common mistakes:

  • Objects List does not match with the objects in the Object Designer.
  • Excel workbook does not include all mandatory columns.
  • WSExposed column not filled out.
  • Objects marked as TRUE in WSExposed column do not match objects displayed on the table 2000000076 Web Services.

How to avoid these common mistakes:

  • Use correct Object List template, which you can download with 1ClickFactory Documentation Toolkit for NAV and include new objects and standard modified objects in an Excel workbook. You don’t need to include objects that were not adjusted by your company.
  • Ensure that pages, codeunits, queries that are exposed as web services are listed in the Excel workbook and displayed on the table 2000000076 Web Services.

1.2. Requirement 1.3: All new application objects must use the specific assigned number range that you received from Microsoft  

Most common mistakes:

  • ISV solution added objects in custom range (50000..99999).
  • ISV solution added objects outside assigned objects range and did not provide a justification for such exception (i.e. if you would use the third part solution in your certification).

How to avoid these common mistakes:

  • Use objects in an assigned objects range only and remove objects from the custom range.
  • Provide justification for any exceptions (e.g. third party components considered as a part of ISV solution).

1.3. Requirement 1.4: The ISV solution must follow standard Microsoft Dynamics NAV version conventions and provide code comments for changed Microsoft Dynamics NAV objects

Most common mistakes:

  • There are objects with empty version tags in the version list or not all new or modified objects have an updated version tag in the development environment.
  • ISV solution version tag is added in front of standard Microsoft Dynamics NAV tag.
  • Modified flags were not removed from the objects.

How to avoid these common mistakes:

  • Ensure that version list is updated for all new and standard modified objects.
  • Add code comments when modifying original Microsoft Dynamics NAV code.
  • Ensure that all objects are from the latest version and service pack of Microsoft Dynamics NAV.
  • Remove Modified flag from all the objects that were adjusted, so basically, the Modified flags must be set to No to all objects.

1.4. Requirement 6.6: After the ISV application is installed, the Microsoft Dynamics NAV database must compile without errors

Most common mistakes:

  • Objects are not compiling due to missing external components (i. e. DLLs, ActiveX, COMs) or third party software (e.g. Microsoft Office, etc.).
  • Correct license with permissions to compile solution objects is not provided, thus testing engineers aren’t allowed to compile solution objects.

How to avoid these common mistakes:

2. Documentation requirements (Appendix B, Appendix C)

2.1. Appendix B (Requirement 1.9 or 1.10): Microsoft Dynamics NAV Consistency Verification Test

Most common mistakes:

  • Appendix B is not provided in English (all solutions are tested in English, thus documentation should be provided in English).
  • User Profiles and Role Centers aren’t described in the template.
  • Not all questions are answered.
  • Key usage scenarios cannot be completed due to missing setup, license, or lack of information.

How to avoid these common mistakes:

  • Answer to all six questions that are included in the Appendix B (template can be found and is ready to use at 1ClickFactory Documentation Toolkit for NAV).
  • Write detailed step-by-step instructions when documenting the key usage scenarios. Do not forget to add screenshots.
  • Test scenarios by yourself before submitting a solution for validation and ensure that there are no errors when performing the same scenario that you described.

2.2. Appendix C: The ISV solution must use RapidStart Services to increase setup speed

Most common mistakes:

  • Appendix C is not provided in English.
  • Not all questions are completed in Appendix C.

How to avoid these common mistakes:

  • Answer all questions that are included in the Appendix C.
  • The RapidStart Usage Questionnaire is mandatory to complete for all solutions, regardless if you use RapidStart services or not. Provide this complete questionnaire together with the other required documents when submitting solution for testing.

3. Requirements related to external components (DLLs, ActiveX, COM)

3.1. Requirement 1.1: The solution-specific managed code must be compiled with at least the .NET Framework 4.5 and must pass the required code analysis tests

At 1ClickFactory, to test the requirement we use the FxCop tool, provided by Microsoft, to analyze if there are critical and/or security errors. The FxCop tool is free to download from the Microsoft website and the link is available in the Software Solution Test Guidelines for Microsoft Dynamics NAV 2017.

Most common mistakes:

  • Solution managed code does not pass FxCop analysis.
  • Third party assemblies are not identified and do not pass FxCop analysis.

How to avoid these common mistakes:

  • Ensure that there are no Critical and Security errors (we recommend you download the FxCop tool and run the test before yourself to discover and fix all the Critical and Security errors before submitting your solution for testing).
  • If you use any third party assemblies that were created not by your company and you cannot fix the errors, specify which managed assemblies are yours and which are a third party vendors (provide a list).

3.2. Requirement 6.4: The ISV solution must correctly register add-ins in Microsoft Dynamics NAV and deploy add-in assemblies to client machines

Most common mistakes:

  • Not all control add-ins are registered in the table 2000000069 Client Add-in.
  • The list of control add-ins in the table 2000000069 Client Add-in does not match with the list of add-ins in the add-ins folder.
  • There are visible UI errors or faulty functionality due to incorrectly installed add-ins.

How to avoid these common mistakes:

  • The necessary control add-ins must be registered correctly.
  • Ensure that control add-ins are registered in the table 2000000069 Client Add-in with (at least) its name and the public key token of its signature.

4. Requirements specific for localization solutions (2.1, 4.1)

4.1 Requirement 2.1: The ISV solution must include Help that is targeted to the solution user

Most common mistakes:

  • Online Help Server is not configured and does not work by pressing F1 or Help button.
  • Special note for Partners that create localizations: standard Help pages are not translated to languages supported by localization solution.

How to avoid these common mistakes:

  • Provide Tooltips or Online Help for all new and customized objects if these objects surface in the Microsoft Dynamics NAV user interface.
  • Provide Help documentation using Microsoft Dynamics NAV Help Server (HTML files) accessible from RTC by pressing F1 or Help button.
  • Special note for partners that create localizations: all the help pages, even the standard ones, must be translated into all the languages that the solution is provided in.

4.2. Requirement 4.1: The ISV application must separate strings from source code

Most common mistakes

  • Hardcoded text constants exist in a solution code.
  • UI language strings (Multilanguage captions) are missing for supported languages.
  • Specifically, for Partners that create localizations: standard Microsoft Dynamics NAV functionality is not translated into languages supported by localization solution.

How to avoid these common mistakes:

  • Ensure that all text constants are multi-language enabled.
  • Make sure there are no hardcoded text constants and that they are shipped with the necessary language strings instead.
  • Special note for Partners that create localizations: all the text constants, even the standard ones, must be translated into all the languages that the solution is provided in.

Ready to get your Software Solution tested?

Complete your Software Solution Test at 1ClickFactory’s Testing Center today! To simplify the CfMD process for you, we suggest downloading these valuable resources from 1ClickFactory: