Power Platform: App Maker Challenge, deel 22

Ingediend door Dirk Hornstra op 06-jun-2022 22:09

Het twee-en-twintigste deel, verwachte tijd: een kleine drie kwartier.
Dit deel gaat over het documenteren en testen van je Power Apps applicatie.

We krijgen een overzicht van verschillende test-types.

  • Unit testing, kleinste component van testen, een "single unit of measure". Vaak wordt gedacht dat de developer dit moet maken. Maar eigenlijk kan iedereen in het project dit doen.
  • Quality assurance testing, ook wel QA genoemd. Als iemand onafhankelijk de taak test en daarbij vergelijkt wat de verwachting is en wat het product uiteindelijk oplevert. Vaak worden kleine componenten getest (net als unit testing), maar ook de volledige end-to-end story.
  • Performance testing, ook wel load-testing genoemd. Aantal gelijktijdige users (load), gecombineerde acties van de gebruikers, of een user die een formulier heeft met zoveel sub-grids dat het supertraag wordt. Performance/load-testing wordt vaak met externe tools uitgevoerd.
  • Integration testing, is de integratie met de systemen goed gegaan? Hebben wij onnodig extra afhankelijkheden (dependencies) toegevoegd?
  • User acceptance testing, feedback van de gebruikers, biedt het product wat ze willen?


Een testplan is een belangrijk document in je projectplan om te communiceren wat wel en wat niet getest wordt. En wat de voorwaarden zijn om het product als een succes te beschouwen.

Voorwaarden in het testplan geven aan welke omgeving nodig is om te testen. Deze moet zoveel mogelijk in de buurt komen van de technische setup op productie. En als de applicatie beschikbaar is op desktop, mobiel, offline, dan moeten al die zaken getest worden.

In het testplan nemen we op welke personas mee doen in de applicatie en zorgen dat op test ook dezelfde security rollen, profielen ingesteld zijn.

Een test plan bestaat vaak uit de volgende componenten:

  • Environmental needs.
  • Features tested.
  • Features not tested.
  • Testing Items
  •   Related Business Requirement
  •   Steps to test
  •   Expected result
  •   Item pass or fail
  •   Time and date tested
  •   Tester name
  •   Testing Notes
  • Testing Schedule
  •   Dependencies
  •   Timelines
  •   Schedule risks
  • Process for fixing and retesting failed test items


Klanten van Microsoft die Dynamics gebruiken, kunnen gebruik maken van EasyRepro, een bibliotheek met tools om automatische UI testen uit te voeren.

Er zijn 100 standaard testen voor de Web Client en meer dan 50 tests voor de Unified Interface beschikbaar.

De code staat in Github, je kunt dit in Visual Studio gebruiken: link.

Wat ondersteunt het wel?

  • Activity Row Wall
  • Business Process Flow
  • Charts
  • Command bar
  • Dashboards
  • Entities (Create, Update, Delete, Duplicate Detection, Assign)
  • Global Search
  • Guided Help
  • Grids
  • Sub-Grids
  • Navigation
  • Notifications
  • Performance Center
  • Quick Create
  • Run Workflows
  • Run Reports


En wat niet?

  • Settings Area (Administration)
  • Customization
  • Advanced Find Query execution (Open Advanced Find is available)
  • Export to Excel
  • Templates
  • Other Add-on Applications

Het optimaliseren van de performance.

Netwerk, bandbreedte en latency zijn hier de factoren die invloed hebben.
Client configuratie, CDS apps zijn web-based en gebruiken Edge of Chrome als basis.

App performance

Model-driven apps

  • Formulieren, toon alleen velden die nodig zijn. Maak eventueel verschillende formulieren per rol. En gebruik tabs om info die niet direct nodig is op een later tijdstip aan te bieden.
  • Views, beperk het aantal kolommen. Ook waar je op zoekt.


Canvas apps

  • Inladen van data, laat de server zoveel mogelijk doen. Kijk hiervoor ook naar delegatie: link.
  • Hou je controls simpel en ook het aantal in je schermen.
  • Workflows zijn handig, maar indien slecht ontworpen, kan het een bottleneck worden. Zo worden jobs log opgeruimd, maar als je het vinkje weg haalt, zal dit groeien en groeien.
  • Plugins, ook vaak een vertragende factor.


Meer tips staan hier: link.

Diagnostics en analytics

Met de "instance copy function" kun je en kopie van de productie-versie maken, inclusief data.
Statistieken voor instanties, CDS voor apps analytics is beschikbaar via het Microsoft Power Platform admin center: link.

Query performance, hoewel je niet direct in de Dataverse kunt werken, zijn er wel tools om verbeteringen door te voeren.

Dynamics 365 diagnostics, als je ergens last hebt van de bandbreedte of latency, dan moet deze tool dat kunnen vinden: https://<myorg>.crm.dynamics.com/tools/diagnostics/diag.aspx

Je hebt natuurlijk in je Microsoft Power Platform admin center een onderdeel Analytics, waar je meer informatie kunt vinden.

En ook heb je daar het kopje "Dataverse" waar je kunt zien wat vaak gebruikt wordt en mogelijk de boel (te) veel belast.

Goede documentatie is een pré. In dit filmpje krijg je hier uitleg over: link.