Las pruebas de carga co­m­prue­ban la es­ta­bi­li­dad de un sistema y ponen a prueba sus límites. En el mercado existen numerosas he­rra­mie­n­tas de prueba de carga, tanto gratuitas como de pago.

¿Qué son las pruebas de carga?

Las pruebas de carga son una forma de comprobar la capacidad de un software o sistema. El objetivo de las pruebas de carga es averiguar hasta dónde puede llegar un sistema antes de que el re­n­di­mie­n­to disminuya si­g­ni­fi­ca­ti­va­me­n­te y el servicio ofrecido deje de poder prestarse en su totalidad. Para ello, se simulan cargas que desafían al sistema y lo lleven al límite, como numerosos accesos si­mu­l­tá­neos o re­pe­ti­cio­nes de acciones en poco tiempo. El sistema reac­cio­na­rá a estas pruebas de carga de la forma más óptima posible y no sufrirá daños en caso de so­bre­ca­r­ga.

¿Cuál es el objetivo de las pruebas de carga?

Las pruebas de carga pueden uti­li­zar­se con diversos fines. En el de­sa­rro­llo ágil de software, por ejemplo, las pruebas de carga forman parte de la garantía de calidad. Antes de lanzar un nuevo software, hay que comprobar qué re­qui­si­tos necesita el programa y hasta dónde llega el límite de sus ca­pa­ci­da­des. Los errores que se pasaron por alto en procesos an­te­rio­res también pueden hacerse visibles mediante las pruebas de carga. Además, se comprueba cómo procesa el sistema una carga adicional ine­s­pe­ra­da, en qué momento se producen li­mi­ta­cio­nes y con qué rapidez reacciona ante los errores.

Las pruebas de carga también sirven para comprobar sistemas exigentes. Un ejemplo es el de las páginas web. Si los de­sa­rro­lla­do­res esperan una gran so­bre­ca­r­ga, pueden simularla con una prueba de carga y ase­gu­rar­se así de que su sistema puede aguantar bien la carga adicional. Una so­bre­ca­r­ga puede pro­du­ci­r­se cuando se lanza un nuevo producto, se acerca un aco­n­te­ci­mie­n­to especial o la página web recibe muchas visitas debido a la pu­bli­ci­dad. El objetivo de las pruebas de carga es comprobar la capacidad de carga de un sistema y su reacción, para poder mejorar de antemano el re­n­di­mie­n­to cuando sea necesario.

¿Qué pruebas de carga existen?

No todas las pruebas de carga son iguales. Existen di­fe­re­n­tes enfoques según el objetivo. En ocasiones las di­fe­re­n­cias no son del todo claras y los productos de algunos pro­vee­do­res también permiten distintos tipos de pruebas de carga. Sin embargo, se puede hablar a grandes rasgos de cuatro grupos di­fe­re­n­tes.

Prueba de re­n­di­mie­n­to

La prueba de re­n­di­mie­n­to también puede de­no­mi­nar­se prueba de carga clásica y es sin duda el tipo más sencillo. Las co­n­di­cio­nes que debe cumplir el sistema son co­m­pa­ra­ti­va­me­n­te bajas. Se comprueba si un sistema nuevo o existente puede aguantar las cargas previstas y si la calidad del re­n­di­mie­n­to se mantiene durante ese tiempo. Este tipo de prueba de carga es adecuado, por ejemplo, para apli­ca­cio­nes web que deben ser capaces de gestionar un de­te­r­mi­na­do número de accesos si­mu­l­tá­neos. La prueba de carga simula estos accesos y comprueba si los tiempos de respuesta cumplen las ex­pe­c­ta­ti­vas.

Prueba de capacidad

Este tipo de prueba de carga va un paso más allá. En este caso, la pregunta no es “¿Puede mi sistema hacer lo que se supone que debe hacer?”, sino “¿Qué puede hacer mi sistema?”. Por lo tanto, en lugar de simular una so­bre­ca­r­ga prevista, se simula una carga que aumenta su­ce­si­va­me­n­te. Para ello, hay que de­te­r­mi­nar de antemano cuáles son exac­ta­me­n­te los re­qui­si­tos que debe cumplir el sistema. Si, por ejemplo, se presupone el tiempo de respuesta, hay que co­n­si­de­rar de antemano con qué rapidez debe este reac­cio­nar. A co­n­ti­nua­ción, se inicia la prueba de carga y se es­ta­ble­cen gra­dua­l­me­n­te re­qui­si­tos más exi­s­te­n­tes. El proceso continúa hasta que el sistema alcanza sus límites.

