Testien vakauden ylläpitäminen julkaisujen välillä TestMu AI:n avulla

By Devansh Bhardwaj

Rikkovatko käyttöliittymäjulkaisut testisarjasi? Lue, kuinka TestMu AI lyhentää vianmäärityksen päivistä tunteihin itsekorjautuvien testien, epävakauden tunnistuksen ja nopeampien rinnakkaisajojen avulla.

Testmu ai Partner Spotlight 65531

Partner Perspectives

This is sponsored content from TestMu AI. Learn here about our transparent editorial approach.

Yritysten laadunvarmistustiimit menettävät enemmän tunteja rikkoutuneisiin testeihin kuin uusien testien kirjoittamiseen. Jokainen käyttöliittymäjulkaisu muuttaa paikantimia, asetteluja ja käyttäjäpolkuja. Perjantaina läpäisty testikokoelma epäonnistuu maanantaina, eivätkä useimmat näistä epäonnistumisista johdu todellisista virheistä. Tässä artikkelissa seurataan yhtä toistuvaa yritysten työnkulkua: automatisoitujen testien pitäminen vakaina tiheiden käyttöliittymäjulkaisujen aikana.

Se näyttää, miten {{deeplink:3489:[TestMu AI (formerly LambdaTest)]:testmu_ai_leading_ai_testing-tool_enterprises}}, maailman ensimmäinen täyden pinon agenttiseen tekoälyyn perustuva laadunvarmistuksen suunnittelualusta, käsittelee tämän työnkulun jokaista vaihetta testien laatimisesta vianmääritykseen.

Miksi tiheät käyttöliittymäjulkaisut rikkovat yritysten testikokoelmat

Tarkastellaan tyypillistä yritysten tilannetta. Vähittäiskaupan alusta julkaisee verkko- ja mobiiliversion kahden viikon välein. Sen regressiotestikokoelma sisältää noin 1 400 automatisoitua käyttöliittymätestiä. Jokaisessa julkaisussa jokin komponentti suunnitellaan uudelleen, elementtejä nimetään uudelleen tai kassavaiheiden järjestystä muutetaan. Jokaisen käyttöönoton jälkeen 10–15 prosenttia testikokoelmasta epäonnistuu. Lähes mikään näistä epäonnistumisista ei viittaa todelliseen virheeseen.

Kolme kustannusta kasautuu julkaisusta toiseen:

  • Paikantimien siirtyminen: pienet DOM-muutokset rikkovat valitsimet, joten toimivat ominaisuudet ilmoitetaan epäonnistuneiksi.
  • Vianmäärityksen työmäärä: insinöörit käyttävät yhdestä kahteen päivää julkaisua kohden erottaakseen rikkoutuneet testit rikkoutuneesta koodista.
  • Luottamuksen rapautuminen: kun punaisina näkyvät testiajojen tulokset muuttuvat rutiiniksi, tiimit alkavat sivuuttaa tulokset ja todelliset virheet pääsevät läpi.

Perinteiset testiverkot ja komentosarjapohjaiset kehykset eivät pysty käsittelemään tätä jatkuvaa muutosta. Seuraavissa osioissa käydään vaihe vaiheelta läpi, miten tämä tiimi vakauttaa saman testikokoelman TestMu AI:n avulla.

Vikasietoisten testien laatiminen KaneAI:lla

Vakaus alkaa testien laatimisesta. {{deeplink:3489:[KaneAI]:kane_ai}}, TestMu AI:n generatiiviseen tekoälyyn perustuva testausagentti, antaa tiimille mahdollisuuden kirjoittaa testejä selkokielisenä englanninkielisenä tekstinä hauraiden, valitsimia täynnä olevien komentosarjojen sijaan. Koska vaiheet kuvaavat tarkoituksen, kuten ”lisää ensimmäinen tuote ostoskoriin ja käytä kuponkia”, ne kestävät kosmeettiset käyttöliittymämuutokset, jotka rikkoisivat kovakoodatut paikantimet.

