Den nye grænse for automatiserede tests er Machine Learning – Nonteek

2

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.

Testens hårde liv for at følge med tempoet i stigende kompleksitet og forandring.

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.

Dette billede har en tom alt-attribut;  dens filnavn er continuous_testing_loop-1024x462.png
Kontinuerlig test i DevOps

Budskabet her er, at på grundlag af begrebet afprøvning automatisering ligger et problem: for at skabe dem vi har brug for ingeniører. Værktøjerne til at teste automatisering er så mange nu, at der også er Anaconda-stilfordelinger, der hævder at integrere dem. Situationen nu i QA er en slags røget grænse for DevOps, hvor komplicerede testcases udvikles med heterogene sæt værktøjer som f.eks. Agurk , Jenkins , og endda ad-hoc scriptsprog som Agurke . Problemet er nu, at vi har brug for udviklere til at teste (ikke kun udvikle) ny kode.

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.

Billedresultat for applitools
Applitools visuel validering

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.

Tricentis Tosca

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)

lignende indlæg

Leave a Reply