Desbloqueando la Entrega Rápida - perspectiva de un cambio de DevOps a QAOps

Rate this content
Bookmark

La velocidad y la calidad son los dos factores más comunes entre los que los equipos de desarrollo y operaciones están luchando continuamente. QA juega un papel estratégico, es un punto de conexión entre el desarrollo y las operaciones. ¿Cómo podemos acelerar la entrega de software sin sacrificar la calidad? Únete a esta presentación y descubrirás por qué QA y Ops tienen una mentalidad complementaria.

This talk has been presented at TestJS Summit 2023, check out the latest edition of this JavaScript Conference.

FAQ

QAOPS se refiere a mantener la calidad del software abordándolo con una mentalidad DevOps, enfocándose en la colaboración entre los equipos de desarrollo y operaciones para asegurar la calidad a lo largo del proceso de desarrollo.

Mientras que DevOps se enfoca en desplegar software rápidamente, QAOPS se centra más en garantizar la calidad del software, promoviendo prácticas como el testing temprano y la automatización dentro de un enfoque colaborativo.

El 'shift left testing' es una práctica promovida por QAOPS que implica comenzar las pruebas lo más temprano posible en el proceso de desarrollo para reducir los costos y tiempos asociados con la resolución de errores.

La automatización es central en QAOPS, enfocándose en integrar pruebas automatizadas a lo largo del pipeline de CI-CD para facilitar pruebas continuas y retroalimentación rápida, lo que ayuda a mantener la calidad del software a lo largo de su desarrollo.

QAOPS puede mejorar la satisfacción del cliente al hacer que todos los cambios en el software estén disponibles rápidamente y de alta calidad, lo que permite un mejor rendimiento y una experiencia de usuario optimizada.

La colaboración es crucial en QAOPS porque fomenta la responsabilidad compartida por la calidad del software entre todos los miembros del equipo, lo que aumenta la detección temprana de problemas y mejora la eficiencia del desarrollo.

Los principales desafíos incluyen el cambio cultural hacia una mayor colaboración, la integración de herramientas adecuadas en el pipeline de desarrollo y manejar las brechas de habilidades a través de formación continua.

QAOPS ofrece varios beneficios como la reducción del tiempo para migrar cambios, mayor calidad del software, fomento de un ambiente de trabajo positivo y ahorro de costos a través de la detección temprana de defectos.

Marcela State
Marcela State
27 min
07 Dec, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
QAOps se refiere a mantener la calidad del software con una mentalidad DevOps, enfatizando la colaboración y la integración y entrega continuas. Los principios de QAOps incluyen pruebas de cambio a la izquierda, pruebas continuas y responsabilidad compartida por la calidad del software. Implementar QAOps implica automatizar tareas, promover la colaboración y seleccionar las herramientas adecuadas. Los desafíos en la adopción de QAOps incluyen el cambio cultural y las brechas de habilidades, pero los beneficios incluyen una mayor calidad del software y ahorro de costos. Establecer una mentalidad de calidad requiere educación y apoyo de liderazgo. QAOps es un marco que requiere una combinación de habilidades DevOps, habilidades blandas y experiencia técnica.

1. Introducción a QAOPS

Short description:

QAOPS se refiere a mantener la calidad del software abordándolo con una mentalidad DevOps. La colaboración entre los equipos de desarrollo y operaciones es crucial en este enfoque inclusivo. La columna vertebral de DevOps es la integración continua y la entrega continua.

Gracias a Dios tengo un micrófono, porque un dato curioso sobre mí, hablo muy despacio, así que los micrófonos son lo mejor que sucede después del marco de QAOPS.

Diapositiva. Bien. Genial. Entonces, soy Marcella. Soy gerente de ingeniería y acabo de cumplir 14 años en outsourcing. Soy mucho mayor que eso. Toda mi experiencia es en outsourcing. Mi formación es en aseguramiento de la calidad, y esta presentación no es sobre mí, obviamente. Es sobre QAOPS.

