Scroll to top
© 2019, SYNTONIZE Digital Pulse

Qué implica un buen proceso de QA testing

El departamento de QA (aseguramiento de calidad) permite evitar errores y bugs en los desarrollos.

En los proyectos de software es crucial asegurar la calidad que espera el cliente.

 

Los errores en el código se dan en cualquier desarrollo software. QA surge como un compromiso de la calidad en los productos digitales. Se trata de un perfil que facilita la realización de pruebas de testeo para comprobar el funcionamiento del software. El objetivo de nuestro equipo de QA testing es detectar los errores en el menor tiempo posible. Para que este proceso de testing sea eficiente, los testers participan en todo el proceso del desarrollo.

Qué evitamos aplicando herramientas y técnicas para asegurar la calidad del software.

 

– Retrasos en la entrega acordada con el cliente.

– Descontento del cliente por los problemas en el desarrollo del producto digital.

– Sobrecoste económico. Nuestra experiencia nos demuestra que de forma cuantitativa y cualitativa los costes para mantener la calidad del software son inferiores a los que se producen por la falta de aseguramiento de la calidad. 

– Descontento por parte de los usuarios. Que buscarán rápidamente otra opción. 

Qué habilidades tiene nuestro departamento de QA testing.

 

La experiencia de nuestro equipo de QA testing permite determinar una serie de valores con los cuales la app puede fallar. De este modo, pronostican cómo la app puede ser más intuitiva y mejorar la experiencia de usuario.

Al realizar testing logramos que la plataforma digital presente un fallo. Pero para comprobarlo hay que replicarlo. Nuestro equipo de testing tiene la habilidad de reproducir el flujo que provocó la ruptura del sistema.

Habilidades del programador

Los conocimientos de programación a la hora de realizar QA testing facilitan conocer la lógica de la plataforma desarrollada. Permite predecir y ocasionar defectos. Cuando a un desarrollador se le explica de manera técnica el defecto, se le facilita la búsqueda del incidente y la posible solución.

Como empresa dedicada al desarrollo de aplicaciones web, realizar testing de nuestros sistemas es indispensable. Nuestro equipo de QA está en el mismo barco que el equipo de desarrollo. Se trata de trabajo conjunto y el objetivo final que persiguen es la aprobación del cliente.

Mejoras en nuestra metodología de trabajo.

 

Cada día surgen nuevas y mejores tecnologías. Las exigencias de los clientes cada vez son más altas. La tecnología nos proporciona herramientas que nos facilitan el día a día. Por ello, contamos con un equipo de testing que tiene curiosidad para indagar sobre nuevas herramientas que implantar en las metodologías de trabajo. Os contamos cuáles son nuestras favoritas y con las que trabajamos a diario.

Tipos de pruebas que realizamos desde el departamento de calidad de Syntonize.
Pruebas unitarias

Este tipo de pruebas consisten en aislar parte del código y comprobar que funciona sin problemas. Estos pequeños tests validan el comportamiento de un objetivo y su lógica. Con este tipo de pruebas podemos detectar errores con antelación. Sin las pruebas unitarias, nuestro equipo de QA no detectaría los fallos hasta fases más avanzadas.

  • Las pruebas unitarias demuestran que la lógica del código funciona correctamente.
  • Permite que el código sea legible. Ayudando a los desarrolladores a entender el código base para hacer cambios más rápidamente.
  • Nuestro equipo de QA se sirve de este tipo de test como documentación del proyecto.
  • Su proceso de elaboración es rápido, por lo que se pueden realizar varias pruebas en muy poco tiempo.
  • Es posible probar distintas partes del proyecto sin tener que esperar a que otras estén listas porque este tipo de pruebas dividen el código.
Pruebas de integración

Este tipo de pruebas las ponen en marcha nuestro testers una vez se han aprobado las pruebas unitarias. Este tipo de pruebas son más lentas y complejas que las pruebas unitarias.

La finalidad de las pruebas de integración es que todos los elementos unitarios que componen el software funcionen juntos correctamente.

En Syntonize llevamos años trabajando con tests de forma automática. Se trata de un hábito de buenas prácticas que se refleja en la calidad del código de los proyectos digitales que desarrollamos. Realizar estas comprobaciones evita futuros trastornos durante el desarrollo.

Las apps que desarrollamos en Syntonize para nuestros clientes están en constante evolución. Para mantener la integridad en el funcionamiento de las app, realizamos pruebas automáticas en cada versión. De este modo, automatizamos los test de nuestras apps para asegurar su correcto funcionamiento.

Pruebas de Stress

