soak testing tutorial what is soak testing
Aquesta guia completa sobre proves de remull explica què és la prova de remull, per què ho necessitem, la seva aplicació, avantatges, bones pràctiques i desavantatges:
Cal realitzar diversos tipus de proves mentre es prova una aplicació de programari. Les proves funcionals i no funcionals són les dues grans categories en què podem classificar els tipus de proves.
Les proves funcionals, com el propi nom indica, es refereixen a provar la funcionalitat de l’aplicació. Les proves no funcionals, en canvi, cobreixen totes les altres proves (usabilitat, rendiment, etc.), a part de les proves funcionals.
Què aprendreu:
Prova de remull: una guia completa
Aquest tutorial us presenta els conceptes de la prova Soak, que és un tipus de prova de rendiment.
Com es veu a la imatge superior, podem dir que la prova de remull és un tipus de prova no funcional.
Què és la prova de remull
És un tipus de prova de rendiment per comprovar si una aplicació sota prova (AUT) pot suportar càrregues contínues durant un període de temps predeterminat. Es tracta d’un tipus de prova no funcional. També es denomina com 'Proves de resistència' o bé 'Proves de longevitat' .
Si seguiu el seu nom literal, la paraula 'remullar-se' en si mateixa té el significat del que pretén fer aquesta prova. Per tant, sotmetre una aplicació per un període específic a una càrrega elevada és el que tracta aquesta prova.
Es pot preguntar, quina podria ser la diferència si una aplicació es carrega durant una hora o potser 20 hores. Però sí, té una gran importància.
Això es pot explicar millor amb un escenari del món real. Si dues persones treuen una corda dels dos extrems durant un temps, pot resistir-se a la pressió, però, si es continua la mateixa durant dies, la corda només es pot trencar cedint a la pressió de qualsevol extrem.
(imatge font )
Així és el cas del programari. Quan sotmetem una aplicació a una càrrega elevada (uns quants centenars o milers d’usuaris), pot ser que funcioni bé durant una hora. No obstant això, quan la mateixa aplicació està sotmesa a la càrrega durant 20 hores, pot col·lapsar-se del tot.
(imatge font )
El trànsit intens continuat durant una llarga durada pot causar problemes diferents a l'aplicació. Per tant, sorgeix la necessitat de fer proves de remull.
En aquesta prova, el concepte bàsic és carregar l'aplicació amb els usuaris esperats, però durant un període prolongat. Això ajuda a identificar els diversos problemes subjacents que d'altra manera no es detectarien fins que es produeixi l'escenari real a l'aplicació en viu.
Necessitat de proves de remull
Per entendre la necessitat, també hem de ser conscients dels possibles problemes que pot passar una aplicació en cas que es trobi amb una càrrega elevada durant una llarga durada.
Analitzem els diversos motius que fan necessària la prova de Soak.
# 1) Es requereix principalment per identificar problemes com la gestió incorrecta de memòria, problemes de connexió a bases de dades, temps de resposta de l'aplicació degradant, etc.
A continuació, s’explica cadascun d’aquests problemes:
- La gestió incorrecta de la memòria pot comportar problemes com ara que s’assigni una memòria per utilitzar-la però que no s’alliberi mai o quan els recursos utilitzin més memòria de la necessària. Quan aquests escenaris continuen durant una llarga durada, és possible que el sistema es quedi sense memòria i que una aplicació deixi de respondre.
- Problemes de connexió a la base de dades: si es produeix un error en tancar una connexió a la base de dades, a la llarga es pot produir un bloqueig total de l'aplicació.
- Temps de resposta de l'aplicació degradant: de vegades una aplicació per alguna raó pot ser menys eficient i el seu temps de resposta pot augmentar. Amb el pas del temps, això pot fer que l'aplicació deixi de respondre.
Per evitar que es produeixin aquestes situacions, preferim provar la nostra aplicació amb Soak. Ajuda a identificar aquests problemes subjacents que d'una altra manera podrien no ser detectats.
# 2) La prova de remull ajuda a determinar si la nostra aplicació està preparada per suportar la càrrega durant un període sostingut.
# 3) Permet a l’equip prendre accions correctives en funció de com el sistema respon a les proves Soak.
Quan començar la prova de remull?
(imatge font )
com obrir un fitxer torrent a Windows 10
Idealment parlant, com qualsevol altra prova de rendiment, aquesta prova s’ha de fer durant el desenvolupament del producte juntament amb les proves funcionals. Tot i això, poques vegades es fa. La raó és òbvia, és a dir, gestionar el cost del projecte.
Per tant, el focus se centra principalment en les proves funcionals i, en general, totes les formes de proves de rendiment reben un seient posterior i s’acosten gairebé a la data de llançament de l’aplicació.
En general, les proves Soak es realitzen just abans que l’aplicació sigui llançada al client. Però això té un gran desavantatge relacionat amb la solució del problema.
Quan es troba algun problema de rendiment en una etapa posterior, pot ser difícil solucionar-lo, ja que podria comportar un canvi de codi important que podria no ser possible tenint en compte la proximitat de la data de lliurament de l'aplicació.
Per tant, sempre és aconsellable que aquesta prova es realitzi bé a temps perquè es puguin abordar els problemes identificats.
Estratègia de proves de remull
(imatge font )
De la mateixa manera que es prepara una estratègia de prova per provar una aplicació, es prepara prèviament una estratègia per realitzar proves de Soak, i això és molt necessari.
Vegem què passa amb la preparació de l'estratègia de proves de remull.
Abans de començar la prova de remull, l'equip ha de determinar la càrrega per a la qual l'aplicació ha de ser provada de remull. També s’ha de predeterminar la durada per a la qual s’ha de provar. En general, això ho proporciona l'equip de desenvolupament.
L’equip de prova hauria de decidir els escenaris que preveuen per a la prova de remull. Això, al seu torn, dependria del compromís i requisit del Client de l'aplicació sotmesa a prova.
Com que les proves Soak se centren principalment en identificar problemes de memòria i fuites de recursos, és important conèixer prèviament el consum de memòria i de base de dades enfront dels disponibles.
També s’haurien de decidir els detalls de l’entorn, com ara el sistema operatiu, el dispositiu, etc.
Per últim, però no menys important, també s’han de tenir en compte els riscos implicats. Sempre s’hauria de fer un pla de còpia de seguretat per a aquestes situacions. Per exemple, si la base de dades es bloqueja durant la prova, quines altres alternatives hi ha disponibles al lloc, etc.
Escenaris per a la prova de remull
Quan un lloc web de comerç electrònic anuncia una venda en línia dels seus productes, és natural que el lloc web es carregui durant el període de venda que pot abastar durant 3-5 dies. En aquesta situació, s’hauria de provar el lloc web Soak per evitar qualsevol bloqueig inesperat.
Durant el tancament d’un exercici, un lloc web del banc pot haver d’afrontar una càrrega molt elevada durant un període continu. En aquesta situació, el lloc web ha d'haver estat provat per Soak per evitar qualsevol bloqueig inesperat de l'aplicació web.
Quan una aplicació està dissenyada per gestionar una càrrega predeterminada durant un període predeterminat continu, es fa necessari provar l'aplicació d'una càrrega d'almenys dues vegades la seva capacitat de maneig de càrrega coneguda.
Per exemple, si se sap que un lloc web gestiona una càrrega de 500 usuaris durant un període continuat de 15 hores, l'aplicació també s'hauria de provar Soak per a 1000 usuaris durant 15 hores. Això ens ajudaria a saber si l'aplicació respondria de manera anormal quan es veia obligada a duplicar la seva capacitat de càrrega.
Millors pràctiques
(imatge font )
- La prova de remull sempre s’ha de fer coneixent el límit de càrrega inactiva de l’aplicació, tant pel que fa als usuaris com a la durada del temps. Cal saber-ho, ja que l'objectiu és carregar l'aplicació amb els usuaris esperats, però durant una llarga durada.
- Es recomana fer proves de remull a la nit o si es vol fer proves de durada encara més llarga, és recomanable fer-ho durant els caps de setmana. La raó és òbvia, és a dir, durant les hores de treball els recursos es lliguen, mentre que a la nit o en horari no laboral, els servidors de proves poden estar disponibles per utilitzar-los durant llargues durades. Per tant, les hores no laborals són el moment ideal per a aquestes proves.
- Sempre s’han d’analitzar els riscos associats a l’hora de provar Soak una aplicació i s’hauria de preparar un pla de mitigació per a qualsevol incident.
Limiteu les proves de remull
(imatge font )
- La llarga durada necessària per provar una aplicació és una gran limitació generalment a causa de la indisponibilitat del temps. Per tant, de vegades es poden evitar les proves de remull a causa de l'escassetat de temps.
- Cal seleccionar acuradament l’entorn de prova perquè qualsevol altre tipus de prova que es faci a l’aplicació no es vegi afectada. Això pot passar, ja que provar l'aplicació de càrrega pesada durant una llarga durada pot provocar problemes.
- S'ha de decidir acuradament el temps de les proves de remull i ha de ser principalment horari fora de treball (com ara un cap de setmana o una nit després del tancament del treball).
- En general, les eines d’automatització són necessàries per a les proves Soak, ja que les proves s’han d’executar durant una llarga durada amb un gran nombre d’usuaris.
Inconvenients de la prova de remull
- Es poden veure afectats els terminis del projecte a causa de les proves de remull, ja que el temps necessari per fer-ho és generalment elevat.
- Els recursos queden lligats durant la durada de la prova, ja que hi ha una elevada utilització de la memòria a causa d’un gran nombre d’usuaris que accedeixen a l’aplicació.
Conclusió
A través d’aquest tutorial, hem après què és la prova Soak i què fa que sigui necessari realitzar-la.
Ara, amb aquesta comprensió de què és Soak Testing i quin tipus de problemes ajuda a identificar, podem entendre molt bé la necessitat de realitzar el mateix. Especialment en èpoques en què el món sencer sempre està connectat, aquesta prova es converteix en una necessitat.
Vam veure quan havíem de començar a fer la prova de remull juntament amb l'enfocament que s'hauria de seguir. Aquí també es van discutir escenaris, bones pràctiques i les restriccions associades.
Esperem que aquest tutorial us hagi ajudat a entendre què és la prova Soak i que hagueu millorat el vostre coneixement.
Lectura recomanada
- Prova de càrrega amb tutorials HP LoadRunner
- Tutorial de proves destructives i proves no destructives
- Prova de descàrrega de llibres electrònics
- Correlació: proves de càrrega amb LoadRunner
- Proves funcionals contra proves no funcionals
- Diferència entre la prova d'escriptori, el servidor de clients i la prova web
- Prova de càrrega mitjançant LoadUI: una eina de prova de càrrega de codi obert i lliure
- Tutorial de proves SOA: metodologia de proves per a un model d’arquitectura SOA