Veiktspējas testēšanas apmācība: kas ir, veidi, metrika un amp; Piemērs

Veiktspējas pārbaude

Veiktspējas pārbaude ir programmatūras testēšanas process, ko izmanto, lai pārbaudītu programmatūras lietojumprogrammas ātrumu, reakcijas laiku, stabilitāti, uzticamību, mērogojamību un resursu izmantošanu ar īpašu slodzi. Galvenais veiktspējas pārbaudes mērķis ir noteikt un novērst programmatūras lietojumprogrammas veiktspējas vājās vietas. Tas ir veiktspējas inženierijas apakškopa un pazīstams arī kā “Perf Testing”.

Veiktspējas testēšanas uzmanības centrā ir programmatūras pārbaude

  • Ātrums - nosaka, vai lietojumprogramma reaģē ātri
  • Mērogojamība - nosaka maksimālo lietotāja slodzi, ko programmatūras lietojumprogramma var apstrādāt.
  • Stabilitāte - nosaka, vai lietojums ir stabils pie dažādām slodzēm

Šajā apmācībā jūs uzzināsiet

  • Kas ir veiktspējas pārbaude?
  • Kāpēc veikt veiktspējas testēšanu?
  • Veiktspējas pārbaudes veidi
  • Kopējās veiktspējas problēmas
  • Veiktspējas pārbaudes process
  • Veiktspējas testēšanas metrika: pārraudzīti parametri
  • Veiktspējas pārbaudes gadījumu piemēri
  • Veiktspējas pārbaudes rīki
  • FAQ

Kāpēc veikt veiktspējas testēšanu?

Programmatūras sistēmas atbalstītās funkcijas un funkcionalitāte nav vienīgās rūpes. Ir svarīga programmatūras lietojumprogrammas veiktspēja, piemēram, tās reakcijas laiks, uzticamība, resursu izmantošana un mērogojamība. Veiktspējas testēšanas mērķis nav atrast kļūdas, bet novērst veiktspējas vājās vietas.

Veiktspējas pārbaude tiek veikta, lai ieinteresētajām personām sniegtu informāciju par to pielietojumu attiecībā uz ātrumu, stabilitāti un mērogojamību. Vēl svarīgāk ir tas, ka veiktspējas pārbaude atklāj to, kas jāuzlabo, pirms produkts nonāk tirgū. Bez veiktspējas pārbaudes programmatūra, visticamāk, cieš no tādiem jautājumiem kā: darbojas lēni, kamēr vairāki lietotāji to izmanto vienlaikus, neatbilstības dažādās operētājsistēmās un slikta lietojamība.

Veiktspējas pārbaude noteiks, vai viņu programmatūra atbilst ātruma, mērogojamības un stabilitātes prasībām paredzamajās slodzēs. Tirgū nosūtītie pieteikumi ar sliktu veiktspējas rādītāju neeksistējošas vai sliktas veiktspējas testēšanas dēļ, iespējams, iegūs sliktu reputāciju un nespēs sasniegt paredzētos pārdošanas mērķus.

Arī misijai kritiskām lietojumprogrammām, piemēram, kosmosa palaišanas programmām vai dzīvības glābšanas medicīnas aprīkojumam, būtu jāpārbauda veiktspēja, lai nodrošinātu, ka tās darbojas ilgu laiku bez novirzēm.

Saskaņā ar Dunn & Bradstreet datiem 59% no Fortune 500 uzņēmumiem katru nedēļu tiek novērotas aptuveni 1,6 stundas dīkstāves. Ņemot vērā, ka vidējais Fortune 500 uzņēmums, kurā strādā vismaz 10 000 darbinieku, maksā 56 USD stundā, šādas organizācijas dīkstāves izmaksas darbaspēka daļā būtu 896 000 USD nedēļā, kas nozīmē vairāk nekā 46 miljonus USD gadā.

Tiek lēsts, ka tikai 5 minūtes ilgs Google.com dīkstāves laiks (19. augusts-13) meklēšanas gigantam izmaksās pat 545 000 USD.

Tiek lēsts, ka nesenā Amazon Web Service pārtraukuma dēļ uzņēmumi zaudēja pārdošanas apjomus 1100 USD sekundē.

