D365 Finance & Operations ISV Solution Development Best Practices (Part-3) - Testing Strategy & Release Updates
In this blog series we will cover key decision points and best practices in development and maintenance lifecycle of ISV solution for Dynamics 365 Finance & Operations (F&O). The intent of this blog series is to provide best practice recommendations to to potential ISV solution developers to evaluate during their Design, Development and Maintenance product journey.
Full Blog Series Links:
- D365 Finance & Operations ISV Solution Development Best Practices (Part-1) - Develop & Customize Design
- D365 Finance & Operations ISV Solution Development Best Practices (Part-2) - Environment Planning & Code Repository
- D365 Finance & Operations ISV Solution Development Best Practices (Part-3) - Testing Strategy & Release Updates
- D365 Finance & Operations ISV Solution Development Best Practices (Part-4) - Customer Implementation Readiness
Before designing the ISV extension / connect components or testing strategy it is important for ISV partner to understand Microsoft Dynamics 365 F&O Service Update Strategy & One Version philosophy. As staying current with Microsoft product roadmap and service updates and following the development framework ISV can benefit in great deal in being compatible with D365 F&O updates, reduce time to market and keep cost minimal in developing & maintaining the IP. Keeping this understanding at central stage help ISV’s maximize benefiting from roadmap updates and reduce their readiness time to market.
Testing Strategy:
An ISV must have a defined test strategy to control the quality release of product in terms of new releases as well servicing existing customers with hotfixes and updates. We recommend ISV to consider the following testing options, ISV can base on complexity, solution scope and customer segment & scale can use mix of following testing options.
- Create and automate user acceptance tests using Task Recorders, BPM and DevOps. Use this method to automate your manual functional testing operations. Typically, a testing manager creates testing strategy, test cases and executes those. It is recommended to at least set up this level of automation for re-occurring testing and keep quality release outputs with continuously expanding task recorder-based test cases.
- For MVP suggestion is at least for most frequent use cases develop set of 15-25 test cases and make it part of DevOps executed cases via task recordings so those can be executed whenever any internal release is deployed.
- Using Regression Suite Automation Tool (RSAT) for automated testing. RSAT is particularly useful when you are releasing product updates as well as checking your product for regression testing against One Version updates from Microsoft. RSAT provides a tool for chaining use cases, doing parallel execution, change seed / test data via files and more advanced automation and execution methods.
- Developer Testing & Unit Testing. Code base development test cases can be executed using Test Projects in Visual Studio and Acceptance test library resources.
- Performance Testing can be executed based on volumetric scenario need as well functional and non-functional requirements. ISV can define and execute Single user performance testing or multiple user performance testing scenarios.
- A very compressive TechTalk available on defining a testing strategy for D365 F&O implementations to evaluate the testing options and how to plan it for ISV and customer implementations.
Release Update Planning:
Once ISV partner understands Microsoft One Version Philosophy key takeaways from it to remember are as follows.
- Microsoft publish Release Plans for base product updates. Those to be considered to keep your ISV solution complaint with new releases.
- For your solution to be binary-compatible with all your customers, it must be built on the oldest platform release that you want to support. All new updates that Microsoft releases are intended to be binary backward-compatible. This compatibility gives you the option of maintaining only one servicing version of your solution that is based on the oldest of the three most recent updates. Therefore, you must maintain just one released solution. You can then use that solution to update all your customers, regardless of which of the three most recent updates they are running. As your customers adopt new Microsoft updates, you can rebase your maintained solution to a newer release to remain current with the three most recent updates.
- You can compile a customization on an older platform and deploy it to a customer environment that has been updated to a later version. You cannot deploy code compiled on a later version than the one running on the environment you deploy to.
- This recommendation applies to servicing and maintaining your released solution. You will use a different approach to develop new releases of your solution. For more information, see the Developing new releases section of this topic.
- Create Update Notification Mechanism for Your Customers: An example of how you can notify customers about new release of ISV or hotfixes update is as follows. For your customer implementations, you can host a webpage which has the information of your ISV releases and their current hotfixes versions or updates. With your Dynamics 365 F&O ISV you can put a link / Check Version Update functionality which can retrieve information from your hosted webpage for customer ease. The purpose is to make your end customer easily aware of any hotfixes / update versions available for your ISV, you can be creative and proactive in this area to inform customers as you release updates.
- Dual-Write Enabled Solutions: If solution is dependent on dual-write functionality, a smooth update requires D365 F&O as well corresponding Power Platform applicable update as well and during applying update the dual-write to be properly disabled and enabled as per guidelines for upgrade.
- D365 F&O Add-Ons: If your ISV depends on D365 F&O add-on services such as RCS, Inventory Service Add-on etc. those are getting updated almost on weekly cadence behind the scene. However if its a major update / critical update the engineering team will notify via release update documentation.
Solution Readiness & Publishing Checklist:
On every major ISV solution release whether it is just ISV functionality enhancements or complaint release with new D365 F&O product release cross check following areas for update your ISV as well.
- User Manual / Task Guides: Leverage and update Task Guides / Help guide to deliver SOP / user manuals for your ISV functionality. Please refer to this link to understand more on Task guides. Tasks guides are used for helping manuals as well scripted test cases execution as well.
- Localization Requirements: Localization / internationalization requirements as well regularity requirements applicable to your ISV components for the applicable geographies and industries can be updated and changed around the year keep track of those and incorporate those into ISV solution as well your AppSource marketing collateral with very release update. Please refer to Globalization content for Dynamics 365 F&O.
- Accessibility: is a big part of SAAS based modern applications. Please evaluate your ISV with Accessibility features and tools in D365 F&O for adherence.
- For Privacy, Security and Compliance guidelines please refer to Microsoft Trust Center.
- Curate & Publish Solution & Updates: Refer to Microsoft Business Application ISV Connect for a compressive guide on publishing the solution on AppSource.
Summary:
We compiled in this blog few testing strategy and release update links, important information and recommendations when building an ISV solution. Evaluate above suggestions in the context of your solution future roadmap and subsequent builds. Following some of above suggestions will help in keeping maintenance cost low and build solution on right foot for alignment with D365 F&O Application Lifecycle Management practices.
References:
*This post is locked for comments