Teknologien til at udføre effektive automatiserede tests har været tilgængelig i minimum det sidste årti, og ressourcer med de rette kompetencer kan også hentes til rimelige penge. Og stadigvæk ser jeg næsten ingen automatiserede tests på Microsoft Dynamics 365 platformen!

Dette er det tredje blog-indlæg om emnet Automated TestMicrosoft Dynamics 365 platformen. Vi har adresseret potentialet i en række områder, der giver værdi til forretningen, hvor der er en endog stærk business case. Lad os nu kigge på automated test fra et teknologisk perspektiv.

Abstraktionsniveau

Vi har alle rakt ud til it-afdelingen og hævdet “at det ikke virker”. Vi bliver straks mødt med en række spørgsmål fra it, så de nøjagtigt kan indkredse, hvad det er, som ikke fungerer. Og efter at have besvaret disse spørgsmål, så har it stadigvæk en liste med verificeringer for at indkredse problemet yderligere.

Så vil du teste “om det fungerer” (high-level) eller vil du verificere hvert element, som kombineret skal gøre det muligt at få det til at fungere (low-level)? Test på low-level giver dig en god test-dækning. Du har mange mindre tests og dækker mange logiske scenarier, som en test på high-level ikke ville fange. Men det kan være ret kompliceret at designe et low-level test niveau for at sikre, at den påtænkte funktionalitet på high-level fungerer.

Low-evel test er hurtigt at skrive og hurtigt at udføre. Test på high-level er lidt mere besværligt at definere og skrive, og du vil give lidt mere arbejde til it for at finde ud af, hvorfor din test mislykkedes. Men her er du sikret, at du tester den langsigtede brug af platformen.

Hvis dette er starten på din rejse med automated test, så anbefaler jeg, at du starter med high-level test. Opret en 1:1 automatisering af de handlinger, som en rigtig person ville foretage i systemet. Det er en test, som alle kan forholde sig til, hvilket gør det nemt, og du kan få organisationen med. Det er normalt også en nemmere test at definere for et rimeligt niveau på kvalitet og dækning.

Jeg vil anbefale low-level test for specifikke kerne-komponenter med stor kompleksitet, som for eksempel output af en algoritme, der genererer priser, migrerer data eller udfylder komlekse tidsplaner.

Teknologier til high-level test

Der er en række tredjeparts værktøjer tilgængelige på markedet til high-level tests. Her opretter brugerne deres test-suite ved at lave optagelser, hvor de navigerer i systemet. Herefter afspilles optagelserne i sekvenser, der genererer en test-rapport.

Microsofts Life Cycle Services har en optagefunktion, der er beregnet til at automatisere rutineopgaver. I efteråret 2019 frigav Microsoft et mindre værktøj kaldet RSAT (Regression Suite Automation Tool), hvor du kan eksekvere alle dine optagelser af opgaver i en sekvens og udsende en rapport. Ulemplen ved dette er, at Life Cycle Services ikke dækker alle applikationer i Microsoft Dynamics 365 og efter min mening, så er det for simpelt at bruge en optagelse af en opgave. Grundlæggende er dit kontrolpunkt, om du kan udføre en given opgave uden en systemfejl. Nogle tests er bare lidt mere komplekse end det.

De fleste værktøjer konverterer dine optagelser til kodede scripts. Et alternativ er naturligvis at kode disse scripts selv. Det kræver lidt mere tid pr. test case, men giver dig en meget større frihed til at konstruere komplekse test cases med flere brugere, roller og systemer, der verificerer beregninger mod eksterne kilder.

Disse scripts kan skrives ved enten at visualisere Dynamics 365 applikationen via API, f.eks ved at bruge Microsoft PowerShell eller ved at efterligne realtids brug via browseren som f.eks Selenium Webdriver. Den første tilgang er hurtigere, mens den sidstnævnte er langsommere og relatérbar for slutbrugeren og vil også fange problemer med scriptet mod klienten eller browser kompatibilitet.

Optageren i Microsoft Life Cycle Service bruger Selenium og Microsoft udviklere har offentliggjort en open source på GitHub, kaldet EasyRepro, beregnet til at fremskynde dit eget Selenium script.

Jeg håber, at du har fået lyst til at læse mere om fordelene ved at automtisere tests i forbindelse med deployments. Herunder finder du flere relevante blog-indlæg omkring enmet:

Kontakt os i dag!

AlfaPeople er for 10. år i træk blevet anerkendt som en top 1% Microsoft Partner og er førende konsulenthus på Microsoft Business Applications som blandt andet omfatter Microsoft Dynamics 365 Customer Engagement og Microsoft Dynamics 365 Finance.

Ønsker du at høre mere om AlfaPeople Automated Test? Vores erfarne konsulenter er klar til at tale med dig i dag. Kontakt os på telefon +45 70 20 27 40 eller email dynamics365team@alfapeople.com, så tager vi en snak om, hvordan vi kan hjælpe dig.

Sourcing and Service Director i AlfaPeople

Working with AlfaPeople since 2014 inspiring global organizations to discover opportunities and embrace today's technology.