Tādējādi veiktspējas pārbaude ir svarīga.

Veiktspējas pārbaudes veidi

  • Slodzes pārbaude - pārbauda lietojumprogrammas spēju darboties paredzētajās lietotāju slodzēs. Mērķis ir identificēt veiktspējas vājās vietas, pirms programmatūra sāk darboties.
  • Stresa pārbaude - ietver lietojumprogrammas testēšanu ar ļoti lielu slodzi, lai redzētu, kā tā apstrādā lielu trafiku vai datu apstrādi. Mērķis ir noteikt lietojuma lūzuma punktu.
  • Izturības pārbaude - tiek veikta, lai pārliecinātos, ka programmatūra ilgstošā laika periodā spēj izturēt paredzamo slodzi.
  • Spike testēšana - pārbauda programmatūras reakciju uz pēkšņiem lieliem lietotāju radītās slodzes kāpumiem.
  • Tilpuma pārbaude - zem apjoma testēšanas liels gada. Dati tiek aizpildīti datu bāzē, un tiek uzraudzīta programmatūras sistēmas darbība kopumā. Mērķis ir pārbaudīt lietojumprogrammas veiktspēju dažādos datu bāzes apjomos.
  • Mērogojamības pārbaude - Mērogojamības pārbaudes mērķis ir noteikt programmatūras lietojumprogrammas efektivitāti "palielināšanā", lai atbalstītu lietotāju slodzes pieaugumu. Tas palīdz plānot jaudas palielināšanu programmatūras sistēmai.

Kopējās veiktspējas problēmas

Lielākā daļa veiktspējas problēmu ir saistītas ar ātrumu, reakcijas laiku, ielādes laiku un sliktu mērogojamību. Ātrums bieži ir viens no vissvarīgākajiem lietojumprogrammas atribūtiem. Lēni darbojas programma zaudēs potenciālos lietotājus. Veiktspējas pārbaude tiek veikta, lai pārliecinātos, ka lietotne darbojas pietiekami ātri, lai saglabātu lietotāja uzmanību un interesi. Apskatiet šo izplatīto veiktspējas problēmu sarakstu un pamaniet, kā ātrums ir izplatīts faktors daudzās no tām:

  • Ilgs ielādes laiks - ielādes laiks parasti ir sākotnējais laiks, kas nepieciešams lietojumprogrammas startēšanai. Tas parasti būtu jāsamazina līdz minimumam. Lai gan dažas lietojumprogrammas nav iespējams ielādēt mazāk par minūti, ielādes laiks, ja iespējams, jāuztur zem dažām sekundēm.
  • Slikts reakcijas laiks - atbildes laiks ir laiks, kas paiet no brīža, kad lietotājs ievada datus lietojumprogrammā, līdz lietojumprogramma izdod atbildi uz šo ievadi. Parasti tam vajadzētu būt ļoti ātram. Atkal, ja lietotājam ir jāgaida pārāk ilgi, viņš zaudē interesi.
  • Slikta mērogojamība - programmatūras produktam ir slikta mērogojamība, ja tas nespēj tikt galā ar paredzamo lietotāju skaitu vai ja tas nepieņem pietiekami plašu lietotāju loku. Slodzes pārbaude jāveic, lai pārliecinātos, ka lietojumprogramma var apstrādāt paredzamo lietotāju skaitu.
  • Pudeļu kakliņi - Sastrēgumi ir sistēmas šķēršļi, kas pasliktina sistēmas vispārējo veiktspēju. Pudeļu saite ir tad, kad kodēšanas kļūdas vai aparatūras problēmas rada caurlaides samazināšanos noteiktās slodzēs. Pudeļu saites bieži izraisa viena kļūdaina koda sadaļa. Sliktas problēmas novēršanas atslēga ir atrast koda sadaļu, kas izraisa palēnināšanos, un mēģināt to tur novērst. Pudeļu saite parasti tiek novērsta, vai nu novēršot sliktus darbības procesus, vai pievienojot papildu aparatūru. Daži bieži sastopamie veiktspējas trūkumi ir
    • Procesora izmantošana
    • Atmiņas izmantošana
    • Tīkla izmantošana
    • Operētājsistēmas ierobežojumi
    • Diska lietošana

