OpenText startsida.
Tekniska ämnen

Vad är Performance Engineering?

Illustration av IT-artiklar med fokus på en glödlampa

Översikt

Förbättra effektiviteten och öka tillförlitligheten med prestandateknik

Prestandateknik är proaktiv, kontinuerlig och heltäckande testning och övervakning av applikationsprestanda. Det möjliggör ett sömlöst samarbete mellan team, verktyg och processer genom kontinuerliga feedbackloopar. Här är det inte bara testare som ansvarar för kvalitetssäkringen, utan även utvecklare, prestandatekniker, produktägare och affärsanalytiker.

Genom att använda rätt dimensionerade verktyg, som omfattar allt från utvecklare till prestandatekniker, möjliggör prestandateknik prestandatestning i vänsterskift och övervakning av applikationsprestanda i högerskift. Det är svårt att förstå hur mycket prestandateknik skiljer sig från traditionell prestandatestning om man inte förstår vad klassisk prestandatestning är.

Prestandaingenjörskonst

Vad är skillnaden mellan Performance Testing och Performance Engineering?

Klassisk prestandatestning är i själva verket en delmängd av prestandateknik. Det innebär vanligtvis att man kör en enda omgång belastningstest som en del av kvalitetssäkringscykeln (QA) efter utvecklingen. Prestandatest innebär att man kontrollerar hastighet, tillförlitlighet, skalbarhet, stabilitet, svarstid och resursanvändning för en applikation under förväntad arbetsbelastning. Innan vi går in på skillnaderna mellan prestandateknik och prestandatestning ska vi först ta en titt på prestandatestning isolerat och varför det i sig inte längre är hållbart.

  • För det första betraktas testningen isolerat och behandlas som en eftertanke som bara börjar i slutet av funktionstestningen.
  • För det andra leder stuprörsarbete till stora kommunikationsbrister mellan olika projektgrupper och förhindrar det samarbete som krävs för att leverera en produkt av hög kvalitet.
  • För det tredje har organisationen redan lagt ner mycket tid, kraft och pengar på applikationens design, utveckling och marknadsföring när prestandatestningen börjar.
  • För det fjärde behandlas prestandatestning ofta som en eftertanke och ingår inte i de "klara" kriterier som föregår lanseringen. Så i det här läget behöver företaget appen i produktion omgående och förväntar sig inga förseningar. I det här sammanhanget kommer QA:s feedback för sent för att kunna åtgärdas helt före lanseringen. Det var oundvikligt att ett stort antal prestandaproblem i onödan skulle hamna i produktionsmiljön, bara för att lanseringen skulle hålla tidsplanen. Att åtgärda en defekt i produktionen är mycket dyrare och mer störande än att göra det tidigt i utvecklingen.
  • För det femte kan traditionell prestandatestning ha varit perfekt för vattenfallsmodellen men är inte på sin plats i dagens DevOps-centreradevärld. DevOps minskar felfrekvensen för nya releaser genom att förkorta tiden mellan det att en ändring överförs till systemet och det att ändringen sätts i produktion. Kontinuerlig integration och kontinuerlig leverans (CI/CD) säkerställer att programvaran alltid är i ett releasebart tillstånd under hela dess livscykel. DevOps fokuserar också på att anpassa organisationen för att stödja end-to-end-samarbete mellan intressenter, funktioner och verktyg. För att möta de snabba leveranskraven från DevOps behöver programvaruutvecklingen en mer utvecklad metod för prestandatestning. Det nya tillvägagångssättet är mjukvaruprestandateknik.

Låt oss nu fördjupa oss i de viktigaste skillnaderna mellan prestandateknik och prestandatestning.

  • För det första är prestandatest en kvalitetskontroll av applikationens belastningshantering och respons. Den fastställer hur väl systemet klarar en produktionsbelastning och förutser de problem som kan uppstå under tunga belastningsförhållanden. Performance Engineering syftar till att designa applikationen från början med prestandamått i åtanke och underlätta upptäckten av problem tidigt i utvecklingen.
  • För det andra är prestandatestning en QA-process som vanligtvis äger rum när en omgång av programvaruutvecklingen är klar. Performance engineering är en kontinuerlig process som är integrerad i alla faser av programvarans utvecklingscykel - från design och utveckling till slutanvändarens upplevelse.
  • För det tredje utförs prestandatester av QA-teamet medan prestandateknik involverar RND och QA.

Koncept för prestandateknik

Med hjälp av följande koncept levererar DevOps och Performance Engineering konsekventa resultat för produktionsprestanda, vilket gör det möjligt för kunderna att distribuera applikationer effektivt med större tillförsikt och att lansera högpresterande, stabil programvara som uppfyller användarnas förväntningar.

Optimering från början till slut

Prestandateknik levererar systemoptimering från början till slut genom en kontinuerlig test- och övervakningsprocess. Detta innebär att prestanda- och belastningstestning flyttas till utvecklingsprocessen. Det är till skillnad från traditionell prestandatestning där testningen sker efter att funktionstestningen har stabiliserats och koden har släppts.

När koden har släppts följer prestandatekniken upp appen i produktion genom att använda APM-verktyg (Application Performance Monitoring).

Tvärfunktionellt team av intressenter för prestationer

Performance Engineering möjliggör samarbete mellan olika projektintressenter - från affärsanalytiker till utvecklare. Att upprätthålla höga prestandanivåer som förbättrar kundupplevelsen, hålla jämna steg med affärstakten och hantera end-to-end-prestanda gör alla, inte bara QA/Performance Engineers, till förvaltare av produktprestanda. Så här gör du.

