Todos somos conscientes del elevado coste que puede suponer un proyecto mal planificado, bien sea la construcción de una casa, un electrodoméstico, una campaña publicitaria… En los proyectos informáticos ocurre lo mismo. Pero ¿qué papel puede jugar el testing en la planificación de proyectos informáticos, y cómo puede ayudarnos a reducir los costes?

Debemos ser capaces de analizar y planificar con el mayor detalle posible los costes y recursos necesarios para dicho fin, teniendo en cuenta posibles contratiempos y planificando sus contramedidas. Es lo que se conoce como Ingeniería del Software.

La importancia del testing

Sin embargo, hay elementos que no somos capaces de predecir o controlar; como el factor humano. Y es que, por mucho que nos esforcemos en hacer las cosas bien, somos falibles y cometemos errores, que en el desarrollo de software son conocidos como bugs.

Por ello, dentro de la planificación de nuestros proyectos, debemos también diseñar pruebas que nos permitan, de manera eficaz y eficiente, asegurar que nuestro producto de software cumple con las exigencias mediante:

• Verificación: se comprueba que funciona como se esperaba.
• Validación: satisface nuestras expectativas en cuanto a calidad

Existen multitud de metodologías y conceptos en torno a dicha planificación. Por ejemplo, el concepto de QA (Quality Assurance) toma como objetivo reducir los errores en el proceso de desarrollo, mientras que el concepto de Testing se centra en buscar fallos en el producto final. Ambos, componen un ciclo de prevención y detección que aseguran un buen trabajo.

Estrategias de testing y sus tipos

Dentro de las estrategias de testing, podemos identificar distintos niveles de prueba que hacen referencia a diferentes objetivos:

• Tests unitarios: se centra en buscar bugs en un módulo de código.
• Tests de integración: focalizan su actividad en la interacción entre distintos módulos.
• Tests de sistema: buscan errores causados en la interacción global de todos los elementos (incluidos elementos externos).
• Tests de aceptación: enfocan sus esfuerzos en concluir si el producto desarrollado cumple con lo esperado.

Esta última fase de las estrategias mencionadas cobra mucha importancia cuando trabajamos en infraestructura como código – IaC, ya que la capacidad de nuestra plataforma es a priori ilimitada, puesto que siempre podemos escalar fácilmente nuestros recursos en la nube sin necesidad de alterar el código.

Sin embargo, el coste de nuestra infraestructura será inversamente proporcional a la calidad de lo desarrollado; cuanto más eficiente sea nuestro sistema, menos recursos deberemos contratar para abarcar un mismo volumen de servicio.

Por ello, Dedicamos esfuerzo diario a la monitorización, tests de carga, integración con nuevas tecnologías y una mejora continua de la calidad de nuestro producto.

Desde el Departamento de I+D de Teldat trabajamos activamente para reducir los costes de infraestructura mediante optimización y automatización de los procesos relativos a nuestra plataforma SD-WAN y su despliegue en la nube.


Sobre el autor

Adria Segura
Adria Segura
es Ingeniero Informático en el departamento de I+D de Teldat. Dentro de dicho departamento trabaja en el grupo de Infraestructura como Software Cloud

Comparte este post


Nuestras Soluciones Relevantes



| Etiquetas: