Para qué sirve el control de calidad en el software
Summary
TLDREl guion habla sobre la importancia de la calidad en el desarrollo de software, ilustrando con ejemplos de fallos graves en sistemas críticos. Se discute el testing estático y dinámico, y cómo el control de calidad asegura que los procesos cumplan con las expectativas. El modelo en cascada es comparado con el enfoque ágil, enfatizando la colaboración en sprints y la cultura DevOps. La calidad en el ámbito ágil se integra en todas las fases, desde el levantamiento de requerimientos hasta la operación en producción. La narrativa también explora la evolución hacia culturas como DevOps, NoOps y Bionic, y las oportunidades para especialización en múltiples disciplinas, incluyendo seguridad, infraestructura y aprendizaje automático.
Takeaways
- 😀 La calidad es crucial en el desarrollo y producción de software para evitar errores y costos innecesarios.
- 🔍 En agosto de 2019, British Airways canceló 100 vuelos y retrasó más de 200 debido a un problema de software, afectando a los recursos de los aeropuertos.
- 🏦 En agosto de 2015, HSBC tuvo un fallo en el procesamiento de pagos que afectó a 275,000 transacciones, causando problemas para las familias.
- ☕ En abril de 2015, Starbucks experimentó un problema en su software de procesamiento de pagos, lo que llevó a la cerrar más del 60% de sus tiendas en Estados Unidos y Canadá.
- 🚀 En marzo de 2015, el avión de combate F-35 tuvo problemas con sus sensores, lo que comprometía su capacidad para detectar enemigos.
- 🚗 Nissan ha enfrentado problemas con sus sensores de airbag, que son esenciales para la seguridad del pasajero en caso de colisión.
- 🔧 Hay tres formas principales de testing en el desarrollo de software: testing estático, testing dinámico y control de calidad.
- 🌐 El modelo en cascada es una metodología tradicional de desarrollo de software que se ve desafiada por la necesidad de testing temprano y a menudo.
- 🏃♂️ El testing dinámico es una parte esencial del desarrollo ágil, donde se enfatiza en realizar pruebas a lo largo del proceso de desarrollo en lugar de al final.
- 🤝 El entorno ágil y la cultura DevOps promueven la colaboración entre ingenieros de calidad, desarrollo y operaciones para un lanzamiento más eficiente de productos.
- 🌟 La especialización en áreas como testing, automatización, infraestructura, seguridad y análisis de datos abre un mundo de posibilidades profesionales para ingenieros de calidad.
Q & A
¿Qué problema tuvo British Airways en agosto de 2019 que afectó a sus vuelos?
-British Airways tuvo un problema con su software que resultó en la cancelación de 100 vuelos y el retraso de más de 200, afectando los recursos de los aeropuertos.
En agosto de 2015, ¿qué sucedió con HSBC que afectó a los pagos de las familias?
-HSBC experimentó un problema en el procesamiento de pagos, lo que impidió que 275 mil pagos fueran procesados, dejando a muchas familias sin poder utilizar su dinero durante un fin de semana.
¿Cuál fue el impacto del problema de software de Starbucks en abril de 2015 en sus tiendas en Estados Unidos y Canadá?
-El problema de software de Starbucks provocó que más del 60% de sus tiendas en Estados Unidos y Canadá tuvieran que cerrar temporalmente.
¿En qué consistía el problema del avión de combate F-35 en marzo de 2015?
-El avión de combate F-35 tuvo problemas con sus sensores, lo que le impedía detectar a su enemigo.
¿Cuál es la importancia de la calidad en el desarrollo de software según el guion?
-La calidad es crucial para detectar fallos y evitar costos durante el proceso de desarrollo, asegurando que el software funcione según lo esperado.
¿Qué son los testing estático y dinámico y cómo contribuyen a la calidad del software?
-El testing estático implica leer la documentación y verificar los requerimientos antes del desarrollo, mientras que el testing dinámico se refiere a probar el software en funcionamiento para detectar problemas.
¿Qué es el control de calidad y cómo se relaciona con los estándares de una empresa?
-El control de calidad se refiere a verificar que el proceso de desarrollo cumpla con los estándares mínimos establecidos por la empresa, incluyendo mejores prácticas y procesos.
¿Cómo se describe el modelo en cascada en el desarrollo de software y cuál es su principal problema?
-El modelo en cascada es un proceso secuencial que incluye levantamiento de requerimientos, análisis, diseño, codificación y testing antes de la producción. Su principal problema es que el testing se realiza al final, lo que puede llevar a un desperdicio de recursos.
¿Qué es la pirámide de pruebas y cómo se relaciona con la cantidad y el tiempo de ejecución de las pruebas?
-La pirámide de pruebas es una representación visual que muestra la cantidad de pruebas en el eje horizontal y el tiempo que les toma ejecutarse en el eje vertical, donde las pruebas de unidad son más numerosas y rápidas, mientras que las pruebas manuales son menos numerosas pero más lentas.
¿Qué es el entorno ágil y cómo difiere del modelo en cascada?
-El entorno ágil es un enfoque iterativo y colaborativo que se centra en el desarrollo en sprints cortos, en lugar del modelo en cascada que es secuencial y puede resultar en un desperdicio de recursos al realizar el testing al final del proceso.
¿Qué es la cultura DevOps y cómo se relaciona con el ingeniero de calidad y el ingeniero de desarrollo?
-La cultura DevOps es un enfoque interdisciplinario que integra al ingeniero de calidad y al ingeniero de desarrollo para trabajar juntos desde el inicio hasta la producción, mejorando la eficiencia y la calidad del software.
¿Cómo puede un ingeniero de calidad contribuir en un entorno ágil?
-Un ingeniero de calidad en un entorno ágil puede contribuir en diversas disciplinas, desde la planificación y diseño hasta la implementación, testing y mantenimiento, y puede especializarse en áreas como las mejores prácticas, la automatización, la infraestructura y la seguridad.
Outlines
😀 Importancia de la Calidad en el Software
Este párrafo aborda la importancia de la calidad en el software a través de ejemplos de incidentes pasados. Se menciona un fallo en el software de British Airways en 2019 que resultó en la cancelación y retraso de vuelos, lo que afectó a los recursos de los aeropuertos. También se habla de un problema en HSBC en 2015 que impidió el procesamiento de más de 275,000 pagos, y un fallo en el software de Starbucks que cerró la mayoría de sus tiendas en Estados Unidos y Canadá. Además, se menciona el caso del avión de combate F-35 y los problemas con los sensores de Nissan. Estos ejemplos ilustran cómo los errores en la calidad pueden tener consecuencias graves y costosas, subrayando la necesidad de enfocarse en la calidad durante todo el proceso de producción y desarrollo.
🛠 Metodologías de Pruebas y Control de Calidad
En este párrafo se explican las diferentes metodologías de pruebas y control de calidad en el desarrollo de software. Se describen tres tipos de pruebas: testing estático, que implica la revisión de documentación y requisitos; testing dinámico, que se refiere a probar el software en funcionamiento; y control de calidad, que se centra en verificar que el proceso cumpla con los estándares establecidos por la empresa. Se introduce la 'pirámide de pruebas', una representación visual que muestra la relación entre la cantidad de pruebas y el tiempo que les toma ejecutarse, desde las pruebas unitarias en la base hasta las pruebas manuales en la cima. Se mencionan herramientas específicas para cada nivel de la pirámide, como Junit para pruebas unitarias en Java, y Postman para pruebas de API.
🌟 El Entorno Ágil y la Transformación de Ingeniería de Calidad
Este párrafo explora el entorno ágil de desarrollo de software y cómo ha transformado la ingeniería de calidad. Se describe el modelo en cascada tradicional y su reemplazo por el enfoque ágil, que se centra en 'sprints' de desarrollo más cortos con ciclos de análisis, diseño, codificación, prueba y lanzamiento más rápidos. Se discute la importancia de la colaboración en equipo y la aparición de la cultura DevOps, que combina ingeniería de calidad, desarrollo y operaciones. Se mencionan diferentes 'boxes' o culturas que han surgido en respuesta a esta evolución, como DevOps, BizDevOps y MLOps. Se destaca la oportunidad para los ingenieros de calidad de especializarse en diversas áreas, como la mejora continua, la automatización, la infraestructura como código, el análisis de datos y la seguridad.
Mindmap
Keywords
💡Calidad
💡Testing estático
💡Testing dinámico
💡Quality Control
💡Modelo en cascada
💡Entorno ágil
💡DevOps
💡Testing de unidad
💡Integración continua
💡Mantenimiento
Highlights
La importancia de la calidad en el software y su impacto en la industria.
El incidente de British Airways en 2019 que canceló 100 vuelos y retraso más de 200.
El problema de HSBC en 2015 con el procesamiento de pagos que afectó a 275,000 transacciones.
El fallo en el software de pagos de Starbucks en 2015 que cerró más del 60% de sus tiendas.
Los problemas con los sensores del F-35 en 2015 que afectaban su capacidad de detección en combate.
Los problemas recientes de Nissan con los sensores de airbag en sus vehículos.
La necesidad de involucrar la calidad en todo el proceso de producción y desarrollo.
La definición y el rol de la calidad en el desarrollo de software.
Los tres tipos de testing en el desarrollo de software: estático, dinámico y control de calidad.
La explicación del modelo tradicional de desarrollo de software en cascada y sus limitaciones.
La introducción a la pirámide de pruebas y su importancia en el testing dinámico.
Las herramientas especializadas para testing de software como JUnit, Postman y Selenium.
La descripción del entorno ágil de desarrollo y su enfoque en sprints y colaboración.
La evolución de la cultura DevOps y su impacto en la integración de diferentes disciplinas en el desarrollo ágil.
La oportunidad de especialización en múltiples disciplinas dentro de un entorno de desarrollo ágil.
El futuro del rol del ingeniero de calidad y las áreas en las que pueden crecer profesionalmente.
La promoción de Pax y Wii como una plataforma de aprendizaje en línea para la tecnología.
Transcripts
entonces para hablar un poquito de
calidad déjame explicarte un poquito de
lo que es historia y para hablar de
historia te quiero hablar de unos
pequeños ejemplos que te voy a presentar
aquí en agosto de 2019 british airways
tuvo un pequeño problema con su software
lo cual ocasionó que 100 vuelos fueran
cancelados y más de 200 fueron atrasados
esto ocasionó que los aeropuertos donde
estaban todos estos pasajeros tuvieran
que emplear mucho más recursos para
mantener esos pasajeros allá ya que
cuando uno está en un aeropuerto uno va
al baño se lavan las manos a utilizar
recursos del aeropuerto y esto significa
dinero para esos aeropuertos en agosto
de 2015
hsbc tuvo un problema con el
procesamiento de pagos fueron 275 mil
pagos que no se pudieron procesar lo
cual ocasionó que muchas de estas
familias estuvieran un fin de semana sin
puerto sin poder utilizar su dinero en
abril de 2015
starbucks tuvo un problema con su
software de procesamiento de pagos y
esto ocasionó que más del 60% de sus de
sus tiendas tuvieran que cerrar
en estados unidos y en canadá en marzo
de 2015 el f-35 que es un avión un
modelo de combate tenía problemas con
sus sensores esto no le permitía de
detectar a su enemigo un avión de
combate que no podía detectar su enemigo
complicado y más recientemente nissan
ha tenido problemas con sus sensores
estos son los sensores que se utilizan
para detectar que un pasajero está
sentado en el asiento y asimismo activar
el airbag
al momento de una colisión el nissan no
activa a su vez todos estos son un
poquito de los ejemplos que traía hoy
todo esto a veces es causa de errores
humanos o errores en los dispositivos
como tal que no permiten que el sistema
opere a su óptima calidad entonces por
estos por estos ejemplos es que es
importante el tema de involucrar calidad
durante todo el proceso de producción y
desarrollo de cualquier medio entonces
qué tal si te digo que calidad está aquí
para ayudar calidad está aquí para
detectar estos fallos
y que esto no cueste dinero durante todo
el proceso de desarrollo de lo que de lo
que tu empresa esté proveyendo entonces
qué es calidad y cómo puede ayudar
calidad realmente en el mundo del
software hay tres tipos de formas en las
cuales puedes ayudar
una es el testing estático que esto
tiene que ver mucho con leer la
documentación y verificar que todos los
requerimientos se entiendan antes de
entregárselos al área de desarrollo como
tal también está el testing dinámico que
ya esto tiene que ver mucho con probar
el software como tal ponerlo a funcionar
y otro que probablemente ya has
escuchado tiene que ver con el quality
control quality control tiene que ver
con todo el tema de el proceso verificar
que el proceso cumple con las
expectativas de la empresa es decir una
empresa tiene un proceso este proceso de
cumplir con los mínimos estándares
la empresa establece y esto tiene que
mucho con los estándares mejores
prácticas procesos etc entonces hablemos
un poquito de para entender el entorno
ágil que es a hoy la tecnología que se
está utilizando para desarrollar
hablemos un poquito de cómo era antes
probablemente ya has escuchado del
modelo en cascada que más o menos se
veía así estaba el del levantamiento de
requerimientos el análisis de
requerimientos del diseño luego genial
codding y justo después del código venía
el testing luego del testing ya pues se
ponía el software a producción y venía
operaciones instalada en producción cuál
es el problema con este modelo que el
testing como es solamente venía justo
después de del código y esto
probablemente lleva un desperdicio de
recursos entonces el modelo tradicional
se de más o menos así es como bueno
vamos a desarrollar un software vamos a
levantar los requerimientos y ya justo
antes de salir a producción si tienen
tiempo pues hagan testing
pues realmente no es la mejor práctica
porque uno estamos derrochando recursos
solo hasta el final estamos verificando
que el software funcione cuando no
debería ser si entonces veamos un
poquito de de lo que es el testing ya
dinámico porque es digamos lo que lo que
nos interesa entonces para hablar del
testing dinámico hablemos de la pirámide
de pruebas que probablemente ya has
visto la pirámide se ve más o menos así
en la parte de abajo tenemos las pruebas
de unidad luego viene componente
integración y pía white y luego viene el
manual testing en todos los niveles se
puede establecer con uno como unos
estándares de calidad y vamos a ver un
poquito de qué es lo que traduce esta
pirámide entonces supongamos que en la
parte de la base tenemos un eje x un eje
horizontal este o eje horizontal digamos
que es la cantidad de pruebas que se
tienen que ejecutar y en la parte
digamos como vertical el eje vertical
tiene que ver con el tiempo que toman
estas pruebas en ejecutarse entonces si
vemos en la parte
de abajo que tenemos las pruebas de
unidad esto quiere decir que es mayor
cantidad de pruebas de unidad pero que
se demoran muy poco en ser ejecutadas
entonces sí vamos subiendo de niveles
vemos que en el top de la pirámide
tenemos las pruebas manuales lo cual
quiere decir que es menor cantidad de
pruebas manuales pero se demoran un poco
más en ejecutarse entonces ya aquí es
cuando una vez comienza a escuchar de
herramientas especializadas que tienen
que ver como ex yoonitt para pruebas de
unidad y unite y unity y por lo regular
todo lo que termina en junin para python
estas partes y otro tipo de herramientas
que podemos encontrar el camino vas a
escuchar un poquito de mouse de mosquito
the postman repite y picure gamer
selenio un avión catalán estudio y todas
estas son herramientas realizadas que
operan en diferentes niveles de la
pirámide de pruebas listo entonces
entendiendo un poquito de eso
una irán bueno y entonces qué tiene que
ver o cómo luce el entorno ágil hoy en
día el entorno de magín es más o menos
esto es como un modelo en cascada pero
mucho más pequeño vamos a vivir nuestro
desarrollo en sprints que probablemente
van a durar dos semanas y sea más o
menos así hay un análisis un diseño un
código testing y un release listo
entonces lo que vas a encontrar aquí es
que tal vez no vamos a encontrar toda la
documentación que necesitamos para
ejecutar pruebas yo no entra como así no
hay documentación entonces cómo voy a
trabajar y entonces aquí es cuando
comienza el equipo y te dice no estamos
trabajando en un entorno ágil con una
cultura de box y uno se queda como de
bots y que este box no no sé qué es eso
bueno déjame explicarte the box es el
resultado de poner a trabajar
el ingeniero de calidad el ingeniero de
desarrollo y operaciones sin mucho
protocolo estos muchachos ustedes son un
mismo equipo y vamos a trabajar juntos
para sacar juntos para sacar este
proyecto adelante y el modelo se de más
o menos así es un modelo interactivo
donde todos vamos a estar trabajando en
grupo para sacar ese producto a
producción y este modelo ha tenido tanto
tanto éxito que se empezaron a
involucrar otras áreas y uno comienza a
escuchar como este otro tipo de culturas
está de jobs
luego de ops luego viene de cecop que es
básicamente añadiendo más disciplinas a
esa cultura también está vístete clops
que realmente es como incluir la gente
del business al equipo de trabajo ágil y
luego probablemente en un nivel más allá
está el clic de jacobs que ya es como
empezar a implementar internet
inteligencia artificial sobre sobre este
equipo entonces una vez mercado que está
con
y empezamos con los debuts test de cops
y un poco de apps que no lo entienden
bueno cuál es la diferencia entre todo
eso o cuál es el fin de todo eso
realmente es como no lo hacía
anteriormente en la universidad tener un
grupo de personas que van a trabajar
juntas son personas que tienen muchas
disciplinas un grupo interdisciplinar
que va a trabajar juntos para poder
sacar todo ese producto a flote
entonces como calidad cómo puedo empezar
a trabajar aquí y cuáles son las
actividades que yo puedo desarrollar
esto parece ser como muchas disciplinas
en las cuales yo tengo poco contexto
bueno al estar trabajando en un grupo
ajeno tú te vas a poder y vas a poder
revolucionar tu perfil en diferentes
tópix en la planeación haciendo
preguntas eso puede afectar a las
decisiones que tome el equipo en el
diseño incluso tú puedes hablar desde tu
perspectiva como usuario cuál sería la
mejor forma de implementar o de tener
esa esa ayuda y digámoslo así en la
implementación incluso tú puedes empezar
hacer como revisión el disco digo si ya
te has especializado en temas de mejores
prácticas encoding puedes agregar valor
ahí con el tema de las mejores prácticas
los estándares y todo lo demás luego
viene la fase de testing que ahí es
cuando este rol va va a brillar donde
puedas hacer un testing manual o puedes
empezar a hacer automatización incluso
puedes empezar a pensar en cómo tomar
estas automatizaciones que estás
haciendo e integrarlas en un proceso de
continuos integration y continuos y tu
alma listo y luego viene el
mantenimiento que ya es cuando el
software está en producción verificar
que eso siga funcionando como como debe
ser entonces el futuro de de este rol es
muy diverso y al estar en este en esta
cultura de muchas disciplinas operando
juntos vamos a ver que se van a generar
como este tipo de oportunidades te
puedes especializar en las mejores
prácticas en el kolding en la
automatización de procesos en la
infraestructura ahora que la
infraestructura es esta
ahora que hay un estándar de
infraestructura como código al ser
código se puede probar y te puedes
especializar en eso por ejemplo en el
análisis de información en una si en el
análisis de data en machine learning
no hay como tal un estándar para hacer
pruebas en estos tópix digamos que es
como una nube un nuevo mundo que puedes
empezar a explorar y en el tema de
seguridad pues ya tú lo sabes pruebas de
penetración pruebas que tengan que ver
con probar la red verificar que estemos
cumpliendo los estándares de seguridad
estas son como unas de los tópicos más
importantes en los cuales podrías
empezar a investigar y crecer
profesionalmente como un ingeniero
digamos como con mucho conocimiento en
muchas áreas básicamente lo que vamos a
tener aquí es una persona que tiene
acceso a mucha información a muchos
tópix y te puedes especializar en
cualquier cosa
un mundo de posibilidades un mundo de
nuevas disciplinas en los cuales puedes
empezar a indagar suscríbete a pax y wii
en los planes basic expert uex propios y
lo que aprendiste en este vídeo no
parará nunca paras de aprender
da clic aquí mismo suscríbete hoy y ten
acceso a la única escuela online de
tecnología que si funciona
Ver Más Videos Relacionados
Conociendo la ISO 9001:2015
#2. Que son las metodologias ágiles en el desarrollo de Software
Scrum: How to do twice as much in half the time | Jeff Sutherland | TEDxAix
Manejo de Cultivos: Fenología del Tomate
🛠 METODOLOGÍAS ÁGILES 📖 (2020) 💻
¿Cómo mejorar la calidad de la educación inicial en zonas rurales? El caso del Perú
5.0 / 5 (0 votes)