Den lange bølge af kunstig intelligens rammer også Test Automation
I DevOps-æraen er diskussionen om integrationen mellem verden af Dev (eloper) og Op (eration) s ofte animeret. Vægten er næsten altid på automatisering af builds, enhedstests, udgivelser. Men i en sammenhæng, hvor udviklingscyklusser bliver kortere og kortere, hvor udgivelser frigives direkte i produktionen, risikerer manuel test at blive en flaskehals.

På den anden side bør automatiseringen af testene, som foreskriver både udvikling og frigivelse af scripts, med rette indgå i cyklussen. Men da det ikke handler om nye funktionaliteter, tages det for givet, og det ender ofte uden for planerne. Resultatet er, at det bliver stadig sværere at holde automatiseringsscripts afstemt med applikationsudgivelser, og en ikke-tilpasset test er en ubrugelig test. Desuden bør vi ikke glemme, at alle faser af SDLC (Software Development Life Cycle) bør testes, derfor følger det, at når vi taler om kontinuerlig udvikling og kontinuerlig integration, bør vi introducere konceptet kontinuerlig test.

Budskabet her er, at på grundlag af begrebet afprøvning automatisering ligger et problem: for at skabe
Men hvis DevOps har missionen om at integrere hele udviklingscyklussen, hvordan er det så muligt, at test er blevet endnu en udviklingsfase? Årsagen ligger i, at de anvendte rammer og værktøjer (først og fremmest Selen ), ikke har nogen form for intelligens i sig. Det følger heraf, at selvom de er meget effektive til at automatisere, er de kun gode for en udvikler.
Den “tredje bølge”: det vil sige kunstig intelligens og kontinuerlig test
I dag er det meste af GUI (Graphical User Interfaces) udviklet med Javascript og Node.js, og automatiserede test implementeres hovedsageligt med rammer som f.eks. Selen og Appium. Problemet med disse tilgange er, at de kræver en stor mængde scripting, de er ofte svære at vedligeholde, og det er svært at holde dem opdateret med de løbende udgivelser og de ændringer, der følger med dem.
Introduktionen af Machine Learning i automatiseret test introducerer nogle afgørende punkter:
- Automatisk testgenerering: det grundlæggende princip er ikke forskelligt fra “optagelse” med selen, med den forskel, at værktøjet i dette tilfælde genererer eksekverbar funktionelle testtrin. Nogle værktøjer som f.eks Funktioner også gøre det muligt at generere test, der kan køres fra testbøger skrevet i naturligt sprog, ved hjælp af NLP-teknologi.
- Selvhelbredende: et af de mest innovative koncepter for disse teknologier er evnen til autonomt at tilpasse testene til grænsefladeændringerne. I de sværeste tilfælde (f.eks. at ændre både positionen og etiketten på en knap) tillade brugeren at ændre adfærden interaktivt, nogle gange endda med et enkelt klik
- Ingen scripting: testen genereres på en gennemsigtig måde uden behov for at udvikle nogen kode.
- På tværs af browsere og på tværs af enheder: den nyeste generation af værktøjer giver os mulighed for at lave test, der kører på forskellige platforme, hvilket nu er et must-have krav.
- Nul eller minimal vedligeholdelse: takket være automatisk generering og selvhelbredelse bliver det muligt at lave tests, der følger med udviklingen og udgivelserne uden blodsudgydelser.
Hovedspillerne
Funktioner
Funktioner præsenterer sig selv som den “første fuldstændig autonome testplatform”. Den mest interessante funktion er den autonome oprettelse af tests, der starter fra en testliste skrevet i naturligt sprog til og med NLP. Testene er lavet med en masse klikbare skærmbilleder, platformen “tilpasser sig” til applikationen igennem Maskinelæring algoritmer og bliver mere robust over for layoutændringer, efterhånden som antallet af eksekveringer vokser. Du kan se en præsentation af de mest interessante funktioner herunder.
Applitværktøjer
Den vigtigste funktion, de hævder, er “Visual Validation Testing”, som er evnen til at validere hele layouts ved at emulere menneskelige visuelle processer uden behov for kalibrering eller konfiguration. Systemet bruger adaptive AI-algoritmer, der ville være i stand til at identificere potentielle GUI-fejl inden for bestemte konfidensniveauer uden eksplicit at kalde kodeelementerne.

En anden interessant påstand er at kunne integrere platformen med eventuelle eksisterende test, takket være en særlig bred kompatibilitet af understøttes platforme og rammer.
Tricentis Tosca
“Test automation @ DevOps speed” er Tricentis’ motto, hvor Tosca skiller sig ud for sin testautomatisering og Oversvømmelse til præstationstest.

Andre
Ressourcer
Sådan bruger du AI-testautomatiseringen (qainfotech)
Genopfind test for at galvanisere digital transformation (devops.com)
8 innovative AI-testautomatiseringsværktøjer til fremtiden: The Third Wave (joecolantonio.com)
Marlabs og funktionsdygtige partnere til at transformere softwaretest (marlabs)
Hvordan Machine Learning og AI bringer ny dimension til softwaretestning (towardsdatascience.com)
Kunstig intelligens – nyt buzz i automationstestning (xorant)
Udnyttelse af AI i kvalitetssikring (infosys)
McKinsey: AI, job og automatisering af arbejdsstyrke (zdnet)
Top 10 automationstestværktøjer i 2018 (guru99)

Andrea har arbejdet med IT i næsten 20 år og dækket over alt, lige fra udvikling til forretningsanalyse til projektledelse.
I dag kan vi se, at han er en ubekymret nisse, der brænder for neurovidenskab, kunstig intelligens og fotografering