Veiktspējas pārbaudes process

Veiktspējas testēšanai pieņemtā metodika var būt ļoti atšķirīga, taču veiktspējas testu mērķis paliek nemainīgs. Tas var palīdzēt pierādīt, ka jūsu programmatūras sistēma atbilst noteiktiem iepriekš noteiktiem veiktspējas kritērijiem. Vai arī tas var palīdzēt salīdzināt divu programmatūras sistēmu veiktspēju. Tas var arī palīdzēt noteikt jūsu programmatūras sistēmas daļas, kas pasliktina tās veiktspēju.

Zemāk ir vispārīgs process, kā veikt veiktspējas pārbaudi

  1. Identificējiet savu testēšanas vidi - ziniet savu fizisko testa vidi, ražošanas vidi un pieejamos testēšanas rīkus. Pirms sākat testēšanas procesu, izprotiet informāciju par testēšanas laikā izmantoto aparatūras, programmatūras un tīkla konfigurāciju. Tas palīdzēs testētājiem izveidot efektīvākus testus. Tas arī palīdzēs noteikt iespējamās problēmas, ar kurām testētājiem var rasties veiktspējas testēšanas procedūru laikā.
  2. Nosakiet veiktspējas pieņemšanas kritērijus - tas ietver mērķus un ierobežojumus attiecībā uz caurlaidi, reakcijas laiku un resursu piešķiršanu. Ir nepieciešams arī noteikt projekta veiksmes kritērijus ārpus šiem mērķiem un ierobežojumiem. Testētājiem jābūt pilnvarotiem noteikt veiktspējas kritērijus un mērķus, jo bieži projekta specifikācijās nav iekļauti pietiekami plaši veiktspējas etaloni. Dažreiz tādu var nebūt. Ja iespējams, atrast līdzīgu lietojumprogrammu, ar kuru salīdzināt, ir labs veids, kā noteikt darbības mērķus.
  3. Plānojiet un noformējiet veiktspējas testus - nosakiet, kā gala lietotājiem varētu atšķirties lietojums, un identificējiet galvenos scenārijus, lai pārbaudītu visus iespējamos lietošanas gadījumus. Ir nepieciešams simulēt dažādus galalietotājus, plānot veiktspējas pārbaudes datus un izklāstīt, kāda metrika tiks apkopota.
  4. Testa vides konfigurēšana - pirms izpildes sagatavojiet testa vidi. Sakārtojiet arī rīkus un citus resursus.
  5. Īstenot testa dizainu - izveidojiet veiktspējas testus atbilstoši savam testa plānam.
  6. Palaidiet testus - veiciet un uzraugiet testus.
  7. Analizēt, pielāgot un atkārtoti pārbaudīt - konsolidēt, analizēt un kopīgot testa rezultātus. Pēc tam precīzi noregulējiet un pārbaudiet vēlreiz, lai redzētu, vai veiktspēja ir uzlabojusies vai samazinājusies. Tā kā ar katru atkārtotu pārbaudi uzlabojumi parasti kļūst mazāki, pārtrauciet procesu, kad CPU rada nepilnības. Tad jums var būt iespēja apsvērt iespēju palielināt CPU jaudu.

Veiktspējas testēšanas metrika: pārraudzīti parametri