Prueba de re­si­s­te­n­cia

El siguiente paso es la prueba de re­si­s­te­n­cia. En principio, este enfoque es el siguiente paso a la prueba de capacidad. Mientras que en la prueba anterior se mira hasta dónde se puede escalar el sistema y luego se detiene en el valor máximo, en la prueba de re­si­s­te­n­cia se sobrepasa de­li­be­ra­da­me­n­te este valor. No se trata de cuánto puede hacer el sistema, sino de cómo reacciona cuando está so­bre­ca­r­ga­do. Por lo tanto, en esta prueba de carga, se le presenta una tarea irre­so­lu­ble y luego se miden los tiempos de respuesta o se observa cuándo se bloquea el sistema y cómo lo hace. De este modo, el sistema estará preparado para casos de di­fi­cu­l­tad reales.

Prueba de carga continua

Las pruebas de carga me­n­cio­na­das hasta ahora están diseñadas para periodos de tiempo cortos. Se prueba el sistema, se termina la prueba y se co­m­prue­ban los re­su­l­ta­dos. Sin embargo, estos pro­ce­di­mie­n­tos no pro­po­r­cio­nan ninguna in­fo­r­ma­ción sobre si el sistema puede soportar una carga de forma pe­r­ma­ne­n­te. Para ave­ri­guar­lo, puede uti­li­zar­se una prueba de carga pe­r­ma­ne­n­te. Se lleva a cabo durante varias horas o incluso días seguidos y determina si el sistema se mantiene estable incluso en fu­n­cio­na­mie­n­to continuo, qué recursos se consumen y si se producen errores ine­s­pe­ra­dos. Al fin y al cabo, la mayoría de los sistemas deberían ser siempre ac­ce­si­bles. La prueba de carga continua garantiza que se cumpla este requisito.

¿Qué tener en cuenta antes de una prueba de carga?

En principio, las pruebas de carga son una buena manera de poner a prueba un sistema, po­si­ble­me­n­te mejorarlo y evaluar mejor los posibles riesgos. Sin embargo, antes de realizar una prueba de carga, se deben tener en cuenta algunos aspectos.

Definir las ex­pe­c­ta­ti­vas

La primera pregunta que debes hacerte es qué quieres conseguir con la prueba de carga. En primer lugar, piensa en los objetivos fu­n­da­me­n­ta­les y las preguntas que quieres responder. ¿Buscas una prueba final antes de lanzarte al mercado? ¿Quieres comprobar lo que tu sistema puede hacer? ¿Quieres pre­pa­rar­te para el peor de los casos y so­bre­ca­r­gar el programa? ¿O lo que más te preocupa es el re­n­di­mie­n­to a largo plazo? En función de tus ne­ce­si­da­des, ne­ce­si­ta­rás una prueba de carga diferente.

Una vez que tengas claros los objetivos básicos, tendrás que co­n­cre­tar­los. ¿Qué tiempo de respuesta quieres conseguir? ¿Qué debe ser capaz de hacer mi sistema? ¿Qué valores son ace­p­ta­bles y en qué momento debo mejorar el re­n­di­mie­n­to? ¿Qué cargas máximas puedo esperar? Si respondes a estas preguntas antes de realizar la prueba de carga, podrás abordarla de forma más eficaz. De esta forma obtendrás los mejores re­su­l­ta­dos y le sacarás todo el partido.

Es­ta­ble­cer plazos

Es im­po­r­ta­n­te tener en cuenta dos puntos. Por un lado, antes de realizar la prueba de carga, debe pla­n­tear­se en qué momento del de­sa­rro­llo tiene sentido esta prueba. Por ejemplo, si tu apli­ca­ción aún no está co­m­ple­ta­me­n­te de­sa­rro­lla­da, la prueba de carga no producirá re­su­l­ta­dos útiles. Sin embargo, si la llevas a cabo demasiado tarde, es posible que los re­su­l­ta­dos ya no puedan influir en el de­sa­rro­llo. Por otra parte, incluso con un sistema ya existente, debes co­n­si­de­rar cuándo la prueba de carga tendrá el menor impacto negativo en las ope­ra­cio­nes ha­bi­tua­les de tu empresa. Es­pe­cia­l­me­n­te si deseas realizar una prueba de carga continua, es im­po­r­ta­n­te tener en cuenta el momento adecuado.

