{"id":17702,"date":"2023-01-10T10:39:00","date_gmt":"2023-01-10T13:39:00","guid":{"rendered":"https:\/\/es.abstracta.us\/blog\/?p=17702"},"modified":"2024-07-19T15:44:43","modified_gmt":"2024-07-19T19:44:43","slug":"guia-introductoria-pruebas-performance-sitios-web","status":"publish","type":"post","link":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/","title":{"rendered":"Pruebas de performance web: una gu\u00eda introductoria"},"content":{"rendered":"\n<p id=\"25c6\">A una edad muy temprana, todos hemos estado expuestos a muchos tiempos de espera. Como ni\u00f1os, debemos esperar nuestro turno para golpear la pi\u00f1ata durante las fiestas de cumplea\u00f1os. Como adultos, nos enfrentamos a colas en todas partes, desde pagar por la compra hasta comprar los \u00faltimos modelos de tel\u00e9fono. Esperar no es una actividad agradable para la mayor\u00eda de las personas, especialmente si est\u00e1n acostumbrados a la gratificaci\u00f3n instant\u00e1nea que proporcionan la mayor\u00eda de las tecnolog\u00edas actuales. Se sabe que la paciencia de las personas se vuelve m\u00e1s fina a medida que la tecnolog\u00eda avanza m\u00e1s r\u00e1pido.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web-1024x682.png\" alt=\"Una gu\u00eda introductoria sobre pruebas de performance en sitios web\" class=\"wp-image-17703\" srcset=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web-1024x682.png 1024w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web-300x200.png 300w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web-768x512.png 768w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web-18x12.png 18w, https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/04\/guia-pruebas-performance-sitios-web.png 1271w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p><strong><em>Por Marie Cruz de K6<\/em><\/strong><\/p>\n\n\n\n<p id=\"3a9f\">Los estudios de usabilidad que datan de los a\u00f1os 90, como se menciona en este art\u00edculo,&nbsp;<a href=\"https:\/\/www.nngroup.com\/articles\/the-need-for-speed-1997\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u201dThe Need for Speed\u201d por Jakob Nielsen<\/a>, muestran que los tiempos de respuesta r\u00e1pidos son esenciales para la usabilidad web. Los sitios web deben ser creados con velocidad en mente para que los usuarios tengan una excelente experiencia de usuario. Hoy en d\u00eda, los usuarios cierran r\u00e1pidamente una pesta\u00f1a o una ventana si el sitio web que utilizan tiene una sensaci\u00f3n \u201clenta\u201d. El rendimiento lento tambi\u00e9n puede tener un impacto negativo en los negocios, ya que los usuarios ir\u00e1n a sus competidores si su sitio web no est\u00e1 a la velocidad a la que est\u00e1n acostumbrados los usuarios.<\/p>\n\n\n\n<p id=\"964c\">Este gu\u00eda le dar\u00e1 una visi\u00f3n general de lo siguiente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00bfQu\u00e9 es el rendimiento web?<\/li>\n\n\n\n<li>Impactos de un sitio web lento<\/li>\n\n\n\n<li>\u00bfA qu\u00e9 velocidad deben ser los sitios web?<\/li>\n\n\n\n<li>M\u00e9tricas de rendimiento web<\/li>\n\n\n\n<li>Herramientas para probar el rendimiento web<\/li>\n\n\n\n<li>Un enfoque h\u00edbrido para las pruebas de rendimiento.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"d9b3\"><strong>\u00bfQu\u00e9 es performance web?<\/strong><\/h2>\n\n\n\n<p id=\"7fb7\">Algunos de nosotros pensamos en el rendimiento del servidor o el rendimiento del backend cuando hablamos de rendimiento en general, por lo que hacemos optimizaciones dentro de eso. Sin embargo, las mejoras de rendimiento no se detienen aqu\u00ed. Solo porque nuestros servidores han respondido con la solicitud que el usuario ha solicitado no significa que se les muestre de forma instant\u00e1nea.<\/p>\n\n\n\n<p id=\"37a8\">En pocas palabras,&nbsp;<strong>el rendimiento web se trata de c\u00f3mo es el rendimiento o la velocidad de tu sitio web cuando tus usuarios lo cargan.<\/strong><\/p>\n\n\n\n<p id=\"9e87\">Varias factores, como la cantidad de archivos CSS o Javascript que se descargan, el navegador que utilizan tus usuarios, las capacidades del dispositivo y la conectividad de red, pueden afectar el tiempo de carga de tu sitio web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"7aff\"><strong>El impacto de un sitio web lento<\/strong><\/h2>\n\n\n\n<p id=\"d2f3\">La gente ha estado quej\u00e1ndose de sitios web lentos desde los d\u00edas de la conexi\u00f3n telef\u00f3nica. Sin embargo, incluso en la actualidad, donde tenemos conexiones a internet m\u00e1s r\u00e1pidas, \u00a1todav\u00eda nos quejamos de los sitios web lentos! Las redes sociales han hecho m\u00e1s accesible compartir nuestras frustraciones tambi\u00e9n.<\/p>\n\n\n\n<p id=\"8f2b\">Este&nbsp;<a href=\"https:\/\/www.nngroup.com\/articles\/the-need-for-speed\/\" target=\"_blank\" rel=\"noreferrer noopener\">estudio actualizado de la respuesta web<\/a>&nbsp;muestra que los tiempos de descarga de p\u00e1gina medianos son de 6 segundos en el escritorio y, peor a\u00fan, de 20 segundos en el m\u00f3vil. Tenemos conexiones m\u00e1s r\u00e1pidas, pero los sitios web no son mucho m\u00e1s r\u00e1pidos de lo que eran hace diez a\u00f1os. \u00a1No es de extra\u00f1ar que la gente siga quej\u00e1ndose!<\/p>\n\n\n\n<p id=\"a666\">Un sitio web lento no solo afecta la experiencia de tus usuarios. La velocidad de tu sitio web tambi\u00e9n puede afectar enormemente tu reputaci\u00f3n comercial, tus ingresos e incluso tu posicionamiento en los motores de b\u00fasqueda. Google anunci\u00f3 que la&nbsp;<a href=\"https:\/\/developer.chrome.com\/blog\/search-ads-speed\/\" rel=\"noreferrer noopener\" target=\"_blank\">velocidad de la p\u00e1gina es ahora un factor<\/a>&nbsp;para su algoritmo de b\u00fasqueda y posicionamiento.<\/p>\n\n\n\n<p id=\"bf06\">Aqu\u00ed hay algunos ejemplos de c\u00f3mo los sitios web lentos han afectado \/ podr\u00edan afectar a un negocio:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Amazon descubri\u00f3 que por cada retraso de 100 ms en la carga de la p\u00e1gina, encontraba una p\u00e9rdida del 1% en las ganancias de ventas.<\/li>\n\n\n\n<li>Akamai ha llevado a cabo un estudio que muestra que los consumidores se vuelven impacientes cuando una p\u00e1gina tarda m\u00e1s de dos segundos en cargar, lo que resulta en una tasa de rebote m\u00e1s alta.<\/li>\n<\/ul>\n\n\n\n<p id=\"d932\">Estos ejemplos demuestran que <strong>el rendimiento web es esencial para proporcionar la mejor experiencia de usuario, y mejorar las m\u00e9tricas cr\u00edticas relacionadas con el rendimiento tiene un impacto positivo en las ganancias de un negocio y en su posicionamiento en los motores de b\u00fasqueda<\/strong>. Si todav\u00eda no est\u00e1s convencido, echa un vistazo a las estad\u00edsticas&nbsp;<a href=\"https:\/\/wpostats.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">WPO<\/a>&nbsp;(Web Performance Optimization) para una colecci\u00f3n de estudios de casos que muestran c\u00f3mo diferentes empresas vieron mejoras cuando hicieron algunas optimizaciones de rendimiento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"169c\"><strong>\u00bfQu\u00e9 tan r\u00e1pido debe ser un sitio web?<\/strong><\/h2>\n\n\n\n<p id=\"00b3\">La velocidad de carga de la p\u00e1gina es el indicador clave que debes tener en cuenta en cuanto al rendimiento web. \u00bfPero qu\u00e9 tan r\u00e1pido deben ser los tiempos de respuesta de la p\u00e1gina? \u00bfExiste un n\u00famero m\u00e1gico que debas conocer?<\/p>\n\n\n\n<p id=\"dd7b\">Jakob Nielsen resume esto bien en su art\u00edculo, \u201c<a href=\"https:\/\/www.nngroup.com\/articles\/response-times-3-important-limits\/\" rel=\"noreferrer noopener\" target=\"_blank\">Response Time: The 3 Important Limits<\/a>\u201d, donde afirma que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0.1 segundos<\/strong>&nbsp;es aproximadamente el l\u00edmite para que el usuario sienta que el sistema est\u00e1 reaccionando de manera instant\u00e1nea, lo que significa que no se necesita ning\u00fan tipo de retroalimentaci\u00f3n especial excepto para mostrar el resultado.<\/li>\n\n\n\n<li><strong>1.0 segundos<\/strong>&nbsp;es el l\u00edmite para que el flujo de pensamiento del usuario no se interrumpa, aunque el usuario notar\u00e1 el retraso. Normalmente, no se necesita ning\u00fan tipo de retroalimentaci\u00f3n durante los retrasos de m\u00e1s de 0.1, pero menos de 1.0 segundos, pero el usuario pierde la sensaci\u00f3n de operar directamente en los datos.<\/li>\n\n\n\n<li><strong>10 segundos<\/strong>&nbsp;es el l\u00edmite para mantener la atenci\u00f3n del usuario enfocada en el di\u00e1logo. Para retrasos m\u00e1s largos, los usuarios querr\u00e1n realizar otras tareas mientras esperan a que la computadora termine, por lo que deben recibir retroalimentaci\u00f3n indicando cu\u00e1ndo se espera que la computadora termine. La retroalimentaci\u00f3n durante el retraso es especialmente importante si el tiempo de respuesta es altamente variable ya que los usuarios entonces no sabr\u00e1n qu\u00e9 esperar.<\/li>\n<\/ul>\n\n\n\n<p id=\"2e83\">Como regla general, tu sitio web debe cargar lo m\u00e1s r\u00e1pido posible, pero no demasiado r\u00e1pido para que tus usuarios no puedan seguir con lo que est\u00e1n haciendo.<\/p>\n\n\n\n<p id=\"3c19\">El rendimiento percibido de tu sitio web tambi\u00e9n es importante. El rendimiento percibido es la rapidez con la que se siente un sitio web a un usuario de forma subjetiva en lugar de medir de forma objetiva. Por ejemplo, es mejor mostrar a tus usuarios un indicador visual, en forma de barras de progreso o animaciones de carga, que algo est\u00e1 pasando en lugar de no mostrar ning\u00fan progreso en absoluto. De esta manera, tus usuarios se sienten involucrados y el tiempo vuela m\u00e1s r\u00e1pido cuando est\u00e1s haciendo una actividad interesante.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"8c41\"><strong>M\u00e9tricas de performance web<\/strong><\/h2>\n\n\n\n<p id=\"0603\">Para saber cu\u00e1n r\u00e1pido es tu sitio web, hay algunas <a href=\"https:\/\/es.abstracta.us\/blog\/metricas-clave-pruebas-performance\/\" target=\"_blank\" rel=\"noreferrer noopener\">m\u00e9tricas espec\u00edficas del rendimiento web<\/a> que necesitas conocer. Estas m\u00e9tricas no est\u00e1n establecidas en piedra, pero son indicadores \u00fatiles para entender c\u00f3mo se desempe\u00f1a tu sitio web.<\/p>\n\n\n\n<p id=\"6e2a\">Los&nbsp;<a href=\"https:\/\/web.dev\/vitals\/\" rel=\"noreferrer noopener\" target=\"_blank\">Web Vitals<\/a>&nbsp;son m\u00e9tricas que Google considera esenciales con respecto al rendimiento del navegador y la experiencia del usuario. Para simplificar las m\u00e9tricas que m\u00e1s importan, resumir\u00e9 los vitales web b\u00e1sicos que debes conocer. Estos vitales son lo que Google considera lo m\u00e1s importante y deben aplicarse a todos los sitios web.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/web.dev\/lcp\/\" rel=\"noreferrer noopener\" target=\"_blank\">Largest Contentful Paint (LCP)<\/a>&nbsp;\u2014 mide la cantidad de tiempo que tarda un navegador en renderizar el contenido m\u00e1s grande de la p\u00e1gina, como im\u00e1genes o videos dentro del viewport visible.<\/li>\n\n\n\n<li><a href=\"https:\/\/web.dev\/fid\/\" rel=\"noreferrer noopener\" target=\"_blank\">First Input Delay (FID)<\/a>&nbsp;\u2014 mide la primera impresi\u00f3n de tu usuario sobre la rapidez de tu sitio web. FID nos dice cu\u00e1nto tiempo deben esperar tus usuarios una respuesta despu\u00e9s de interactuar con una p\u00e1gina.<\/li>\n\n\n\n<li><a href=\"https:\/\/web.dev\/cls\/\" rel=\"noreferrer noopener\" target=\"_blank\">Cumulative Layout Shift (CLS<\/a>) \u2014 mide el cambio de dise\u00f1o m\u00e1s grande e inesperado en tu sitio web. Los elementos que cambian inesperadamente pueden causar da\u00f1os reales en la experiencia de tu usuario.<\/li>\n<\/ol>\n\n\n\n<p id=\"afab\">Ten en cuenta que los vitales web b\u00e1sicos evolucionar\u00e1n para reflejar los cambios tecnol\u00f3gicos.<\/p>\n\n\n\n<p id=\"a1d4\">Adem\u00e1s de los vitales web b\u00e1sicos, tambi\u00e9n es bueno conocer&nbsp;<a href=\"https:\/\/web.dev\/vitals\/#other-web-vitals\" rel=\"noreferrer noopener\" target=\"_blank\">otros web vitals<\/a>&nbsp;para entender mejor la experiencia de tu usuario.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/web.dev\/ttfb\/\" rel=\"noreferrer noopener\" target=\"_blank\">Tiempo de Primer Byte (TTFB)<\/a>&nbsp;\u2014 mide el tiempo entre la solicitud de un recurso y cuando comienza a llegar el primer byte de respuesta.<\/li>\n\n\n\n<li><a href=\"https:\/\/web.dev\/fcp\/\" rel=\"noreferrer noopener\" target=\"_blank\">Primer pintado con contenido (FCP)<\/a>&nbsp;\u2014 mide la cantidad de tiempo que tarda un navegador en renderizar cualquier pieza de contenido de la p\u00e1gina.<\/li>\n\n\n\n<li><a href=\"https:\/\/web.dev\/tbt\/\" rel=\"noreferrer noopener\" target=\"_blank\">Tiempo total de bloqueo (TBT)<\/a>&nbsp;\u2014 el tiempo en el que el hilo principal del navegador est\u00e1 bloqueado debido a tareas largas, lo que impide la respuesta de entrada.<\/li>\n\n\n\n<li><a href=\"https:\/\/web.dev\/tti\/\" rel=\"noreferrer noopener\" target=\"_blank\">Tiempo para interactivo (TTI)<\/a>&nbsp;\u2014 mide el tiempo que se tarda en que una p\u00e1gina sea completamente interactiva.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"927c\"><strong>Herramientas para testing de performance web<\/strong><\/h2>\n\n\n\n<p id=\"3e15\">Para asegurarte de que tus usuarios tengan la experiencia m\u00e1s \u00f3ptima, necesitas herramientas y bibliotecas que te ayuden con la prueba de rendimiento web. La lista a continuaci\u00f3n no es exhaustiva, pero te ayudar\u00e1 a comenzar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"021a\"><a href=\"https:\/\/github.com\/GoogleChrome\/lighthouse\" rel=\"noreferrer noopener\" target=\"_blank\">Google Lighthouse<\/a><\/h3>\n\n\n\n<p id=\"7ccb\">Google Lighthouse es una herramienta de c\u00f3digo abierto para auditar y mejorar la calidad y el rendimiento de tu sitio web. Adem\u00e1s de medir el rendimiento, tambi\u00e9n mide otros aspectos, como la accesibilidad o el SEO. Lighthouse se puede ejecutar como parte de Chrome DevTools, desde la l\u00ednea de comandos o como un m\u00f3dulo de Node. Lighthouse proporciona una puntuaci\u00f3n de auditor\u00eda y un desglose claro de los problemas que ralentizan tu sitio web.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/0*FFDHc0JXWTGllUVb\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"8d6e\">Google Lighthouse utiliza datos de laboratorio, que son datos recolectados de un entorno controlado utilizando dispositivos y configuraciones de red predefinidos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"bf25\"><a href=\"https:\/\/pagespeed.web.dev\/\" rel=\"noreferrer noopener\" target=\"_blank\">PageSpeed Insights<\/a><\/h3>\n\n\n\n<p id=\"6f31\">Al igual que Google Lighthouse, PageSpeed Insights tambi\u00e9n te permite auditar el rendimiento de tu sitio web y proporciona una evaluaci\u00f3n de los fundamentos web vitales. Tambi\u00e9n utiliza Google Lighthouse bajo el cap\u00f3, pero a diferencia de Google Lighthouse, PageSpeed Insights tambi\u00e9n utiliza datos de campo recolectados de usuarios reales.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/0*bxDjBUr8v_sPag58\" alt=\"\"\/><\/figure><\/div>\n\n\n<h3 class=\"wp-block-heading\" id=\"e53b\"><a href=\"https:\/\/www.webpagetest.org\/\" rel=\"noreferrer noopener\" target=\"_blank\">WebPageTest<\/a><\/h3>\n\n\n\n<p id=\"4b75\">WebPageTest proporciona informaci\u00f3n diagn\u00f3stica exhaustiva y detallada sobre el rendimiento de una p\u00e1gina. Al igual que Google Lighthouse, utiliza datos de laboratorio, pero te permite simular tu prueba para ejecutarla bajo diferentes condiciones de red, navegadores y ubicaciones en todo el mundo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/0*mbB_WRPdmdvyuaJP\" alt=\"\"\/><\/figure><\/div>\n\n\n<p id=\"32ec\">Puedes agregar las siguientes herramientas a tus pipelines de integraci\u00f3n continua para habilitar las <a href=\"https:\/\/es.abstracta.us\/blog\/testing-performance-integracion-continua\/\" target=\"_blank\" rel=\"noreferrer noopener\">pruebas de rendimiento continuas<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"53cc\"><a href=\"https:\/\/github.com\/grafana\/xk6-browser\" rel=\"noreferrer noopener\" target=\"_blank\">xk6-browser<\/a><\/h3>\n\n\n\n<p id=\"9a36\">xk6-browser te permite obtener informaci\u00f3n de tu aplicaci\u00f3n front-end durante las pruebas de rendimiento mientras soporta todas las caracter\u00edsticas principales de&nbsp;<a href=\"https:\/\/k6.io\/\" rel=\"noreferrer noopener\" target=\"_blank\">k6<\/a>.<\/p>\n\n\n\n<p id=\"2189\">Con xk6-browser, puedes simular gran parte de tu tr\u00e1fico desde tus pruebas de nivel de protocolo y ejecutar uno o dos usuarios virtuales a nivel de navegador para imitar c\u00f3mo un usuario interact\u00faa con tu sitio web, aprovechando as\u00ed un enfoque h\u00edbrido para las pruebas de rendimiento, que voy a hablar un poco m\u00e1s adelante. Para obtener m\u00e1s informaci\u00f3n sobre xk6-browser, consulta la documentaci\u00f3n de&nbsp;<a href=\"https:\/\/k6.io\/docs\/javascript-api\/xk6-browser\/\" rel=\"noreferrer noopener\" target=\"_blank\">xk6-browser<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"a02f\"><a href=\"https:\/\/github.com\/mfrachet\/cypress-audit\" rel=\"noreferrer noopener\" target=\"_blank\">cypress-audit<\/a><\/h3>\n\n\n\n<p id=\"df47\">cypress-audit es un plugin de&nbsp;<a href=\"https:\/\/www.cypress.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Cypress<\/a>&nbsp;que te permite integrar las puntuaciones de Google Lighthouse directamente desde tus pruebas Cypress. Para obtener una visi\u00f3n general de c\u00f3mo funciona, revisa la documentaci\u00f3n de&nbsp;<a href=\"https:\/\/mfrachet.github.io\/cypress-audit\/\" target=\"_blank\" rel=\"noreferrer noopener\">cypress-audit<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"d0cb\"><a href=\"https:\/\/playwright.dev\/\" rel=\"noreferrer noopener\" target=\"_blank\">Playwright<\/a><\/h3>\n\n\n\n<p id=\"8a67\">Playwright tambi\u00e9n te permite acceder a varias API de rendimiento web para medir el rendimiento de tu sitio web dentro de tu c\u00f3digo. Aqu\u00ed hay una excelente&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=IrK-XDH72bw&amp;ab_channel=NYWebPerformanceMeetup\" target=\"_blank\" rel=\"noreferrer noopener\">charla<\/a>&nbsp;de Meetup de John Hill en la que habl\u00f3 sobre las pruebas de rendimiento utilizando Playwright.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"eaf5\"><strong>Un enfoque hibrido para las pruebas de performance<\/strong><\/h2>\n\n\n\n<p id=\"721e\">Hasta ahora, solo he estado hablando sobre el rendimiento web. El rendimiento web es solo un lado de la moneda. Si solo consideras el rendimiento web, esto puede llevar a una falsa confianza en el rendimiento global de la aplicaci\u00f3n cuando aumenta la cantidad de tr\u00e1fico contra una aplicaci\u00f3n.<\/p>\n\n\n\n<p id=\"4f55\">Tambi\u00e9n debes probar tus sistemas de backend para tener una imagen completa del rendimiento de tu aplicaci\u00f3n. Una forma com\u00fan de probar el rendimiento del backend es hacer pruebas de carga a trav\u00e9s del nivel de protocolo, ya que puedes simular f\u00e1cilmente miles de solicitudes de forma concurrente.<\/p>\n\n\n\n<p id=\"2e86\">Sin embargo, existen problemas asociados con las pruebas a trav\u00e9s del nivel de protocolo, como:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>No estar m\u00e1s cerca de la experiencia del usuario ya que se salta el navegador.<\/li>\n\n\n\n<li>Los scripts pueden ser largos de crear y dif\u00edciles de mantener a medida que crece la aplicaci\u00f3n.<\/li>\n\n\n\n<li>Se ignoran las m\u00e9tricas de rendimiento del navegador.<\/li>\n<\/ul>\n\n\n\n<p id=\"25ee\">Por otro lado, si realizas pruebas de carga al crear muchos navegadores, esto requiere significativamente m\u00e1s recursos de generaci\u00f3n de carga, lo cual puede resultar bastante costoso.<\/p>\n\n\n\n<p id=\"cb4b\">Para solucionar las limitaciones de cada enfoque, una pr\u00e1ctica recomendada es adoptar un enfoque h\u00edbrido para las pruebas de rendimiento, que es una combinaci\u00f3n de las pruebas tanto de los sistemas de backend y frontend a trav\u00e9s del nivel de protocolo y del navegador. Con un enfoque h\u00edbrido, se crea la mayor\u00eda de la carga a trav\u00e9s del nivel de protocolo y simult\u00e1neamente se tiene uno o dos usuarios virtuales en el nivel del navegador, para poder tener una visi\u00f3n de lo que est\u00e1 sucediendo en el front-end.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/miro.medium.com\/v2\/resize:fit:630\/0*7sRU5lMsherSf7j5\" alt=\"Un usuario visitando el frontend mientras una gran cantidad de solicitudes concurrentes al backend son enviadas por usuarios virtuales de manera simult\u00e1nea, dando un enfoque h\u00edbrido para las pruebas de rendimiento.\"\/><\/figure><\/div>\n\n\n<p id=\"7768\">Hay varias maneras de llevar a cabo este enfoque:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilizar una sola herramienta para ambos, como xk6-browser, que puede ofrecer una experiencia simplificada y una vista agregada de las m\u00e9tricas de rendimiento.<\/li>\n\n\n\n<li>Usar una combinaci\u00f3n de diferentes herramientas simult\u00e1neamente. Por ejemplo, puedes utilizar cualquiera de las herramientas mencionadas anteriormente, como Google Lighthouse o WebPageTest, en conjunci\u00f3n con herramientas a nivel de protocolo como JMeter, k6 o Gatling.<\/li>\n<\/ul>\n\n\n\n<p id=\"c1ac\">Sea cual sea el enfoque o herramienta que elijas, lo importante es que consideres cuidadosamente tus requisitos. Por ejemplo, puedes comenzar priorizando el rendimiento del frontend con el objetivo general de tener una prueba que tambi\u00e9n cubra el rendimiento de tu aplicaci\u00f3n de backend.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"d8c6\">Cerrando<\/h3>\n\n\n\n<p id=\"d577\">Las empresas pasan tiempo tratando de hacer que sus sitios web sean hermosos. Sin embargo, los estudios muestran que se necesita algo m\u00e1s que funcionalidad. La velocidad y el rendimiento son igualmente importantes, por lo que las pruebas de rendimiento son cruciales hoy en d\u00eda. Si bien las pruebas de carga siguen siendo un enfoque excelente para probar la escalabilidad y la confiabilidad de sus aplicaciones, se necesitan pruebas de rendimiento web para evaluar la experiencia general del usuario.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"468a\">Art\u00edculos relacionados<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=nZlleGaf5Ro&amp;ab_channel=k6\" target=\"_blank\" rel=\"noreferrer noopener\">Pruebas de performance h\u00edbridas con k6<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/es.abstracta.us\/blog\/rendimiento-pruebas-performance-software\/\">\u00bfQu\u00e9 es el rendimiento en las pruebas de performance?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/abstracta.us\/blog\/performance-testing\/load-testing-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">Modelo de la pir\u00e1mide de automatizaci\u00f3n para pruebas de performance<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/es.abstracta.us\/blog\/testing-performance-llave-maestra-mejorar-calidad-software\/\" target=\"_blank\" rel=\"noreferrer noopener\">Testing de performance, llave maestra para mejorar tu software<\/a><a href=\"https:\/\/medium.com\/@abstracta?source=post_page-----f2060c41a722--------------------------------\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A una edad muy temprana, todos hemos estado expuestos a muchos tiempos de espera. Como ni\u00f1os, debemos esperar nuestro turno para golpear la pi\u00f1ata durante las fiestas de cumplea\u00f1os. Como adultos, nos enfrentamos a colas en todas partes, desde pagar por la compra hasta comprar&#8230;<\/p>\n","protected":false},"author":38,"featured_media":18483,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57,9],"tags":[230,173,220,64,215,167],"class_list":["post-17702","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-herramientas-pruebas","category-pruebas-performance","tag-aplicaciones-web","tag-performance-testing","tag-pruebas-continuas","tag-pruebas-carga","tag-pruebas-de-rendimiento","tag-testing-continuo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pruebas de performance web: una gu\u00eda introductoria - Abstracta<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pruebas de performance web: una gu\u00eda introductoria - Abstracta\" \/>\n<meta property=\"og:url\" content=\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AbstractaChile\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-10T13:39:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-19T19:44:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/01\/pruebas-performance-web-guia-introductoria.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Abstracta Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:site\" content=\"@AbstractaChile\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Abstracta Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\"},\"author\":{\"name\":\"Abstracta Team\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523\"},\"headline\":\"Pruebas de performance web: una gu\u00eda introductoria\",\"datePublished\":\"2023-01-10T13:39:00+00:00\",\"dateModified\":\"2024-07-19T19:44:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\"},\"wordCount\":2540,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"keywords\":[\"Aplicaciones Web\",\"Performance Testing\",\"Pruebas Continuas\",\"Pruebas de Carga\",\"Pruebas de Rendimiento\",\"Testing Continuo\"],\"articleSection\":[\"Herramientas\",\"Pruebas de Performance\"],\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\",\"url\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\",\"name\":\"Pruebas de performance web: una gu\u00eda introductoria - Abstracta\",\"isPartOf\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\"},\"datePublished\":\"2023-01-10T13:39:00+00:00\",\"dateModified\":\"2024-07-19T19:44:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/es.abstracta.us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pruebas de performance web: una gu\u00eda introductoria\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#website\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"name\":\"Abstracta\",\"description\":\"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.\",\"publisher\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#organization\",\"name\":\"Abstracta\",\"url\":\"https:\/\/es.abstracta.us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"contentUrl\":\"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png\",\"width\":1217,\"height\":300,\"caption\":\"Abstracta\"},\"image\":{\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.instagram.com\/we_are_abstracta\/\",\"https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/\",\"https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ\",\"https:\/\/www.facebook.com\/AbstractaChile\/\",\"https:\/\/twitter.com\/AbstractaChile\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523\",\"name\":\"Abstracta Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g\",\"caption\":\"Abstracta Team\"},\"sameAs\":[\"https:\/\/cl.abstracta.us\/\"],\"url\":\"https:\/\/es.abstracta.us\/blog\/author\/abstracta-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pruebas de performance web: una gu\u00eda introductoria - Abstracta","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/","og_locale":"es_ES","og_type":"article","og_title":"Pruebas de performance web: una gu\u00eda introductoria - Abstracta","og_url":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/","og_site_name":"Blog de Desarrollo de Software, Testing e Inteligencia Artificial | Abstracta","article_publisher":"https:\/\/www.facebook.com\/AbstractaChile\/","article_published_time":"2023-01-10T13:39:00+00:00","article_modified_time":"2024-07-19T19:44:43+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/01\/pruebas-performance-web-guia-introductoria.png","type":"image\/png"}],"author":"Abstracta Team","twitter_card":"summary_large_image","twitter_creator":"@AbstractaChile","twitter_site":"@AbstractaChile","twitter_misc":{"Written by":"Abstracta Team","Est. reading time":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#article","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/"},"author":{"name":"Abstracta Team","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523"},"headline":"Pruebas de performance web: una gu\u00eda introductoria","datePublished":"2023-01-10T13:39:00+00:00","dateModified":"2024-07-19T19:44:43+00:00","mainEntityOfPage":{"@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/"},"wordCount":2540,"commentCount":0,"publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"keywords":["Aplicaciones Web","Performance Testing","Pruebas Continuas","Pruebas de Carga","Pruebas de Rendimiento","Testing Continuo"],"articleSection":["Herramientas","Pruebas de Performance"],"inLanguage":"es-CL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/","url":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/","name":"Pruebas de performance web: una gu\u00eda introductoria - Abstracta","isPartOf":{"@id":"https:\/\/es.abstracta.us\/blog\/#website"},"datePublished":"2023-01-10T13:39:00+00:00","dateModified":"2024-07-19T19:44:43+00:00","breadcrumb":{"@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/es.abstracta.us\/blog\/guia-introductoria-pruebas-performance-sitios-web\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/es.abstracta.us\/blog\/"},{"@type":"ListItem","position":2,"name":"Pruebas de performance web: una gu\u00eda introductoria"}]},{"@type":"WebSite","@id":"https:\/\/es.abstracta.us\/blog\/#website","url":"https:\/\/es.abstracta.us\/blog\/","name":"Abstracta","description":"Recursos, buenas pr\u00e1cticas, tendencias y rese\u00f1as de herramientas de desarrollo de software, testing e Inteligencia Artificial.","publisher":{"@id":"https:\/\/es.abstracta.us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/es.abstracta.us\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/es.abstracta.us\/blog\/#organization","name":"Abstracta","url":"https:\/\/es.abstracta.us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","contentUrl":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2024\/03\/abstracta-logo.png","width":1217,"height":300,"caption":"Abstracta"},"image":{"@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/we_are_abstracta\/","https:\/\/www.linkedin.com\/showcase\/abstracta-chile\/","https:\/\/www.youtube.com\/channel\/UCj4dx2LZCRcgM8GzxYEKYeQ","https:\/\/www.facebook.com\/AbstractaChile\/","https:\/\/twitter.com\/AbstractaChile"]},{"@type":"Person","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/374d557eb4159dd8bc80fa5cedf4e523","name":"Abstracta Team","image":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/es.abstracta.us\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/918af28f3280de6f53fa272bb6aab41b?s=96&d=mm&r=g","caption":"Abstracta Team"},"sameAs":["https:\/\/cl.abstracta.us\/"],"url":"https:\/\/es.abstracta.us\/blog\/author\/abstracta-team\/"}]}},"jetpack_featured_media_url":"https:\/\/es.abstracta.us\/wp-content\/uploads\/2023\/01\/pruebas-performance-web-guia-introductoria.png","_links":{"self":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17702"}],"collection":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/users\/38"}],"replies":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/comments?post=17702"}],"version-history":[{"count":5,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17702\/revisions"}],"predecessor-version":[{"id":18484,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/posts\/17702\/revisions\/18484"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media\/18483"}],"wp:attachment":[{"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/media?parent=17702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/categories?post=17702"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/es.abstracta.us\/blog\/wp-json\/wp\/v2\/tags?post=17702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}