Veiktspējas testēšanas laikā uzraudzītie galvenie parametri ietver:

  • Procesora izmantošana - laiks, ko procesors pavada, nedarbojoties pavedieniem.
  • Atmiņas izmantošana - fiziskās atmiņas apjoms, kas pieejams procesiem datorā.
  • Diska laiks - disks ir aizņemts, izpildot lasīšanas vai rakstīšanas pieprasījumu.
  • Joslas platums - parāda tīkla interfeisa izmantotos bitus sekundē.
  • Privātie baiti - procesa piešķirto baitu skaits, ko nevar koplietot starp citiem procesiem. Tos izmanto, lai izmērītu atmiņas noplūdes un lietojumu.
  • Saistītā atmiņa - izmantotās virtuālās atmiņas apjoms.
  • Atmiņas lapas sekundē - lapu skaits, kas rakstītas vai nolasītas no diska, lai novērstu cieto lapu kļūdas. Cietās lapas kļūdas ir tad, kad kods, kas nav pašreizējā darba kopa, tiek izsaukts no citurienes un iegūts no diska.
  • Lappušu kļūdas / sekundē - kopējais ātrums, kādā procesors apstrādā kļūdu lapas. Tas atkal notiek, kad procesam ir nepieciešams kods ārpus tā darba kopas.
  • Procesora pārtraukumi sekundē - ir vidējais aparatūras pārtraukumu skaits, ko procesors saņem un apstrādā katru sekundi.
  • Diska rindas garums - ir vidējais Nē. lasīšanas un rakstīšanas pieprasījumu rindā atlasītajam diskam parauga intervāla laikā.
  • Tīkla izvades rindas garums - izvades pakešu rindas garums paketēs. Viss, kas ir vairāk nekā divi, nozīmē kavēšanos, un ir jāpārtrauc trūkumi.
  • Tīkla baiti kopā sekundē - ātrums, kuru baiti tiek nosūtīti un saņemti interfeisā, ieskaitot kadrēšanas rakstzīmes.
  • Atbildes laiks - laiks no brīža, kad lietotājs ievada pieprasījumu, līdz tiek saņemts pirmais atbildes raksturs.
  • Caurlaidība - likme, kādā dators vai tīkls saņem pieprasījumus sekundē.
  • Savienojuma koplietošanas apjoms - lietotāju pieprasījumu skaits, kurus izpilda apvienotie savienojumi. Jo vairāk pieprasījumu izpildīs savienojumi baseinā, jo labāka būs veiktspēja.
  • Maksimālais aktīvo sesiju skaits - maksimālais sesiju skaits, kuras var būt aktīvas vienlaikus.
  • Trāpījumu attiecība - tas ir saistīts ar SQL priekšrakstu skaitu, kurus apstrādā kešatmiņā saglabātie dati, nevis dārgas I / O operācijas. Šī ir laba vieta, kur sākt problēmu risināšanu.
  • Trāpījumi sekundē - nē. trāpījumi tīmekļa serverī katras sekundes laikā no slodzes testa.
  • Atgriešanās segments - datu daudzums, kuru var atcelt jebkurā laika posmā.
  • Datu bāzes bloķēšana - tabulu un datu bāzu bloķēšana ir jāuzrauga un rūpīgi jāpielāgo.
  • Augšējā gaidīšana - tiek uzraudzīta, lai noteiktu, kādu gaidīšanas laiku var samazināt, strādājot ar to, cik ātri dati tiek iegūti no atmiņas
  • Vītņu skaits - lietojuma veselību var izmērīt ar nr. no darbojošajiem un pašlaik aktīvajiem pavedieniem.
  • Atkritumu savākšana - tas ir saistīts ar neizmantotās atmiņas atgriešanu sistēmā. Jākontrolē atkritumu savākšanas efektivitāte.

Veiktspējas pārbaudes gadījumu piemēri

  • Pārbaudiet, vai atbildes laiks nav ilgāks par 4 sekundēm, ja vienlaicīgi vietnei piekļūst 1000 lietotāji.
  • Pārbaudiet, vai lietojumprogrammas zem slodzes atbildes laiks ir pieņemamā diapazonā, ja tīkla savienojums ir lēns
  • Pārbaudiet maksimālo lietotāju skaitu, ko programma var apstrādāt, pirms tā avarē.
  • Pārbaudiet datubāzes izpildes laiku, kad vienlaikus tiek nolasīti / rakstīti 500 ieraksti.
  • Pārbaudiet lietojumprogrammas un datu bāzes servera procesora un atmiņas izmantošanu maksimālās slodzes apstākļos
  • Pārbaudiet lietojuma reakcijas laiku zemas, normālas, mērenas un smagas slodzes apstākļos.

Faktiskās veiktspējas pārbaudes laikā neskaidri termini, piemēram, pieļaujamais diapazons, liela slodze utt., Tiek aizstāti ar konkrētiem skaitļiem. Veiktspējas inženieri šos skaitļus nosaka atbilstoši biznesa prasībām un lietojumprogrammas tehniskajai ainavai.

Veiktspējas pārbaudes rīki

