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 återkopplingsloopar. Här är det inte bara testare som ansvarar för kvalitetssäkringen, utan även utvecklare, prestandatekniker, produktägare och affärsanalytiker.
Genom att utnyttja rätt dimensionerade verktyg som omfattar både utvecklare och prestandatekniker möjliggör prestandateknik prestandatestning med skift till vänster och övervakning av applikationsprestanda med skift till höger. 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.
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. Prestandatestning innebär att man kontrollerar hastighet, tillförlitlighet, skalbarhet, stabilitet, svarstid och resursanvändning för en applikation under den förväntade arbetsbelastningen. Innan vi går in på skillnaderna mellan prestandateknik och prestandatestning ska vi först ta en titt på prestandatestning i sig och varför det inte längre är hållbart.
Låt oss nu fördjupa oss i de viktigaste skillnaderna mellan prestandateknik och prestandatestning.
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 ger systemoptimering från början till slut genom en kontinuerlig test- och övervakningsprocess. Detta innebär att prestanda- och belastningstestning flyttas till utvecklingsprocessen. Detta 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
Prestandateknik möjliggör samarbete mellan projektintressenter - från affärsanalytiker till utvecklare. För 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 krävs att alla, inte bara QA/Performance Engineers, förvaltar produktprestandan. 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 på flera affärsenheter över tid.
Ingenjör för prestanda
Prestandaingenjören 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 distinkta delar av koden under utveckling. Prestandaingenjören ä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. Prestandaingenjören deltar i den tidiga utvecklingsfasen där han eller hon kan tillhandahålla prestandamätvärden och scenarier som krävs för att koden ska anses vara redo för release. Tidig involvering innebär att prestandateknikern kan säkerställa att lösningen uppfyller de prestandaförväntningar som ställdes upp 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 sina favoritverktyg med liten benägenhet 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 programutvecklaren köra prestandatester medan han eller hon 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 programvaruutvecklare och prestandatekniker. Med prestandateknik framträder devtestern som en intressent som kopplar samman prestandateknik- och utvecklarteam. De överbryggar klyftan genom att ha gedigna kodnings- och testkunskaper, även om de inte riktigt når upp till samma kompetensnivå som utvecklaren och prestandateknikern. De kan köra tester snabbt och har mycket större flexibilitet än utvecklarna 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 kraven 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 applikationsprestandan alltid är i toppklass.
Performance Engineering håller på att förändra såväl mjukvaruutvecklingen som arbetsbeskrivningarna för alla som arbetar med den. 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. Prestandateknik kräver end-to-end-integration och samarbete från höger till vänster och vänster till höger tillsammans med insikter och analyser i realtid. Traditionella leverantörer av prestandatestning ä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 de tekniska lösningarna för att omvandla testkaos till teknisk ordning.
OpenText Performance Engineerings öppna arkitektur stöder testning av alla typer av protokoll och applikationer i alla utvecklingsmiljöer. Det gör det möjligt för intressenter, från utvecklare till affärsanalytiker, att använda många olika 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 lösningar för prestandateknik bygger på befintlig lokal infrastruktur eller molninfrastruktur och främjar återanvändning av tillgångar för att dra nytta av befintliga investeringar. Detta bidrar till att snabbt skala upp för att möta kraven på prestandatestning av flera applikationer i hela företaget.
Traditionell prestandatestning började 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 innebär kontinuerlig mätning och analys av defekter från början till slut för att hitta grundorsaken i realtid, till och med innan prestandatestet är klart. Prestandakriterier ingår i definitionen av och kraven på "klar". OpenText Realtidsanalys hjälper prestandateknikern att snabbt ge feedback till utvecklaren så att felsökning kan inledas 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. Capture och analys av slutanvändarnas åsikter ur ett prestandaperspektiv ger mer specifik feedback till utvecklarna så att de kan optimera applikationen för bättre prestanda.
Leverera en felfri kundupplevelse med projektbaserad testning
Främja samarbete och förbättra applikationens tillförlitlighet med hjälp av testning
Säkerställ applikationskvalitet med skalbar, molnbaserad testning
Snabbare programvarutestning med realistiska API:er och simuleringar