Performance vs Load Testing
I forbindelse med programvare engineering, er ytelsestesting gjort for å finne ut flaskehalsene i et system. Ytelse tester kan også brukes til å verifisere attributter som pålitelighet, ressursbruk og skalerbarhet, og etablere en basislinje for ytelsen til et system. Load testing er en av undergenerene av ytelsestesting. Det utføres for å måle oppførselen til et system under en spesifisert arbeidsbelastning. Lastingstesting er mer relevant for flerbruker systemer basert på klient-server modell, men andre programvare systemer som tekstbehandlere eller grafikk redaktører kan også lastes testet.
Ytelsestesting
Som nevnt ovenfor, er ytelsestesting gjort for å bestemme og eliminere flaskehalser i et programvaresystem og etablere en basislinje av ytelsen som ville være nyttig for videre testing. Ytelsestesting omfatter tester som lastetester, utholdenhetstester (suge tester), spike tester, konfigurasjonstester og isolasjonstester. Ytelsestesting krever å få et nøye kontrollert sett med målinger av systemet. For å få de beste resultatene av ytelsestesting, bør det være godt planlagt og skal gjøres på et stabilt system der testprosessen kan fortsette jevnt. Det er viktig å forstå hva du faktisk vil måle når det gjelder ytelse av systemet når du utfører ytelsestesting. Hvis du for eksempel tester ytelsen til et webprogram, vil du kanskje vite den akseptable responstiden og antall samtidige brukere som kan håndteres av systemet. Når du holder disse to aspektene i bakhodet, kan du starte testen ved å øke antall brukere hele tiden og identifisere flaskehalsen.
Load Testing
Som nevnt tidligere er lastetesting en del av ytelsestesting, og det utføres ofte ved å øke belastningen på et programvare system ved hjelp av automatiserte verktøy. Lastetesting er noen ganger kjent som volumtesting. Noen eksempler på lastetester ville være å teste en e-postserver med et stort antall brukerpostkasser eller testing av redigering av et veldig stort dokument ved hjelp av en tekstbehandler. Lastetester utføres ved hjelp av et forhåndsdefinert lastnivå, vanligvis ved å bruke den maksimale belastningen som systemet kan håndtere uten å krasje. Vanligvis har belastningstesting å utsette feil som ikke blir utsatt for vanlig testing, for eksempel minnehåndteringsproblemer, minnelekkasjer, bufferoverløp osv. Lastingstesting fungerer også som et middel for å sikre at systemet oppfyller ytelsesbasen som ble etablert under ytelsestesting.
Forskjell mellom ytelse og belastningstesting
Selv om betingelsene ytelsestesting og belastningstesting brukes om hverandre, er belastningstesting bare et enkelt aspekt av ytelsestesting. Målene til de to testene er også forskjellige. Ytelsestesting bruker lastetestteknikker for å oppnå mål og benchmarking, og den bruker flere belastningsnivåer. Men belastningstesting fungerer på et enkelt forhåndsdefinert lastnivå, vanligvis den høyeste belastningen systemet kan klare uten å krasje. I praksis utføres ytelsestest med det formål å finne flaskehalsene i systemet og eliminere dem. Og når systemet ikke kan optimaliseres lenger, starter belastningstesting, for å finne ut hva du må legge til i systemet (oftest maskinvareutvidelser som antall webservere eller databaseservere) for å opprettholde kravene som er forhåndsdefinert av kunden.