Tirgū ir pieejami dažādi veiktspējas pārbaudes rīki. Testēšanai izvēlētais rīks būs atkarīgs no daudziem faktoriem, piemēram, atbalstītā protokola veida, licences izmaksām, aparatūras prasībām, platformas atbalsta utt. Zemāk ir saraksts ar populāri izmantotajiem testēšanas rīkiem.

  • LoadNinja - ir revolucionārs veids, kā mēs ielādējam testu. Šis mākoņa bāzes ielādes testēšanas rīks komandām dod iespēju ierakstīt un uzreiz atskaņot visaptverošus ielādes testus, bez sarežģītas dinamiskas korelācijas un izpildīt šos ielādes testus reālos pārlūkos mērogā. Komandas spēj palielināt testa pārklājumu. & samazināt slodzes pārbaudes laiku par vairāk nekā 60%.
  • NeoLoad - ir DevOps paredzēta veiktspējas testēšanas platforma, kas vienmērīgi integrējas jūsu esošajā nepārtrauktās piegādes cauruļvadā. Izmantojot NeoLoad, komandas testē 10x ātrāk nekā ar tradicionālajiem rīkiem, lai izpildītu jaunā līmeņa prasības visā Agile programmatūras izstrādes dzīves ciklā - no komponentiem līdz pilniem visas sistēmas slodzes testiem.
  • HP LoadRunner - ir vispopulārākais veiktspējas testēšanas rīks mūsdienās tirgū. Šis rīks spēj simulēt simtiem tūkstošu lietotāju, pakļaujot lietojumprogrammas reālām slodzēm, lai noteiktu viņu uzvedību gaidāmajās slodzēs. Loadrunner piedāvā virtuālu lietotāju ģeneratoru, kas simulē tiešraides lietotāju darbības.
  • Jmeter - viens no vadošajiem rīkiem, ko izmanto tīmekļa un lietojumprogrammu serveru ielādes testēšanai.

FAQ

Kuras lietojumprogrammas mums vajadzētu pārbaudīt?

Veiktspējas pārbaude vienmēr tiek veikta tikai klienta-servera sistēmām. Tas nozīmē, ka jebkurai lietojumprogrammai, kas nav klienta-servera arhitektūra, nav nepieciešama veiktspējas pārbaude.

Piemēram, Microsoft kalkulators nav balstīts uz klientu-serveri, un tajā darbojas vairāki lietotāji; līdz ar to tā nav kandidāte uz veiktspējas testēšanu.

Kāda ir atšķirība starp veiktspējas testēšanu un veiktspējas inženieriju

Ir svarīgi saprast atšķirību starp veiktspējas testēšanu un veiktspējas inženieriju. Zemāk ir kopīga izpratne:

Veiktspējas pārbaude ir disciplīna, kas saistīta ar programmatūras lietojumprogrammas pašreizējās veiktspējas testēšanu un ziņošanu ar dažādiem parametriem.

Veiktspējas inženierija ir process, kurā programmatūra tiek pārbaudīta un noregulēta ar mērķi realizēt nepieciešamo veiktspēju. Šī procesa mērķis ir optimizēt vissvarīgākās lietojumprogrammas veiktspējas īpašības, ti, lietotāja pieredzi.

Vēsturiski testēšana un pielāgošana ir bijusi izteikti atsevišķa un bieži vien konkurējoša sfēra. Tomēr pēdējos gados vairākas testētāju un izstrādātāju kabatas ir neatkarīgi sadarbojušās, lai izveidotu tūninga komandas. Tā kā šīs komandas ir guvušas ievērojamus panākumus, koncepcija par veiktspējas testēšanas apvienošanu ar veiktspējas pielāgošanu ir iekritusi, un tagad mēs to saucam par veiktspējas inženieriju.

Secinājums

Programmatūras inženierijā veiktspējas pārbaude ir nepieciešama pirms jebkura programmatūras produkta laišanas tirgū. Tas nodrošina klientu apmierinātību un aizsargā ieguldītāja ieguldījumus pret produkta kļūmēm. Veiktspējas testēšanas izmaksas parasti ir lielākas nekā kompensētas ar labāku klientu apmierinātību, lojalitāti un noturību.

Interesanti raksti...