Por favor, levante la mano si ha oído hablar antes de QAOPS. Vale. Y sobre QA, esa fue mi segunda broma. Gracias. Tengo bromas tan buenas que necesito mencionarlas. Así que, estoy realmente feliz de no estar obligada a comenzar esta presentación mostrando el valor de QA, porque, créanlo o no, todavía hay clientes allá afuera que necesitan mostrar el valor de QA. Necesitan una presentación sobre QA y cuál es su valor y cosas así. Así que, estoy muy feliz de no empezar con esto hoy.

Entonces, vamos a comenzar con la definición de QAOPS. Se refiere a mantener la calidad del software abordándolo con una mentalidad DevOps. Sobre esta mentalidad DevOps, vamos a hablar hoy, porque esta es realmente la clave de todo, este enfoque en DevOps. Para el desarrollo de aplicaciones, en realidad, la clave aquí es sobre la colaboración, ¿verdad? Los equipos de desarrollo y operaciones están trabajando en completa sinergia, ¿verdad? Entonces, DevOps, es más como un enfoque inclusivo. La columna vertebral del enfoque DevOps es en realidad el CICD, que no voy a explicar cómo funciona. Tengo aquí, creo, una imagen característica de cómo funciona, pero generalmente cuando construyes una aplicación y lanzas su primera versión, después del lanzamiento inicial, puedes pensar que algunas, o quizás muchas cosas podrían haberse hecho mejor, ¿verdad?

Entonces, comienzas a trabajar en la implementación de cambios. Comienzas a trabajar en hacer muchas mejoras. La integración continua es en realidad la práctica de integrar todo, estos nuevos cambios en la rama principal, ¿verdad? Entonces, después de integrar estos a la nueva rama, comenzarás a automatizar, comenzarás a automatizar para que puedas verificar la funcionalidad. Después de eso, no tienes que esperar a la nueva fecha de lanzamiento para fusionar esos cambios. Puedes hacer eso muy, muy rápidamente. Puedes actualizarlos a través de este proceso. La entrega continua es en realidad el siguiente paso después de la integración continua, después de la integración continua.

2. Principios y Mejores Prácticas de QAOps

Short description:

QAOps se centra en garantizar la calidad del software, abogando por el testing shift left, la colaboración y la comunicación, el testing continuo y el monitoreo continuo. Enfatiza una cultura de calidad y la responsabilidad compartida por la calidad del software entre todos los miembros del equipo. Prueba temprano y a menudo, automatiza selectivamente.

Y se trata de hacer que todos los cambios estén disponibles para los clientes, aumentando de esta manera la satisfacción del cliente. Quizás algunos de ustedes piensen que este QAOps es solo otra palabra de moda y no tiene sentido. ¿Por qué es eso? Todavía es DevOps, pero es solo otra palabra reinventada. Así que, resalté aquí lo que creo que es lo más importante en términos de comparar esos términos.

Entonces, en DevOps, el enfoque es más en desplegar software rápidamente. Así que, esto es rápido, mientras que en QAOps el enfoque es más en garantizar la calidad del software. Aquí tenemos algunos conceptos. Primero, shift left testing. QAOps aboga por este llamado shift left testing, lo que significa que necesitas comenzar a testing lo más pronto posible, tan temprano en las etapas. ¿Por qué es eso? Porque todos sabemos que tener testing temprano en el proceso de desarrollo reducirá el costo de arreglar los bugs después de lanzar la aplicación. Colaboración y comunicación. Además, QAOps es un gran defensor de la colaboración y la comunicación, fomentando la responsabilidad compartida. Este es también un concepto clave, la responsabilidad compartida entre los equipos. Y esto también aumenta la detección de problemas realmente temprano en el proceso. Testing continuo. Como mencioné antes, esto se hace a través del pipeline de CI-CD. La automatización es en realidad el núcleo del enfoque QAOps. Y el monitoreo continuo. Esto se refiere a monitorear la aplicación en producción. Y de esta manera, encontrarás problemas de rendimiento o incluso problemas relacionados con la experiencia del usuario en tiempo real.

