Auditoría
de calidad

Te ayudamos a valorar el estado actual de tu SDLC para mejorar la calidad de todo tu desarrollo.

Auditoría de calidad de redsauce

La Auditoría SQA de Redsauce

¿Conoces tus procesos más débiles en calidad?

Analizamos en profundidad todo tu ciclo de desarrollo de software, desde la definición de los criterios de aceptación a la monitorización de tu aplicación en producción. Nos entrevistamos con todos los roles implicados en el SDLC para obtener una foto de todos aquellos puntos de mejora de tu desarrollo.

Hombre mirando a la pantalla valida una merge request gracias a la auditoría de calidad para evitar bugs
Hombre sonrie a su ordenador al detectar errores gracias a la auditoría de calidad de Redsauce

Pasemos de detectar errores,
a evitar que aparezcan.

¿Ves viable mejorar la eficiencia de tus esfuerzos en calidad?

Adelantarnos a la aparición de los errores, haciendo un "shift left" en tu proceso de desarrollo es sencillo tocando las teclas correctas.

Una auditoría SQA adaptada a tus necesidades

Registramos, agrupamos y analizamos evidencias con el fin de evaluar tu ciclo de desarrollo

Los Criterios de Aceptación son un conjunto de condiciones que describen el comportamiento esperado una vez que se ha desarrollado la historia de usuario. Son los requisitos con los que evaluar si el desarrollo coincide con nuestras expectativas desde la perspectiva del usuario final.

Proporcionar un buen criterio de aceptación aumenta la confianza de que el producto reflejará nuestras intenciones, reduce la posibilidad de defectos y acelera el desarrollo, ya que los rechazos en el feedback y una vez en producción deberían ser menos frecuentes.

“Cuanto mejor cuelgues la ropa para que se seque, menos necesitarás plancharla”
Proverbio español contemporáneo

El sistema de control de versiones suele estar sólidamente instaurado en un equipo de trabajo maduro, pero con frecuencia no se saca todo el provecho posible, como tener trazabilidad de qué cambios hay en cada versión o un proceso para recuperar una determinada release.

La estrategia de ramas va a determinar el procedimiento a la hora de finalizar y enviar al repositorio una funcionalidad llevada a cabo entre un equipo, de forma individual, revisión de código, resolución de un defecto, un hotfix, etc. Una gestión eficaz de las ramas permitirá ser más ágiles para resolver estas tareas.

El objetivo es poder disponer de una versión de nuestro proyecto lista para ser instalada en cualquier entorno con la máxima seguridad de que será completamente funcional.

Disponer de un proceso de integración continua nos evita la pesadilla de tener que realizar grandes integraciones de diversas fuentes manualmente, reduce la probabilidad de aparición de defectos por la propia integración y permite tener código fresco cada día, propagado en todas las ramas. Disponer de una buena configuración permitirá que el proceso sea sencillo y eficiente.

Los entornos de calidad y preproducción han de ser lo más similares posible a producción. Esto nos permite corregir errores de despliegue al ser detectados en entornos no productivos, minimizando la probabilidad de fallo en los entornos productivos. También nos permite tener el producto rápidamente listo para una demo, una UAT o pruebas de testing funcional o automático. Si este punto no está logrado o lo está en parte, debemos identificar y priorizar qué partes deben ser implementadas o reforzadas.

Estas herramientas pueden ser desde un básico gestor de defectos hasta una completa herramienta que permita manejar un equipo scrum, con post-it virtuales, cálculo de burn-downs, control de kanban, etc. Generalmente lo más eficaz no es ni uno ni otro extremo, sino conseguir adaptar la herramienta al proceso del equipo.

