Are you ready to migrate to the cloud – stress-free?

May 23, 2022

What triggers businesses to start using cloud technologies? Without any doubt, the majority would list service levels, business enablement, user experience, and, of course, costs. With a decade of solid experience in the area, Global Mediator will guide your business through this metamorphosis with minimal stress.

Why migrate from on-premises to the cloud

Keeping outdated legacy systems current often proves to be enormously and unreasonably expensive. Maintenance of the on-premises legacy infrastructure and the attempts to make the legacy applications operate can result in many problems including making the software more vulnerable to malware. Besides, it may lead to relying on legacy systems that are hard to maintain due to a lack of professionals who can fix the applications or make patches to cure problems.

In addition to preserving business data, customers, as a rule, would also like to keep the business processes directly related to the legacy applications. Regardless of the form of an application, migration implies a clear strategy and organization that must ensure that the application is functioning properly during the transition.

Developers and QA pros collaborate to accomplish migration to the cloud (Azure)

Initially, the team starts analyzing current on-premises functionality. The following information (including but not limited to) should be gathered:

  • Identification of all the business flows – to create BDD test cases
  • Identification of all the customizations, extensions, and add-ons that require migration – to create TDD test cases
  • Identification of the number of users currently working in the system and their region – to test accessibility
  • List of the localizations in use – to create and test the cloud environments
  • Analysis of the integration with third-party systems – to test APIs and data transfer from and into Business Central
  • Analysis of the space usage – to test performance, recovery, and space limits

The first step is to prepare the migration plan which should include the processes needed to migrate code, data, tables, and functionality. Global Mediator divides this plan into iterations: envisioning phase (an important one since technological advancement untaps modern approaches to implementing and using business cases), Fit/Gap analysis, work, and scope planning, documentation requirements, creating test scenarios from technical and business sides, coding, testing, release with further maintenance. Documentation is a huge part of work which requires each functionality and architecture to be well-structured and well-documented. An optimal level of documentation is a mandatory point aimed at creating test cases to cover all customizations, extensions, standard functionality checks, verification, and comparison of data migration in tables.

Developers & QA’s collaboration to make migration to the cloud stress-free

Why we recommend focusing on writing test cases first

Often customers have numerous extensions on-premises with old NAV or Business Central on-premises versions. With only source code, developers might overlook certain aspects of the functionality, especially legacy-related functionality. This functionality should be covered by unit tests with further integration into CI/CD pipelines. To ensure the correct SDLC flow, our QA engineers first create BDD and TDD test cases to describe the system’s functionality and its correct behavior in detail. The development team uses these test cases to clearly understand the functionality usage and to cover legacy code with code units to move it into the cloud. In case developers try to cover source code by unit test having only code without test cases, there is a major risk of defects in such unit tests. This will certainly take rework and more time to fix with returning to the initial state of analysis and finding out how the system actually works.

When we are in the cloud, our application/solution should comply with regular changes pushed by Microsoft updates (both minor and major) and/or changes in other integrated applications. This then means we should optimize our regression testing by replacing a manual routine with an automated one. That’s now possible with Test Codeunits, which is very relevant in the cloud Business Central world. As part of an auto-testing routine, QA pros are helping software engineers by preparing Test Cases for unit test programming. In short: cloud -> regression tests -> test automation (Test Cases paired with Test Codeunits).

Creating test cases in a format that will be used for writing unit tests is a mandatory step as well. Developers might fail to see the full picture of the system functionality if they operate solely with source code. Therefore, QA engineers apply different documentation techniques to provide developers with useful and maintainable test cases. Global Mediator’s QA engineers apply both BDD (Behavior-driven development) and TDD (Test-driven development) techniques to cover all Business Central functionality with functional and non-functional test cases. It is detailed work that requires a lot of skills to analyse and correctly structure the test cases to make them easy for understanding and further implementation.

“QA documentation which includes test strategy, test case writing, test procedures, and test conclusions, is a mandatory level before starting the development process since covering legacy code with unit tests requires the creation of the test first. It is done to have a behavior flow view and avoid producing incorrect code.”

- Ulyana Akdeniz, QA Lead at Global Mediatorr
Global Mediator’s compliance with Universal Code Initiative

To deliver best-in-class solutions for each of our customers at a reasonable cost, Global Mediator operates within the Business Central Universal Code Initiative. The approach helps reduce the costs of using, updating, and supporting the cloud extensions used by the customers.

In case Business Central is migrated to the cloud and the extensions are not optimized for the cloud, Microsoft will generate additional costs to support the on-premises extension in the Business Central cloud version. Using TDD and BDD test cases, the development team in cooperation with the QA engineers, plan and create code units to cover all on-premises functionality under migration and further updates, as well as put all the delivery and deploying process on CI/CD. Global Mediator’s agile teams of software and QA engineers use the CI/CD pipeline to bring automation into every step of application development.

When the documentation is ready and the unit tests are created, it is mandatory to verify that unit tests have no bugs. And here again, Global Mediator’s QA pros come into play. With positive and negative cases planned and described, the QA team runs manual testing in parallel with unit test execution. This makes us 100% certain that the code unit and migration code are working properly. It might look like a doubling of efforts, but in fact, this is a guarantee that no bugs are found in code test realization.

Also, creating and verifying unit tests help put all code delivery on CI/CD. Once the unit test results are verified and confirmed, then the unit test becomes included in the automated testing verification during the creation of the code version. Unit tests in CI/CD mean clean code, eliminating bugs and vulnerabilities, improving workflows with continuous code quality and code security, as well as preventing errors to avoid undefined behavior.

Subscribe to Global Mediator newsletter

Stay current with the latest insights from us