De­te­r­mi­nar el re­n­di­mie­n­to

A co­n­ti­nua­ción, te pre­se­n­ta­mos varias he­rra­mie­n­tas re­co­me­n­da­das para realizar una prueba de carga. Notarás que los costes de cada una difieren co­n­si­de­ra­ble­me­n­te. Existen so­lu­cio­nes de código abierto re­co­me­n­da­bles, pero es­pe­cia­l­me­n­te para un uso re­cu­rre­n­te, puede merecer la pena una versión de pago. Por tanto, debes de­te­r­mi­nar de antemano cuánto quieres invertir en una prueba de carga. La cuestión de la similitud entre el entorno de prueba y el de trabajo también es im­po­r­ta­n­te y debe aclararse de antemano. Si deseas utilizar varias pruebas de carga, deben coor­di­nar­se entre sí, y la eva­lua­ción de los datos también debe or­ga­ni­zar­se antes de que comience el proceso.

¿Cómo realizar una prueba de carga?

Al realizar una prueba de carga, la regla básica es “seguridad ante todo”. En cada paso, el sistema debe estar protegido y re­s­pa­l­da­do de la mejor manera posible. Para ello, se re­co­mie­n­da lo siguiente:

  • Pre­cau­cio­nes de seguridad: antes de la prueba de carga, crea una copia de seguridad de todos los archivos del sistema. Así, si surgen problemas, podrás volver rá­pi­da­me­n­te al estado anterior. Comprueba también qué sistemas externos están co­ne­c­ta­dos y asegúrate de que no se verán afectados por la prueba de carga.
  • Procede paso a paso: aunque quieras probar tu sistema a gran escala, es mejor empezar poco a poco e ir au­me­n­ta­n­do. Al llevar a cabo una prueba de carga es re­co­me­n­da­ble comprobar primero lo que el sistema puede hacer a nivel básico.
  • Solución de software adecuada: por supuesto, la elección de una solución de software adecuada también desempeña un papel im­po­r­ta­n­te. Solo si la prueba de carga co­rre­s­po­n­die­n­te se adapta a tus re­qui­si­tos, obtendrás también re­su­l­ta­dos in­te­re­sa­n­tes e in­fo­r­ma­ción valiosa.

¿Qué he­rra­mie­n­tas existen para las pruebas de carga?

Existen numerosas he­rra­mie­n­tas es­pe­cia­li­za­das en pruebas de carga que te pro­po­r­cio­na­rán valiosos servicios a la hora de comprobar tu sistema. Re­co­me­n­da­mos es­pe­cia­l­me­n­te los si­guie­n­tes programas:

JMeter

Jmeter es una solución de código abierto con una comunidad grande y útil. Con esta he­rra­mie­n­ta, puedes realizar pruebas de carga para numerosas apli­ca­cio­nes y se­r­vi­do­res y crear informes sencillos. Una de­s­ve­n­ta­ja de esta solución es su largo periodo de ada­p­ta­ción. Sin embargo, si estás dispuesto a fa­mi­lia­ri­zar­te con el programa, obtendrás una excelente al­te­r­na­ti­va a otras pruebas de carga más caras.

IBM Rational Pe­r­fo­r­ma­n­ce Tester

El IBM Rational Pe­r­fo­r­ma­n­ce Tester es una potente opción para realizar pruebas de re­n­di­mie­n­to y capacidad. Con este programa también puedes escribir scripts de prueba en Java, crear es­ta­dí­s­ti­cas y comprobar tu nube. Esta prueba de carga es bastante fácil de realizar y no requiere un largo periodo de ada­p­ta­ción. Además de una versión de prueba gratuita ofrece distintas tarifas.

Loa­dRu­n­ner

Loa­dRu­n­ner es un clásico en el campo de las pruebas de carga. El programa está di­s­po­ni­ble en una versión co­mu­ni­ta­ria gratuita y una variante de pago, y es co­m­pa­ti­ble con numerosas te­c­no­lo­gías. Loa­dRu­n­ner no solo te ofrece un manejo sencillo, sino también numerosas po­si­bi­li­da­des para realizar pruebas de carga exac­ta­me­n­te según tus ne­ce­si­da­des.

Ir al menú principal