El perfil de QA en un equipo ágil no se centra únicamente en hacer el testing funcional sino que tiene un espectro mucho más amplio, comenzando con el contacto con el Product Owner para entender bien sus necesidades y transmitirlas al equipo de desarrollo y a las propias pruebas, gestión de las incidencias, liderar las retrospectivas, velar por la mejora continua, etc. Este perfil en los equipos del cliente puede ser permanente en una persona o rotativo, pero en cualquier caso ha de ejercer sus responsabilidades y éstas han de ser conocidas por todo el departamento.

Tanto para realizar las pruebas manuales como para las pruebas automáticas funcionales o de rendimiento, el sistema bajo prueba ha de contener unos datos iniciales. Estos datos pueden dividirse en datos de configuración, necesarios para que el sistema pueda funcionar y datos de negocio, que son aquellos que se van añadiendo a la base de datos durante el uso natural de la aplicación.

Gestionarlos correctamente reforzará la calidad de nuestros entornos no productivos, permitiendo resultados más completos de las pruebas funcionales (manuales y automáticas), de rendimiento, UAT, demos, etc.

Los test automáticos nos ayudarán no solo a reducir el tiempo de las pruebas, sino a detectar problemas que de otro modo serían imposibles de encontrar antes de llegar al entorno productivo. Estas pruebas automáticas pueden dividirse en:

  • Calidad estática de código fuente
  • Test unitarios
  • Test funcionales
  • Test de rendimiento

Durante la vida del proyecto, el cliente final debe poder tener feedback rápido y claro del estado de su proyecto, idealmente sin ponerse en contacto el equipo de desarrollo. Para ello se le deben ofrecer indicadores claros, sencillos y disponibles las 24 horas. Estos información, junto con las reuniones diarias han de permitir detectar rápidamente cuellos de botella en el proceso que deben solucionarse. Por ejemplo, tickets que están demasiado tiempo esperando ser validados o código en espera de revisión técnica para ser integrado.

El usuario final ha de tener canales sencillos y efectivos para poner en conocimiento el cliente incidencias con su producto una vez esté en producción.

¿La comunicación principal será telefónica?
¿Dispone de una herramienta de ticketing para abrir incidencias?
Cómo se gestionan estas dentro del equipo de desarrollo y se devuelve feedback al cliente?
¿Qué efectividad tenemos resolviendo incidencias?
Todas estas preguntas y muchas otras han de estar claras y se debe disponer de un procedimiento establecido para abordarlas de igual manera en todos los proyectos.

Pablo Gomez cofundador de Redsauce

¿Por qué elegir a Redsauce?

Una colaboración 100% a tu medida. Nuestros equipos emplean la estrategia de pruebas más adecuada al proceso de desarrollo de tu equipo.

Seleccionamos las metodologías, frameworks, lenguajes o herramientas más adecuadas a cada proyecto, sin imponer ninguno. Te asesoramos y ayudamos a lograr la configuración óptima de tus servidores.

Empleados de Redsauce mirando la auditoría de calidad en un portatil

Nuestra gestión incluye:

  • Análisis del ciclo de desarrollo de software.
  • Definición de la Estrategia de Calidad.
  • Apoyo en la creación de la documentación funcional, criterios de aceptación, etc.
  • Diseño del plan de pruebas.
  • Definición y gestión de los entornos de pruebas.
  • Creación y mantenimiento de tareas y pipelines en el servidor de integración continua.
  • Diseño y desarrollo de las pruebas automáticas en múltiples dispositivos.
  • Automatización y presentación de informes de resultados.
  • Gestión de defectos e incidencias.

Mide y vencerás

En Redsauce tiene una importancia capital disponer de informes claros y útiles de resultados de ejecuciones. Por ello configuramos los tests y el servidor de integración continua para generarlos y aportarte un valor real.

Indicadores objetivos = Resultados medibles = Resultados reales

Icono de chat con el equipo de redsauce sobre pruebas funcionales

¿Hablamos?

Trabajaremos en estrecha comunicación contigo, empleando procesos ágiles. Startups y grandes empresas ya han confiado en nosotros.