Tässä tilanteessa tiimi antaa KaneAI:n älykkäälle testisuunnittelijalle korkean tason tavoitteen: validoi uudistettu kassa vieraskäyttäjien ja kirjautuneiden käyttäjien osalta. Suunnittelija muuntaa sen yksityiskohtaisiksi, automatisoiduiksi vaiheiksi muutamassa minuutissa, joten sprintti ei pysähdy testien suunnitteluun. SDETs-insinöörit viimeistelevät luodun koodin viemällä sen useille ohjelmointikielille. Luonnollisen kielen näkymä ja koodinäkymä pysyvät synkronoituina, joten yhdessä tehty muokkaus näkyy myös toisessa.

Käytännön tuloksena testikattavuus pysyy julkaisujen tahdissa. Uudet kassatestit laaditaan yhdessä päivässä, ja tuotteen omistajat voivat tarkistaa ne lukemalla ne. Tämä yhteinen tarkistus havaitsee puutteet, kuten unohtuneen kupongin vanhenemispolun, ennen julkaisua eikä vasta sen jälkeen.

Want to learn more about TestMu AI?

Our review covers everything you need to know.

Testien suorittamisen skaalaaminen HyperExecutella

Vakaasta testikokoelmasta on hyötyä vain, jos se suoritetaan riittävän nopeasti julkaisuikkunan puitteissa. HyperExecute, TestMu AI:n tekoälypohjainen testien orkestrointipilvi, suorittaa testikokoelman rinnakkain eri ympäristöissä jopa 70 prosenttia perinteisiä pilvitestiverkkoja nopeammin. Testit suoritetaan {{deeplink:3489:[TestMu AI:n oikeiden laitteiden pilvessä]:real_device_cloud}}, joka kattaa yli 3 000 selainta ja yli 10 000 oikeaa laitetta, joten tulokset vastaavat sitä, mitä käyttäjät todella näkevät.

Vähittäiskauppatiimin kannalta tämä muuttaa palautesykliä. Täysi 1 400 testin regressiotesti, jonka suorittaminen kesti aiemmin koko yön, valmistuu nyt julkaisupäivän aamupäivän aikana. Epäonnistumiset havaitaan, kun kehittäjillä on vielä mielessään toimittamiensa muutosten konteksti. Koska infrastruktuuri on täysin hallinnoitu, tiimin ei tarvitse ylläpitää testiverkkoja, laitelaboratorioita tai skaalauskomentosarjoja.

Epäonnistumisten vianmääritys Test Intelligencen avulla

Julkaisupäivänä vakaus joko saavutetaan tai menetetään. Tässä tilanteessa käyttöönoton jälkeinen testiajo ilmoittaa 160 epäonnistumisesta. Ennen TestMu AI:ta tämä tarkoitti kahden insinööripäivän käyttämistä lokien tutkimiseen. Test Intelligencen avulla vianmääritys näyttää erilaiselta.

Tekoälypohjainen virheiden luokittelu lajittelee 160 epäonnistumista automaattisesti: noin 90 paikanninvirhettä, 40 ympäristöongelmaa, 20 epävakaata testiä ja 10 todellista virhettä. Älykäs automaattinen itsekorjaus toimii paikanninvirheiden perusteella jo testiajon aikana. Kun valitsin rikkoutuu, koska painike on nimetty uudelleen, se käyttää toimivaa vaihtoehtoa ja antaa testin jatkua. Testiajon loppuun mennessä useimmat paikanninvirheet ovat korjaantuneet itsestään, ja vain pieni osa tarvitsee vielä ihmisen tarkastelua.

Älykäs epävakauden tunnistus käsittelee 20 epäluotettavaa testiä. Se merkitsee ne epävakaiksi, selittää epävakausmallin ja suosittelee korjauksia, joten satunnaista aikakatkaisua ei koskaan erehdytä pitämään regressiovikana. Tämän työnkulun mitattava vaikutus on selvä: vianmääritys lyhenee kahdesta insinööripäivästä muutamaan tuntiin, ja vain 10 todellista virhettä päätyy kehitystiimin työjonoon. Testiajojen välisiä virhetrendejä seurataan ajan mittaan, joten tiimi näkee vakauden paranevan julkaisusta toiseen arvailun sijaan.

Testikattavuuden pitäminen näkyvänä Test Managerin avulla