Hablemos un poco sobre los principios y las mejores prácticas. Entonces, cultura de calidad. Esto es realmente importante. Necesitas establecer una cultura de calidad. Y de nuevo, como mencioné antes, responsabilidad compartida por la calidad del software entre todos los miembros del equipo. Así que la calidad no es solo sobre los ingenieros de QA. Creo que es una responsabilidad compartida. Prueba temprano y prueba a menudo, como dije, como mencioné antes. Comienza a testing lo más pronto posible en el proceso de desarrollo. Automatiza todo, pero no automatices todo.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced 2021React Advanced 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
DevOps is a journey that varies for each company, and remote work makes transformation challenging. Pull requests can be frustrating and slow, but success stories like Mateo Colia's company show the benefits of deploying every day. Challenges with tools and vulnerabilities require careful consideration and prioritization. Investing in documentation and people is important for efficient workflows and team growth. Trust is more important than excessive control when deploying to production.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Slow CI has a negative impact on productivity and finances. Debugging CI workflows and tool slowness is even worse. Dependencies impact CI and waiting for NPM or YARN is frustrating. The ideal CI job involves native programs for static jobs and lightweight environments for dynamic jobs. Improving formatter performance and linting is a priority. Performance optimization and fast tools are essential for CI and developers using slower hardware.
La filosofía de Yarn
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
La filosofía de Yarn
Let's talk about React and TypeScript, Yarn's philosophy and long-term relevance, stability and error handling in Yarn, Yarn's behavior and open source sustainability, investing in maintenance and future contributors, contributing to the JavaScript ecosystem, open-source contribution experience, maintaining naming consistency in large projects, version consistency and strictness in Yarn, and Yarn 4 experiments for performance improvement.
Despliegue Atómico para Hipsters de JavaScript
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Despliegue Atómico para Hipsters de JavaScript
This Talk discusses atomic deployment for JavaScript and TypeScript, focusing on automated deployment processes, Git hooks, and using hard links to copy changes. The speaker demonstrates setting up a bare repository, configuring deployment variables, and using the post-receive hook to push changes to production. They also cover environment setup, branch configuration, and the build process. The Talk concludes with tips on real use cases, webhooks, and wrapping the deployment process.

Workshops on related topic

Despliegue de aplicaciones React Native en la nube
React Summit 2023React Summit 2023
88 min
Despliegue de aplicaciones React Native en la nube
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de las credenciales de firma, las configuraciones de entorno, el seguimiento de las versiones y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Utilizar un servicio como Appflow para construir aplicaciones React Native no solo proporciona acceso a potentes recursos informáticos, sino que también simplifica el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación en múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la confiabilidad y escalabilidad general de una aplicación.
En este masterclass, desplegarás una aplicación React Native para su entrega en dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas para utilizar una plataforma de DevOps móvil en la nube para enviar rápidamente a gran escala.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.
Azure Static Web Apps (SWA) con Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
13 min
Azure Static Web Apps (SWA) con Azure DevOps
WorkshopFree
Juarez Barbosa Junior
Juarez Barbosa Junior
Las Azure Static Web Apps se lanzaron a principios de 2021 y, de forma predeterminada, pueden integrar su repositorio existente y implementar su aplicación web estática desde Azure DevOps. Este masterclass demuestra cómo publicar una Azure Static Web App con Azure DevOps.
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
163 min
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass ofrece una perspectiva práctica de los principios clave necesarios para desarrollar, construir y mantener un conjunto de microservicios en el stack Node.js. Cubre los detalles específicos de la creación de servicios TypeScript aislados utilizando el enfoque de monorepo con lerna y yarn workspaces. El masterclass incluye una descripción general y un ejercicio en vivo para crear un entorno en la nube con el framework Pulumi y los servicios de Azure. Las sesiones están dirigidas a los mejores desarrolladores que deseen aprender y practicar técnicas de construcción e implementación utilizando el stack Azure y Pulumi para Node.js.