26/06/2019 | Ivan Villaumbrales | 42 Visitas

Testing, la importancia sobre la fase de testeo de software

Como bien sabemos, el proceso de creación de software se compone de varias fases. Desde su diseño hasta su puesta en producción, debe pasar por varios momentos en los que este software va evolucionando, sin embargo, hay una fase que no se ha potenciado tanto como debe a causa de su naturaleza. Efectivamente, el testing, a pesar de que se reconoce su importancia y necesidad, vemos como en muchos casos se hace mal o simplemente no se hace.

Qué es el testing de software

El testing de software o software QA es una disciplina en la ingeniería de software que permite tener procesos de ejecución de un programa o aplicación y una metodología de trabajo con el objetivo de localizar errores de software. También puede describirse como el proceso de validación y verificación de un programa de software o una aplicación.

Es imprescindible tener en cuenta que el testing es paralelo al proceso de desarrollo del software. A medida que se está construyendo nuestro producto, tenemos que realizar tareas de testing de software para prevenir incidencias de funcionalidad y corregir desviaciones del software antes de su lanzamiento.

Por qué el testing es importante

A un alto nivel, las pruebas de software son necesarias para detectar los errores en el software y para probar si el software cumple con los requisitos del cliente. Esto ayuda al equipo de desarrollo a corregir los errores y entregar un producto de buena calidad.

Hay varios puntos en el proceso de desarrollo de software en los que el error humano puede llevar a un software que no cumple con los requisitos de los clientes. Algunos de ellos se enumeran a continuación.

  • El cliente/persona que proporciona los requisitos en nombre de la organización del cliente puede no saber exactamente qué es lo que se requiere o puede olvidarse de proporcionar algunos detalles, lo que puede llevar a que falten características.
  • La persona que está recopilando los requisitos puede malinterpretarlos o no cumplirlos por completo al documentarlos.
  • Durante la fase de diseño, si hay problemas en el diseño, esto puede conducir a errores en el futuro.
  • Los errores pueden ser introducidos durante la fase de desarrollo durante un error humano, falta de experiencia, etc.
  • Los probadores pueden perder errores durante la fase de prueba debido a errores humanos, falta de tiempo, experiencia insuficiente, etc.
  • Es posible que los clientes no dispongan del ancho de banda necesario para probar todas las funciones del producto y que liberen el producto a sus usuarios finales, lo que puede dar lugar a que los usuarios finales encuentren errores en la aplicación.
  • El negocio y la reputación de una organización depende de la calidad de sus productos y en algunos casos incluso los ingresos pueden depender de las ventas de productos de software.

Los usuarios pueden preferir comprar un producto de la competencia en lugar de un producto de baja calidad, lo que puede resultar en una pérdida de ingresos para la organización. En el mundo actual, la calidad es una de las principales prioridades de cualquier organización.

Qué es un tester

Los probadores de software (también conocidos como testers, su denominación en inglés) planifican y llevan a cabo pruebas de software de los ordenadores para comprobar si funcionan correctamente. Identifican el riesgo de sufrir errores de un software, detectan errores y los comunican. Evalúan el funcionamiento general del software y sugieren formas de mejorarlo.

En muchos casos, la fase del testing se ha relegado a una fase final previa a salida a producción y con un tiempo tan limitado que, en muchos casos, no pueden garantizar un testing eficaz. Hablando de pruebas funcionales, el testing puede ser más valorable, dado a los resultados que esto ofrece (pasado o no pasado), por el contrario, otras pruebas, como rendimiento o seguridad, quedan relegadas a un punto menos cuantificable, ya que no afecta a su funcionalidad directa y por parte de negocio no suelen venir unos requisitos específicos.

Perfilando un tester

El tester es como la raza de perro pastor alemán. Se dice que el pastor alemán no es el mejor en nada, pero es el segundo mejor en todo. Extrapolándolo al mundo de la informática, en un proyecto el tester debe ser el segundo que más sepa del proyecto (inmediatamente después del jefe de proyecto), de su arquitectura (después de sus arquitectos), de su diseño (por detrás de sus diseñadores) y de su desarrollo (siguiendo a los desarrolladores). Únicamente hay un caso en el que el tester deba ser el que más sabe de algo, y es del testing. Además de esto, en un perfil de tester de rendimiento, el tester, además de todas las aptitudes citadas anteriormente, añadía el de matemático estadístico, dado que, como los resultados de rendimiento aparecen en gráficas y en estadísticas, el tester debe saber expresar estos términos matemáticos de una forma fácil y entendible.

Cómo implementar un servicio de testing desde cero

Implementar un servicio de testing desde cero es una tarea compleja y de bastante duración. En proyectos contrastados, vemos que se han ido dando pequeños pasos, pero efectivos y sin pausa hacia un servicio de QA en integración continua. Pasos como dedicar personas especializadas en este campo, la implementación de herramientas como Testlink para la gestión de pruebas, SonarQube para evaluar la calidad del código, Jenkins para una integración continua o Selenium para una automatización de pruebas. Dentro del futuro del testing, aparecen horizontes como el testing de Big Data, por lo que el futuro del testing está garantizado.

¿Y que hay de lo mío?

Dentro de Hiberus, como empresa que busca estar a la vanguardia del desarrollo de software, vemos una ambición por implementar una fase de calidad en sus proyectos. Sin embargo, algunas veces los presupuestos ajustados no permiten incluir un recurso dedicado íntegramente a esta tarea. En todos los casos es recomendable reservar una parte del presupuesto para realizar el testing.

El objetivo

Plantear una mejora cuantificable gracias a la calidad es muy difícil, ya que hablamos de mejoras cualitativas y no cuantitativas, sin embargo, se puede ver la necesidad del testing gracias a errores que ha habido a lo largo de la historia. Es bastante conocido que en jornadas puntuales los servicios pueden caer, como por ejemplo el Black Friday en grandes comercios o el comienzo de la campaña de la renta. También los seguidores de videojuegos conocerán el “parche del día 1”, un parche para corregir fallos lanzado el mismo día del estreno del producto. Estos fallos podrían ser previstos gracias a una correcta ejecución de la fase de testing.

Como defensor de la cultura DevSecOps, la colaboración entre los equipos de operaciones, seguridad, desarrollo y testing es fundamental en la obtención de resultados de calidad. Para lograr los mejores resultados, una mayor satisfacción de los clientes y un buen crecimiento como empresa, la calidad es una apuesta segura.

Si tienes interés en los servicios de QA y de Testing, escríbenos y nuestro equipo se pondrá en contacto contigo para analizar tu proyecto e indicar siguientes pasos. 

 

 

En Hiberus contamos con equipos dedicados a QA Y TESTING

Los especialistas de Calidad y Testing de Hiberus se ocupan de poner en marcha procedimientos de control de calidad del software de acuerdo a los proyectos del cliente. Realiza las pruebas técnicas necesarias antes del lanzamiento de tu proyecto y evita incidencias.

¿Te ayudamos?

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

¡Contacta con nosotros!

¿ALGUNA DUDA?

Llámanos y nuestros expertos realizarán un asesoramiento personalizado sin compromiso

902 87 73 92

SOLICITAR INFORMACIÓN

* Campos Obligatorios

Afirmo que he leido el aviso legal y acepto la Política de privacidad
Permito el tratamiento de mis datos personales con la finalidad informada