The majority of our testing would be Black-Box testing as our solution, like all connectors, is low-code. There would be instances of White-Box testing, particularly for the WebEx connector.
Our strategy was a combination of existing strategies: Consultive, Analytical, Reactive.
We used Consultive Testing as we would consult Microsoft with queries we had regarding the technologies and any blockers. Through weekly standup meetings, we methodically walked them through our blockers, which they helped resolve, and also our plans for the upcoming week, which we would implement upon their validation. As such, they would give us a run-down on what should be done and we would agree to make tests on those solutions to ensure we had implemented them correctly. This also ensured that the client was satisfied with our coverage.
We used Analytical Testing as we had a set of established requirements that the solution needed to satisfy, courtesy of the Moscow List. This pre-defined list of requirements acted as a guide to our development progress. This made progress and quality of the solution measurable.
We used Reactive Testing as the technologies we used would be new to us. Consequently, we would need to test for things we would otherwise not expect to test once we have encountered such an issue. This was particularly the case when creating the custom connector and Template.
The primary goal of testing our APIs was for functionality, correctness and adequate performance (response times). Our connector depends
almost entirely on the correctness and functionality of the APIs being used. Therefore, testing those APIs would be crucial before starting the development of the connectors.
Hence, before implementing our custom connector, we made sure to fully understand and confirm that the API that we planned to use would satisfy our requirements and work as expected.
We experimented and tested different JSON bodies as part of the payload of the HTTP POST requests that we would do through the WhatsApp Business Cloud API. These included:
1. JSON bodies with no variable substitution in message template.
Our final product is composition of 2 components, namely the Custom Connectors and the Power Automate Flow.
Having developed and tested each separate component, we went ahead and combined the Connectors and the Flow in the Canvas App.
Once we combined that, we proceeded to the testing phase of the Canvas App as a whole. This is part of Integration testing.
To do so, we made use of the Microsoft Automated Testing facility on Power Apps called Kudo.
The Power Apps Development Environment provides facilities for automated testing. By recording a set of actions, Power Apps will automatically
execute those actions and run any assert statements specified in the test suite.
Below is a video of how we used this facility to test our Canvas App:
Our Canvas App has 2 main components, namely the Appointment Creation and the Appointment Reminder. As part of unit testing, we isolated these 2 features
and wrote 2 separate automated test suites using Kudo on Power Platform.
The first test suite runs the Canvas App automatically and simulates a user at the NHS creating an online meeting. The success of the operation is illustrated in a short video below.
As part of the deployment process of the connectors, we submitted both of them to the official Microsoft Connectors GitHub as a pull request.
During that process, we interact with the person responsible, Amjed Ayoub, for the connector submission who follows a strict submission format and sometimes
requested us to make changes to the connector, for it to conform to industry standards and free it from any bugs. The screenshot below shows how we had to change some
configurations in the swagger file, which is the main file in a connector, and the settings.json file, which defines the general
properties of the connector such as the logo or the background colour. We also had to make our documentation conform to American English.
"Congratulations on Building the Microsoft Power Platform Connectors and Demo Solution!
Dear Team, I wanted to take a moment to express my heartfelt congratulations to all of you on the fantastic achievement of building the Microsoft Power Platform connectors for Webex and What's app and the end-to-end demo solution for the NHS. It is truly impressive, and you should all be proud of what you have accomplished.
Your hard work, dedication, and expertise have been evident throughout this project. Your skills have been pushed to their limits, and the results speak for themselves. The connectors you built are a testament to your technical prowess, and the end-to-end demo solution is a reflection of your ability to understand complex customer requirements and deliver solutions that meet their needs.
Your efforts have not gone unnoticed, and I want to thank each one of you for your contribution to this project. Your commitment to delivering high-quality solutions is a source of inspiration to everyone on the team, and I know that our customers will benefit greatly from your work and thank you for your submission to present on the Power Platform Community calls to showcase your projects.
Once again, congratulations on this incredible achievement. You have set a high bar for future projects, and I am confident that we will continue to achieve great things together.
Best regards,
Lee Stott
Principal Cloud Advocate Manager
Associate Honorary Professor, Computer Science, University College London
Microsoft"