Testcenter för spetskompetens

Testing Center of Excellence (CoE) fungerar som en pålitlig testrådgivare och förvaltare av bästa praxis. CoE stöder olika affärsenheter, olika testmetoder (t.ex. DevOps och Agile) och har flexibiliteten att rekommendera prestandatestning och testverktyg efter behov. För att bygga bättre testmodeller och förbättra testkvaliteten fungerar CoE som en enda punkt för konsolidering och återanvändning av testdata som har genererats och samlats in över flera affärsenheter över tid.

Ingenjör för prestanda

Prestandateknikern ger en helhetssyn på all kod under utveckling för att säkerställa att kriterierna för prestandatestning är heltäckande, omfattar den större bilden och tar hänsyn till alla olika delar av koden under utveckling. Prestandateknikern är den primära användaren av verktyg för prestandatestning och har en hög grad av expertis inom skriptning, utformning, körning och analys av testresultat. Prestandateknik innebär att prestandateknikern deltar i den tidiga utvecklingsfasen och kan tillhandahålla prestandamätningar och scenarier som krävs för att koden ska anses vara klar för lansering. Tidig involvering innebär att prestandateknikern kan säkerställa att lösningen uppfyller de prestandaförväntningar som fastställts i början av utvecklingen. De bekräftar också att arkitekturen och designen är konsekvent under hela utvecklingen.

Programvaruutvecklare

Utvecklare är experter på kodning men ofta dåliga på både funktions- och prestandatestning. De arbetar i sin integrerade utvecklingsmiljö (IDE) och tenderar att använda de verktyg de föredrar och är inte särskilt benägna att lära sig nya. Performance engineering flyttar prestandatestning från vänster till höger, vilket innebär att det hamnar inom mjukvaruutvecklarens ansvarsområde. Med hjälp av prestandateknikern kan programutvecklare utföra prestandatester medan de skriver kod. Utvecklaren släpper inte sin kod innan den klarar kriterierna för prestandatestning.

DevTester

Utvecklaren finns inte i klassisk prestandatestning eftersom det finns tydliga skillnader mellan mjukvaruutvecklare och prestandatekniker. När det gäller prestandateknik framstår devtestern som en intressent som kopplar samman prestandateknik- och utvecklarteam. De överbryggar klyftan genom att ha gedigna kunskaper i kodning och testning, även om de inte riktigt har samma kompetensnivå som utvecklaren och prestandateknikern. De kan köra tester snabbt och har mycket större flexibilitet än utvecklare när det gäller att använda olika verktyg efter behov.

Affärsanalytiker och applikationsingenjörer

Genom att flytta testningen får prestandatekniken med sig affärsanalytiker och applikationsingenjörer. Detta garanterar att krav på affärs- och applikationsprestanda som definierar kvaliteten på användarupplevelsen införlivas i prestandakriterierna. Dessa två roller övervakar appen i produktion för att säkerställa att applikationens prestanda alltid är i toppklass.


Hitta rätt partner för prestandateknik

Performance Engineering håller på att förändra mjukvaruutvecklingslandskapet och arbetsbeskrivningarna för alla som arbetar med det. Och med ett större antal roller inblandade är behovet av verktyg och teknik för att effektivisera processen större än någonsin tidigare. Performance Engineering kräver end-to-end-integration och samarbete från höger till vänster och från vänster till höger tillsammans med insikter och analyser i realtid. Traditionella leverantörer av prestandatester är inte tillräckligt rustade för att hantera denna våg av kaotiska förändringar. OpenText har dock den beprövade erfarenheten och tekniklösningarna för att omvandla testkaoset till konstruerad ordning.

OpenText Performance Engineering Solutions öppen arkitektur stöder testning över alla protokoll och applikationstyper i alla utvecklingsmiljöer. Det gör det möjligt för intressenter, från utvecklare till affärsanalytiker, att använda många verktyg från leverantörer och öppen källkod för att möjliggöra fullständig CI/CD-integration i stor skala. OpenText verktygsintegrationer ger möjlighet att snabbt eliminera väntetiden för utveckling och testning som saktar ner applikationsleveransen. Integrationerna gör det möjligt att snabbt skapa realistiska simuleringar av API:er, nätverksförhållanden och virtuella tjänster. OpenText Performance Engineering-lösningar bygger på befintlig lokal eller molninfrastruktur och främjar återanvändning av tillgångar för att dra nytta av befintliga investeringar. Detta gör det möjligt att snabbt skala upp för att uppfylla kraven på prestandatestning av flera applikationer i hela företaget.

Vid traditionell prestandatestning började man inte förrän funktionstestningen var klar och man började inte identifiera defekter och grundorsaker förrän i slutet av prestandatestningen. OpenText Performance Engineering-lösningar har kontinuerlig end-to-end-mätning och analys av defekter för att fastställa grundorsaken i realtid även innan prestandatestet avslutas. Prestationskriterier ingår i definitionen av och kraven på "done". OpenText realtidsanalys hjälper prestandateknikern att ge feedback till utvecklaren snabbt för att initiera felsökning tidigt i utvecklingsprocessen. Syntetisk övervakning och övervakning av verkliga användare i produktionen ger insikter i prestandaproblem som har undgått testning och som måste åtgärdas i nästa version. Genom att fånga upp och analysera slutanvändarnas åsikter ur ett prestandaperspektiv får utvecklarna mer specifik feedback så att de kan optimera applikationen för bättre prestanda.

Hur kan vi hjälpa till?

Fotnoter