Utilizamos este tipo de pruebas para poner a la app al límite de su funcionamiento. Por ejemplo, dando de alta a un número de usuarios muy superior al esperado, o simulando un fallo de un servidor en el clúster. La finalidad de este tipo de pruebas es determinar la capacidad y funcionalidad de una app cuando la carga es muy elevada.

 

La prueba de stress es importante para:

  • Verificar si el sistema funciona en condiciones.
  • Ver el error cuando el sistema está bajo presión.
  • Evitar que cuando el sistema este bajo condiciones extremas pueda producir una gran perdida de ingresos.
Pruebas de aceptación

International Software Testing Qualification Board (ISTQB) define “Aceptación” como tipos de pruebas formales con respecto a las necesidades del usuario, requerimientos y procesos de negocio. Realizamos el testing de aceptación para asegurarnos de que los requerimientos de una especificación dentro del contrato con alguno de nuestros cliente se cumpla. Este tipo de pruebas nos sirven para evaluar si el sistema está listo para ser implementado y utilizado por los usuarios. En este sentido, el equipo de testing trabaja en las pruebas de aceptación de usuario (User Acceptance Testing UAT). Que están destinadas a verificar si el sistema es “apto para el uso”.  Con este tipo de pruebas UAT garantizamos la aceptación del usuario, reduciendo el nivel de rechazo.

Pruebas end to end

El equipo de testing aplica este tipo de pruebas para probar la app “de principio a fin”. En este tipo de test revisamos aspectos como el funcionamiento, el rendimiento o el consumo de recursos. En las páginas web es especialmente importante este tipo de test. Porque debe responder adecuadamente a todos los procesos de navegación que se produzcan en ella. Las pruebas end to end garantizan que los componentes integrados en una app funcionen como se espera. La app al completo se prueba como si la estuviera utilizando el usuario final. Por lo tanto, este tipo de pruebas está enfocada en detectar posibles problemas que el usuario puede encontrar durante su interacción.

El objetivo de las pruebas que realiza el departamento de QA es entregar al cliente un producto que funcione, se adapte y sea fácil de usar.
proceso de QA testing
Herramientas que utiliza el departamento de calidad en Syntonize.
Katalon Studio

Se trata de una herramienta de automatización de pruebas de código que aprovecha el motor central de Selenium. Katalon Studio es una interfaz gráfica de usuario fácil para perfiles no técnicos.

 

Características 

  1. Permite automatizar aplicaciones web, apps móviles y pruebas API.
  2. Código abierto.
  3. Grabación / reproducción para apps web y móviles.
  4. Creación de Test Case.
  5. Integración con Git y GitHub, Jenkins, etc.
HP Quality Center

Esta herramienta de gestión de pruebas mejora la gestión de calidad utilizando procesos de pruebas de software repetibles. Permite realizar un seguimiento de las tareas de los desarrolladores para supervisar el progreso del proyecto. Quality Center facilita a los testers la gestión de todos los tipos de scripts de pruebas (funcionamiento, rendimiento y seguridad) dentro de la herramienta. Centraliza los informes de calidad, facilitando la toma de decisiones basadas en el estado de los proyectos. 

 

Características 

  1. Gestión de pruebas y defectos.
  2. Colaboración con desarrolladores.
  3. Planificación de las pruebas.
  4. Integraciones.
  5. Informes y gráficos.
JMeter

La herramienta JMeter permite analizar y medir el rendimiento de la aplicación web. Permite a nuestros QA testers probar la app web, analizar su carga y tráfico de usuarios. En Syntonize nos servimos de esta herramienta de Apache para realizar pruebas funcionalesJMeter nos asegura que los datos recibidos son correctos. Por lo que la herramienta es muy útil para realizar pruebas automáticas.

 

Características 

  1. Licencia de código abierto.
  2. Muestreo simultáneo y de diferentes funciones.
  3. Admite complementos de visualización para extender las pruebas.
  4. Admite protocolos básicos como HTTP, JDBC, LDAP, SOAP, JMS y FTP.
  5. Grabación / reproducción para apps web y móviles.
  6. Integración con Selenium para pruebas automatizadas.
Perfil de nuestro equipo de QA testing.

 

Trabajamos con profesionales con un perfil técnico. Su formación está basada en ingeniería informática, especializados en el departamento de calidad a través de su experiencia laboral. El equipo que forma el departamento de QA conoce diferentes lenguajes de programación como Java, Node.js o JavaScript. Esta formación se complementa con certificaciones ISTQB y ITIL. A través de cursos de programación online y bootcamps también refrescan los conocimientos en programación.

Aun así, el mercado de calidad del software se está abriendo a captar talento que no viene puramente de perfiles técnicos. Por lo que actualmente podemos encontrar profesionales en este sector que vienen de estudios muy diferentes a la informática, que empiezan a desarrollarse en QA en empresas de desarrollo de software.