Vakaus riippuu myös siitä, että tiedetään, mitä on katettu ennen julkaisua, eikä havaita puutteita vasta sen jälkeen. TestMu AI:n Test Manager muodostaa jäsenneltyjä testitapauksia tiimin olemassa olevista syötteistä, kuten Jira-tehtävistä, laskentataulukoista ja kuvakaappauksista, mikä poistaa tuntikausia manuaalista testien kirjoittamista jokaisesta sprintistä.

Sen reaaliaikaiset, Jiraan yhdistetyt koontinäytöt antavat julkaisupäällikölle yhden näkymän valmiustilanteeseen. Tiimi näkee kattavuuden sprintin tikettien osalta, tunnistaa testaamattomat korkean riskin alueet ja priorisoi testien suoritusjärjestyksen riskin ja liiketoimintavaikutuksen perusteella. Kassauudistuksen skenaariossa näkymä tuo esiin yhden maksupalveluntarjoajan polun, jolla ei ole kattavuutta kaksi päivää ennen julkaisua, kun tilanteen korjaamiseen on vielä aikaa.

TestMu AI:n käyttöönoton parhaat käytännöt

Tekoälypohjaisen laadunvarmistuksen suunnittelualustan käyttöönotto onnistuu parhaiten vaiheittain, ei kertarysäyksenä. Jokainen alla oleva käytäntö liittyy tiettyyn TestMu AI:n ominaisuuteen, jotta tiimit voivat mitata käyttöönottoa konkreettisten ominaisuuksien perusteella.

  • Määritä vakausmittarit Test Managerissa: määritä lähtötasot epävakaiden testien osuudelle, kattavuudelle ja selvitykseen kuluvalle ajalle sen koontinäytöissä ja seuraa niitä julkaisusta toiseen. Käyttöönotto onnistuu, kun nämä luvut kehittyvät, ei silloin, kun käyttöoikeudet on määritetty.
  • Kohdista älykäs automaattinen korjaus ensin paljon muuttuviin alueisiin: aloita useimmin muuttuvista moduuleista, kuten kassaprosesseista tai käyttöönottopoluista. Näillä alueilla paikantimien virheitä syntyy eniten, joten Test Intelligence osoittaa arvonsa yhden tai kahden julkaisun kuluessa.
  • Perehdytä eri taustoista tulevat tiimit KaneAI:n kaksoisnäkymän avulla: anna manuaalitestaajien ja tuoteomistajien laatia ja tarkastella testejä luonnollisella kielellä samalla, kun SDET:t työskentelevät viedyssä koodissa. Molemmat näkymät pysyvät synkronoituina, joten koulutukseen kuluu vähän aikaa eikä ketään suljeta laadunvarmistuksen ulkopuolelle.
  • Yhdistä HyperExecute CI/CD-putkeen: käynnistä rinnakkaiset ajot jokaisen yhdistämisen yhteydessä, jotta palaute on automaattista. Tiimit voivat myös merkitä KaneAI:n suoraan Jirasta, Slackista tai GitHubista aloittaakseen testit poistumatta nykyisestä työnkulustaan.

Yhteenveto

Testien vakaus yrityksen mittakaavassa on työnkulkuongelma, ja sen ratkaisemiseen tarvitaan alusta, joka kattaa koko työnkulun. Edellä kuvatussa skenaariossa KaneAI pitää testien laatimisen vikasietoisena, HyperExecute pitää suorituksen nopeana oikeilla laitteilla, Test Intelligence lyhentää julkaisupäivän selvitystyön päivistä tunteihin ja Test Manager pitää kattavuuden näkyvissä ennen koodin toimitusta. Yhdessä ne muuttavat julkaisupäivän kiireellisen ongelmanratkaisun rutiininomaiseksi aamun tarkistukseksi. Yritystiimeille, jotka julkaisevat käyttöliittymämuutoksia jokaisessa sprintissä, juuri tämä muutos on se, mitä TestMu AI on suunniteltu tarjoamaan.

Devansh Bhardwaj
Devansh Bhardwaj is a Senior Product Marketing Manager at TestMu AI (formerly LambdaTest). He brings a hands-on testing background to the role, with end-to-end experience across UI, API, mobile, visual, and cross-browser testing, plus 30+ technical blogs on web development and test automation.