Actualidad y Tendencias Automatización de Pruebas

Pruebas para evitar con los temidos ‘Broken Links’

El testing es un mundo que a priori puede parecer simple pero, si indagamos, veremos que es mucho más grande y amplio de lo que podamos imaginar. Seguro que muchos habéis oído hablar del perfil de “beta tester”, muy conocido hace años en el mundo de los videojuegos, o del clásico Testing funcional; pero más allá de ese ámbito, el Testing está (o debería estar) en cualquier proyecto, ya sea de desarrollo de software o de hardware.

No podemos sacar al mercado un coche que no haya pasado las pruebas de calidad y seguridad, al igual que no podemos sacar al mercado un software que no haya pasado también un mínimo de pruebas. Y si hablamos de software, podemos incluir (y que ningún desarrollador se lo tome a mal) una página web. En pleno siglo XXI si no estás en internet no existes, y por extensión, si tu página web no funciona correctamente, tu presencia no será todo lo buena que podría ser. En este campo Google es el mayor buscador de Internet y, por suerte o por desgracia, todos tenemos que jugar según sus reglas. Y son estrictas.

Google tiene mecanismos para calcular los tiempos de carga de cada página, cuánto tiempo está un usuario en cada una de ellas, cuántos enlaces hay en cada una de esas páginas o cuáles funciona y cuáles no, por tanto, que nuestra web tenga una “buena salud” es importante primero para que Google no nos penalice en sus búsquedas y segundo para que los usuarios que la visiten (posibles clientes) estén satisfechos con ella.

Tras esta introducción podemos pasar al tema central de este artículo, que es el hecho de asegurarnos que todos los enlaces de nuestra web funcionan correctamente, pero ¿cómo podemos estar seguros de ello? Podríamos hacerlo a mano si tenemos apenas una decena, pero si tenemos cientos puede no ser una tarea agradable.

Aquí es donde entra en juego BrokenLinks Checker, una API que nos permite analizar de forma automática todos los enlaces de nuestra página web para detectar aquellos que no funcionan y poder solucionarlos lo antes posible.

Esta API nos ofrece la posibilidad de generar un reporte rápido para ser visualizado en cualquier herramienta de BI (como PowerBI, por ejemplo), con lo cual, podemos tener una visión rápida del estado de nuestra página web. Al tratarse de una API podemos hacer uso de ella de forma desatendida automatizando un proceso que lance el escaneo periódicamente, lo cual nos permite estar analizando constantemente nuestra web sin que nosotros tengamos que hacer nada.

Para poner un poco más en valor este servicio, podemos hacer un ejercicio rápido de cuánto se tarda en comprobar una página a mano o mediante la API teniendo en cuenta cómo trabaja dicha API: con “texto plano”, por lo que no se carga o procesa ninguna imagen.

Si miramos la parte manual, y sin tener en cuenta el tiempo que podemos tardar en buscar ese enlace en la página y clicarlo, hay que contabilizar el tiempo que tarda nuestra conexión a Internet a descargar y renderizar todo el contenido. Eso incluye las fotos, animaciones, formularios, etc.

Haciendo una búsqueda vemos que Backlinko ha analizado unos 5 millones de páginas para estimar los tiempos de carga de una web.

La primera imagen nos muestra cuánto tarda nuestro navegador en cargar el primer byte, mientras que la segunda el tiempo en cargar la página al completo.

En cuanto al tamaño medio de una web httparchive ha estimado, tras analizar también unos 5 millones de páginas, que es de unos 2MB:

Si pasamos a ver los tiempos de descarga “real” (sólo datos) en base a nuestra conexión a Internet, veremos que con una conexión de 100Mbps tardaríamos apenas 0,3 segundos en descargar 4MB:

Si juntamos toda esta información, y siempre hablando en términos teóricos, podemos hacer las siguientes cuentas suponiendo que nuestra página tenga 100 enlaces con un peso de unos 2MB por página:

Haciendo el ejercicio de forma manual:

4seg/link x 100links = 400s = ~6,5min.

Si optamos por la API, aunque los tiempos teóricos sean muy bajos, debido a los protocolos de conexión estos tiempos siempre serán un poco mayores, así que asumiremos que pueda llegar a tardar hasta 1 segundo por link:

1seg/link x 100links = 100s = ~1,5min.

Si trasladamos esto a una gráfica nos podemos hacer una idea de la diferencia de tiempo:

Como hemos dicho, estos tiempos son teóricos y dependen del estado de la conexión en ese momento o el tiempo que tarde la API en procesar parte de esa información, pero la diferencia de tiempo seguiría siendo importante, además de que la API juega con el factor “autónomo”. Además, el fichero en texto plano que corresponde a la página no pesa esos 2MB (puede que apenas tenga un peso de 200KB), pero para estas pruebas hemos obviado este punto.

Visto esto podemos ver que BrokenLinks Checker es un servicio que puede dar un gran valor añadido a esos clientes que basan parte de su negocio en su página web ya que les permite asegurar que todos los enlaces, ya sean a otras partes de la página, a páginas externas o incluso a ficheros (como documentos PDF) funcionan correctamente.

Os propongo que probéis a analizar todos los enlaces que hay en vuestra página web para ver cuánto tardáis. Esperamos que os haya servido 🙂

Acerca de Toni Miquel

Ingeniero de Desarrollo y Testing en SogetiLabs Spain haciendo cositas en el departamento de "Thinkubator". Nuevas tecnologías, domótica casera y OpenSource. Ingeniero informático de los que arreglan impresoras y friki a tiempo parcial.

0 comments on “Pruebas para evitar con los temidos ‘Broken Links’

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: