Ep2 | Pruebas y Depuración ¿Para que sirven las pruebas de Software? Fundamentos de Prueba #ISTQB

Full Advanced
1 Oct 202027:46

Summary

TLDREl guion del video se enfoca en la importancia de las pruebas de software en el ciclo de desarrollo. Se discuten los nueve objetivos generales de las pruebas, como evaluar productos de trabajo, verificar y validar requisitos, generar confianza en la calidad y prevenir defectos. Se destaca la diferencia entre pruebas y depuración, y cómo trabajar en equipo con diseñadores y desarrolladores mejora la comprensión y la identificación de posibles errores. Además, se menciona la necesidad de pruebas rigurosas para cumplir con estándares legales y contractuales, y cómo el aseguramiento de la calidad y el control de calidad son esenciales para mejorar los resultados y fomentar la confianza del usuario en el producto final.

Takeaways

  • 😀 La importancia de las pruebas de software radica en evaluar y verificar productos de trabajo, aumentar la confianza en la calidad y prevenir defectos.
  • 🔍 Existen nueve objetivos generales de las pruebas de software, incluyendo evaluar productos de trabajo, verificar y validar requisitos y prevenir defectos.
  • 👷‍♂️ La 'contención de fase' es una meta de las pruebas para detectar errores temprano en el ciclo de vida del desarrollo para reducir costos.
  • 📋 Las pruebas garantizan que los requisitos legales y técnicos sean cumplidos, lo que es crucial en sectores regulados como el financiero.
  • 🤔 La diferencia entre error, falla y defecto es crucial para entender el proceso de prueba y depuración de software.
  • 🛠 La depuración (debugging) es el proceso de encontrar, analizar y reparar un defecto, mientras que las pruebas son para verificar el correcto funcionamiento del software.
  • 🔗 La colaboración entre probadores y desarrolladores es fundamental para una mejor comprensión del diseño y funcionamiento del software.
  • 🔒 Las pruebas son necesarias para cumplir con estándares legales o contractuales en algunas industrias.
  • 👥 El aseguramiento de la calidad (QA) y las pruebas, aunque relacionados, son procesos distintos; el QA se enfoca en la prevención de defectos a través de procesos adecuados.
  • 📊 Las pruebas de software reducen riesgos y aumentan la confianza del usuario en el producto, lo que a su vez mejora la fidelidad al proveedor.
  • 🎯 Los objetivos de las pruebas varían según la fase del ciclo de desarrollo y el sistema que se esté probando, desde la validación de requisitos al cumplimiento de estándares legales.

Q & A

  • ¿Cuál es uno de los objetivos generales de las pruebas de software según el guion?

    -Uno de los objetivos generales de las pruebas de software es evaluar los productos de trabajo generados en cada tarea significativa del ciclo de vida del desarrollo de sistemas.

  • ¿Qué se conoce como contención de fase en el contexto de las pruebas de software?

    -La contención de fase se refiere a la revisión de todos los productos desde las etapas más tempranas del ciclo de vida de desarrollo para evitar que posibles errores avancen a etapas donde sea más difícil y costoso repararlos.

  • ¿Por qué es importante verificar que todos los requerimientos especificados han sido satisfechos durante las pruebas de software?

    -Es importante verificar que todos los requerimientos especificados han sido satisfechos para garantizar que las soluciones entregadas cumplan con los requerimientos de ley, técnicos o de negocio, lo que aumenta la confianza en el nivel de calidad del objeto de prueba.

  • ¿Cuál es la diferencia entre un error, una falla y un defecto en el contexto de las pruebas de software?

    -Un error es una acción incorrecta que una persona puede cometer, un defecto es la consecuencia de ese error en el código fuente o el documento, y una falla es el efecto que se produce cuando se ejecuta el código con un defecto.

  • ¿Por qué es necesario realizar pruebas de software?

    -Es necesario realizar pruebas de software para encontrar y corregir defectos, prevenir fallas, aumentar la confianza en el software, y cumplir con requisitos legales o estándares específicos de la industria.

  • ¿Qué es la depuración en el contexto de las pruebas de software y cómo se relaciona con las pruebas de confirmación?

    -La depuración es el proceso de desarrollo que encuentra, analiza y repara el defecto en el software. Después de la depuración, se debe ejecutar una prueba de confirmación para determinar si el defecto que causaba la falla ha sido reparado.

  • ¿Qué es una prueba de regresión y por qué es importante?

    -Las pruebas de regresión son importantes para verificar que un cambio realizado en el software para reparar un defecto no ha afectado otras secciones del software, asegurando que el software siga funcionando correctamente en su totalidad.

  • ¿Cómo pueden los probadores y diseñadores trabajar juntos para aumentar la comprensión del diseño del sistema y cómo probarlo?

    -Los probadores y diseñadores pueden trabajar juntos desde tempraniamente en el ciclo de vida del desarrollo, lo que permite una mejor comprensión del diseño y la identificación de qué pruebas serán necesarias, disminuyendo así el riesgo de defectos en el diseño que podrían avanzar a etapas posteriores.

  • ¿Qué se entiende por 'aseguramiento de la calidad' y cómo se relaciona con las pruebas de software?

    -El aseguramiento de la calidad se centra en el cumplimiento de los procesos adecuados para generar productos de trabajo de mayor calidad, lo que contribuye a la prevención de defectos. Aunque relacionado, es un proceso preventivo que incluye actividades planeadas y sistemáticas, mientras que las pruebas de software son un proceso reactivo que se centra en encontrar y corregir defectos en los productos ya elaborados.

  • ¿Cuál es el objetivo de las pruebas de aceptación con el usuario al final del proceso de desarrollo del software?

    -El objetivo de las pruebas de aceptación con el usuario es validar que el software cumple con las expectativas del usuario y crear confianza en su uso, asegurando así que el producto final satisfaga las necesidades y requisitos del usuario.

Outlines

00:00

😀 Introducción a la carga de trabajo y pruebas de software

El primer párrafo aborda la situación de una carga de trabajo elevada y la necesidad de distribuir actividades adicionales entre el personal con menos trabajo. Se menciona la fase actual de levantamiento de nuevos requerimientos y la ocupación del equipo de desarrollo, incluyendo a desarrolladores y diseñadores, quienes están trabajando en una nueva solución. Además, se destaca el trabajo en conjunto con el equipo de Higüey y la importancia de las pruebas de software, introduciendo los objetivos generales de las mismas.

05:02

🔍 Objetivos de las pruebas de software y su importancia

En este párrafo, se detallan los nueve objetivos generales de las pruebas de software, que incluyen evaluar productos de trabajo, verificar la satisfacción de requisitos, validar la completitud y funcionalidad del software, prevenir defectos y cumplir con requisitos legales o estándares. Se enfatiza la importancia de la confianza en la calidad del software y cómo las pruebas pueden ayudar a prevenir fallas y a generar confianza en la aplicación, a través de ejemplos como el uso de tarjetas de débito y servicios de cable.

10:03

👷 Diferenciación entre error, falla y defecto en pruebas

El tercer párrafo se enfoca en la diferencia entre los términos error, falla y defecto, aclarando que a menudo se usan indistintamente pero son conceptos diferentes. Se explica que un error humano puede introducir un efecto en el código que, si se ejecuta, genera una falla. Se dan ejemplos prácticos para ilustrar la diferencia y se menciona que uno de los objetivos de las pruebas es encontrar tantos defectos y fallas como sea posible dentro de los alcances establecidos.

15:04

🛠 Proceso de depuración y pruebas de confirmación

Aquí se describe el proceso de depuración, que implica encontrar, analizar y reparar un defecto en el software, seguido de una prueba de confirmación para verificar si la falla ha sido reparada. Se destaca que, aunque generalmente es el desarrollador quien realiza la depuración, en ciertas fases de pruebas los probadores también pueden estar involucrados. Además, se menciona la importancia de las pruebas de regresión para asegurar que un cambio no ha afectado otras secciones del software.

20:09

📈 Importancia de las pruebas en la calidad y gestión del software

El quinto párrafo discute cómo las pruebas ayudan a mejorar la calidad del software, enfatizando la colaboración entre probadores, diseñadores y desarrolladores para detectar y solucionar problemas temprano en el ciclo de vida del desarrollo. Se menciona el ahorro de tiempo, esfuerzo y dinero que esto conlleva, así como la importancia de cumplir con requisitos legales o contractuales y estándares de industria. También se diferencia el aseguramiento de la calidad del control de calidad, y se presenta la gestión de calidad como un conjunto de ambas.

25:16

🎯 Objetivos y diferencias entre pruebas y depuración

Este párrafo resume los objetivos característicos de una prueba de software, que incluyen evaluar productos de trabajo, verificar y validar requisitos, prevenir defectos, encontrar fallas, reducir riesgos y cumplir con estándares legales o comerciales. Se aclara la diferencia entre probar y depurar, y se discuten las razones por las cuales es necesario probar el software, como la naturaleza errónea del ser humano y la complejidad de los sistemas. Además, se menciona cómo el trabajo en equipo puede aumentar la comprensión del diseño y la funcionalidad del software.

📚 Conclusión sobre la importancia de las pruebas y depuración

El último párrafo concluye destacando la importancia de las pruebas y la depuración en el proceso de desarrollo de software. Se enfatiza que los objetivos de las pruebas varían según el sistema, la fase del ciclo de desarrollo y el nivel de prueba, y se mencionan los beneficios específicos de cada etapa. Se insta a los aprendices a recordar los conceptos clave y a utilizar los recursos de memorización proporcionados, y se animan a participar en discusiones y a compartir el contenido si lo encuentran útil.

Mindmap

Keywords

💡Pruebas de software

Las pruebas de software son un conjunto de actividades destinadas a evaluar la calidad del software y garantizar que cumpla con los requisitos especificados. En el video, se discute cómo las pruebas son fundamentales para encontrar y corregir defectos, prevenir fallas y aumentar la confianza en el software, lo cual es central para el éxito del proyecto y la satisfacción del usuario.

💡Desarrollo

El término 'desarrollo' se refiere al proceso de creación del software, involucra a desarrolladores y diseñadores que trabajan en la implementación de nuevas soluciones o mejoras. En el script, se menciona que el equipo de desarrollo está trabajando en la modificación de una solución, lo que es parte integral del proceso de pruebas para garantizar que el software cumpla con las expectativas.

💡Requerimientos

Los 'requerimientos' son las especificaciones y condiciones que el software debe cumplir. Son cruciales para la planificación, diseño y pruebas del software. En el video, se enfatiza la importancia de verificar y validar que todos los requerimientos han sido satisfechos, ya sean legales, técnicos o de negocio.

💡Depuración (Debugging)

La 'depuración' es el proceso de identificar, analizar y corregir errores en el código fuente. Es una actividad clave en el desarrollo de software, donde el desarrollador busca y soluciona problemas. En el script, se describe cómo la depuración es diferente a las pruebas y es necesaria para mejorar la calidad del software.

💡Fallas y Defectos

Una 'falla' es un error que se manifiesta cuando el software no funciona como se espera, mientras que un 'defecto' es un error en el código que puede llevar a una falla. El video destaca la diferencia entre estos términos y cómo encontrar y corregir tanto fallas como defectos es uno de los objetivos principales de las pruebas de software.

💡Confianza

La 'confianza' en el software se refiere a la seguridad y la certeza de que el sistema funcionará correctamente y de manera confiable. El video subraya que generar confianza es esencial, ya que直接影响a la adopción del software por parte de los usuarios y su disposición a pagar por un producto o servicio.

💡Validación

La 'validación' es el proceso de verificar que el software cumple con los requisitos y necesidades del usuario. Es una parte crucial de las pruebas de software, donde se asegura que lo que se entregue es lo que se solicitó y resuelve el problema que originó la solicitud.

💡Control de calidad

El 'control de calidad' implica en actividades que buscan encontrar y corregir defectos en los productos ya elaborados, con el objetivo de asegurar un nivel óptimo de calidad antes de que el software alcance el mercado. En el video, se menciona que el control de calidad es parte integral de la gestión de calidad y es esencial para el éxito del software.

💡Aseguramiento de la calidad

El 'aseguramiento de la calidad' se enfoca en el cumplimiento de procesos adecuados para generar productos de mayor calidad y prevenir la introducción de defectos. Aunque relacionado con las pruebas, el video aclara que es un proceso preventivo que se centra en mejorar la calidad desde la planificación y el inicio del proyecto.

💡Perfiles operativos

Los 'perfiles operativos' son ejemplos de cómo diferentes usuarios pueden interactuar con el software según sus roles y permisos. En el script, se utilizan como ejemplo para ilustrar cómo limitar el alcance de las pruebas y asegurar que el software cumpla con las expectativas de cada tipo de usuario.

Highlights

La importancia de distribuir actividades adicionales entre el personal con menos carga de trabajo debido a la falta de personal.

La fase actual de levantamiento de nuevos requerimientos en el análisis y diseño.

La colaboración del equipo de desarrollo y diseño en la mejora de la nueva solución.

El trabajo del equipo de Higüey para garantizar que todo salga como se espera.

La discusión sobre la importancia de las pruebas en el capítulo anterior.

El objetivo de las pruebas de software y su valor agregado.

Existen nueve objetivos generales que caracterizan las pruebas de software.

Evaluar los productos de trabajo generados en cada tarea significativa del ciclo de vida de desarrollo de sistemas.

La contención de fase para evitar errores en etapas posteriores.

Verificar que todos los requerimientos especificados han sido satisfechos, incluidos los de ámbito legal.

Validar si el objeto de prueba está completo y funciona como los usuarios esperan.

La confianza en la calidad del software como resultado de una correcta verificación y validación.

Prevenir defectos al encontrar y corregirlos durante las pruebas.

La diferencia entre error, falla y defecto en el contexto de las pruebas de software.

El objetivo de encontrar tantos defectos y fallas como sea posible para aumentar la confianza en el software.

Tomar decisiones informadas basadas en los resultados de las pruebas en curso.

La importancia de mantener informados a los órganos encargados de la toma de decisiones.

Generar perfiles operativos para ejercitar distintos flujos de información en el sistema.

El cumplimiento de requisitos legales o estándares como objetivo general de las pruebas.

La distinción entre depuración (debugging) y pruebas en el proceso de desarrollo de software.

La depuración como proceso de desarrollo que encuentra, analiza y repara el defecto.

Las pruebas de confirmación como un paso después de la reparación de un defecto.

Las pruebas de regresión para verificar que un cambio no afecte otras secciones del software.

La necesidad de pruebas rigurosas para reducir el riesgo de fallas y aumentar la confianza en el sistema.

La importancia de las pruebas para cumplir con requisitos legales o contractuales.

Cómo las pruebas ayudan a elevar la calidad del software a través de la detección temprana de defectos.

La colaboración entre probadores, diseñadores y desarrolladores para mejorar la comprensión y la calidad del sistema.

La diferencia entre el aseguramiento de la calidad y las pruebas de software.

El control de calidad como parte del proceso reactivo que busca corregir defectos antes de que el producto salga al mercado.

La gestión de calidad que une el aseguramiento y el control de calidad.

Los objetivos específicos de las pruebas de software en diferentes fases del ciclo de vida del desarrollo.

La importancia de las pruebas de aceptación con el usuario para validar el software y crear confianza.

La recomendación de repasar los puntos clave antes del examen de certificación utilizando tarjetas de memorización.

Transcripts

play00:01

y

play00:04

[Música]

play00:14

buenos días a todos en virtud de la gran

play00:17

carga de trabajo que tenemos y la falta

play00:20

de personal requerimos para distribuir

play00:22

algunas actividades adicionales entre el

play00:24

personal que tenga menos carga de

play00:25

trabajo así que qué me dice la gente de

play00:28

análisis y diseño en estos momentos nos

play00:31

encontramos en fase de levantamiento de

play00:33

nuevos requerimientos y estamos bastante

play00:35

ocupados y como estamos con el equipo de

play00:39

desarrollo tanto desarrolladores como

play00:42

diseñadores estamos un poco modificando

play00:44

a la nueva solución y qué me dice

play00:46

nuestro siempre fiel equipo de higüey

play00:51

estoy trabajando en conjunto con el

play00:53

resto del equipo para garantizar que

play00:55

todo esté saliendo como esperamos

play00:58

yo creo que ellos se la pueden arreglar

play01:00

solo sin pruebas por un tiempo sin

play01:01

trabajo

play01:07

bueno

play01:09

quizá primero deberíamos tener una

play01:11

conversación sobre la importancia de lo

play01:12

que estoy haciendo no cree

play01:16

durante el capítulo anterior obtuvimos

play01:18

una visión general de lo que realmente

play01:20

significa probar en esta oportunidad

play01:23

veremos específicamente lo que

play01:24

perseguimos y el valor que agrega el

play01:26

proceso de prueba así que si quieres

play01:28

saber cuál es la finalidad de realizar

play01:30

pruebas del software y acompáñame

play01:33

[Música]

play01:37

ah

play01:54

[Música]

play01:58

existen nueve objetivos generales que

play02:01

caracterizan las pruebas de software y

play02:03

los veremos en detalle a continuación

play02:08

uno de los objetivos de las pruebas es

play02:11

evaluar los productos de trabajo que se

play02:12

generan en cada tarea significativa del

play02:14

ciclo de vida de desarrollo de sistemas

play02:16

un word producto o producto de trabajo

play02:19

puede ser la grabación de una reunión un

play02:21

informe de riesgos un documento de

play02:23

requerimientos un reporte de progresos

play02:25

un diagrama de diseño e inclusive el

play02:28

código fuente o el sistema terminado se

play02:31

deben revisar todos estos productos

play02:32

desde las etapas más tempranas del ciclo

play02:35

de vida de desarrollo para evitar que

play02:37

posibles errores avancen a etapas donde

play02:39

sea más difícil y costoso repararlos

play02:42

esto se conoce como contención de fase

play02:45

las pruebas también tienen como

play02:47

finalidad verificar que todos los

play02:49

requerimientos especificados han sido

play02:51

satisfechos incluso los de ámbito legal

play02:53

en muchas instituciones como por ejemplo

play02:56

los bancos es importante verificar que

play02:59

las soluciones entregadas cumplan con

play03:01

los requerimientos de ley además de los

play03:03

requerimientos técnicos o de negocio por

play03:05

ejemplo que el cálculo de intereses a la

play03:07

tarjeta de crédito se haga según lo

play03:09

escrito en los requerimientos pero que

play03:12

además se ejecuten bajo los parámetros

play03:14

que indican

play03:14

superintendencia de bancos además de

play03:17

verificar se debe validar si el objeto

play03:20

de prueba está completo y funciona como

play03:22

los usuarios y otros implicados espera

play03:25

recordemos qué y validar implica

play03:27

asegurar que se entregó lo que el

play03:29

usuario solicitó aquí se debe preguntar

play03:31

todas las especificaciones han sido

play03:34

satisfechas y resuelven el problema que

play03:36

originó la solicitud cuando se hace una

play03:39

correcta verificación y validación del

play03:41

producto de trabajo en cuestión podemos

play03:43

generar confianza en el nivel de calidad

play03:45

del objeto de prueba y por qué es

play03:47

importante la confianza respóndeme tú

play03:49

pondría su dinero en un banco donde cada

play03:52

vez que vayas a usar la tarjeta de

play03:53

débito de error y debas pasarla más de

play03:56

una vez para que funcione imagina que es

play03:58

época de mundial de fútbol y llueve

play04:01

contrataría es un servicio de cable que

play04:03

sabes que falla cuando hay nubosidad te

play04:06

irías de viaje de vacaciones en un carro

play04:08

que te deja varado cada rato es

play04:10

fundamental crear confianza en la

play04:12

eficiencia de la aplicación para que

play04:14

tenga éxito la confianza es lo que hace

play04:17

que usuarios paguen más dinero por un

play04:18

teléfono inteligente iphone

play04:20

lo mismo que una huawei por un 40 o

play04:23

menos bueno y el marketing por eso es

play04:26

otro tema otro de los objetivos de

play04:28

realizar pruebas es prevenir defectos al

play04:31

encontrar y corregir defectos durante

play04:33

las pruebas disminuye el riesgo de

play04:35

fallas cuando el software esté operando

play04:36

en la vida real pero realmente se puede

play04:39

prevenir un efecto un defecto

play04:42

introducido en el código es la

play04:44

consecuencia de un error entonces como

play04:46

se podría evitar que un error sea

play04:48

cometido por una persona el tema aquí es

play04:51

que un defecto puede generar otro

play04:53

entonces al corregir el primero podemos

play04:55

prevenir el segundo

play04:57

al probar un software se pueden

play04:59

encontrar fallas y defectos en este

play05:01

punto es importante comprender la

play05:03

diferencia entre error falla y defecto

play05:06

porque es muy común que estos conceptos

play05:08

se usen indistintamente veamos un humano

play05:11

comete un error que puede introducir un

play05:13

efecto en el código del documento o

play05:16

sistema si el código es ejecutado podría

play05:18

generar una falla por ejemplo una

play05:21

persona comete el error de quedarse

play05:23

dormido mientras tanto tropieza un

play05:25

objeto que presiona algunos botones de

play05:27

un dispositivo originando un defecto que

play05:30

luego de encender el dispositivo causará

play05:33

una falla aunque estos conceptos se

play05:35

verán en detalle en el siguiente

play05:36

episodio vamos a centrarnos en el hecho

play05:38

de que uno de los objetivos generales de

play05:40

las pruebas es encontrar defectos y

play05:43

fallas como siempre un defecto va a

play05:45

generar una falla así como es posible

play05:48

que una persona tenga una enfermedad sin

play05:50

presentar síntomas hasta la etapa final

play05:52

de esta enfermedad esto depende de

play05:54

muchos factores por ejemplo el

play05:57

programador erróneamente escribió el

play05:59

código fuente para el cálculo de una

play06:01

división sin ninguna validación

play06:03

lo cual generará un defecto que a su vez

play06:06

va a generar una falla sólo cuando el

play06:08

denominador de la división sea 0 si es

play06:12

cualquier otro número inclusive negativo

play06:14

no va a pasar nada al encontrar tantos

play06:17

defectos como sea posible dentro de los

play06:19

alcances establecidos de las pruebas se

play06:22

aumenta la confianza de que el software

play06:24

no fallara en ambientes de usuario por

play06:26

lo menos no dentro de un grupo de

play06:28

escenarios establecidos aunque es

play06:30

importante acotar que es imposible

play06:33

garantizar que el producto se entregara

play06:35

100% libre de defectos y fallas a partir

play06:38

de información recaudada sobre el

play06:40

resultado de las pruebas en curso y las

play06:42

que pueden estar por realizarse las

play06:44

partes interesadas pueden tomar

play06:46

decisiones informadas especialmente las

play06:49

relacionadas con el nivel de calidad del

play06:51

objeto de prueba por ejemplo si hay

play06:53

muchas fallas presentes se pueden

play06:55

retrasar la salida de producción de un

play06:57

producto en caso de faltar un cierto

play07:00

grupo de pruebas por ejecutar se puede

play07:02

evaluar el riesgo que involucran esas

play07:04

secciones y decidir si es viable asumir

play07:07

el riesgo de omitir ese conjunto de

play07:08

pruebas

play07:09

por ejemplo si tenemos planeadas 100

play07:12

pruebas de las cuales 80 ya fueron

play07:14

ejecutadas exitosamente se puede evaluar

play07:17

si las restantes 20 involucran áreas

play07:20

sensibles para el funcionamiento de la

play07:22

aplicación o si pudiesen ser omitidas es

play07:25

primordial para el buen desenvolvimiento

play07:27

del proyecto mantener informados a los

play07:29

órganos encargados de la toma de

play07:31

decisiones cuando se toman decisiones

play07:33

informadas se valida y verifica el

play07:36

software y se evalúan los productos de

play07:38

trabajo encontrando tantos defectos y

play07:41

fallas como sea posible durante el

play07:43

proceso de pruebas se reduce el nivel de

play07:46

riesgo de software de baja calidad por

play07:48

ejemplo fallas no detectadas que ocurren

play07:50

durante la ejecución del software es muy

play07:53

importante el uso de la palabra reducir

play07:55

en lugar de mitigar ya que eliminar todo

play07:58

riesgo es imposible una forma de

play08:01

garantizar que el sistema será capaz de

play08:03

ejecutarse de forma satisfactoria bajo

play08:05

circunstancias controladas es generar

play08:08

perfiles operativos que nos permiten

play08:10

ejercitar de forma sistemática los

play08:12

distintos flujos de información

play08:15

y recorrer el sistema como ejemplo

play08:17

imaginemos una aplicación de manejo de

play08:19

caja de un supermercado los perfiles de

play08:21

analista supervisor y gerente tienen

play08:24

diversas asignaciones inherentes al

play08:26

cargo

play08:27

un analista puede realizar cobros pero

play08:29

no aplicar descuentos o agregar

play08:31

productos a la base de datos un

play08:33

supervisor puede aplicar descuentos pero

play08:35

no agregar productos mientras que el

play08:37

gerente de tienda puede agregar

play08:39

productos pero no ejecutar ventas otro

play08:42

ejemplo de un perfil operativo en una

play08:44

aplicación financiera podría ser un

play08:45

tarjetahabiente que tiene la posibilidad

play08:47

de realizar un retiro de efectivo de un

play08:49

cajero automático otro caso podría ser

play08:52

un cliente que puede realizar una

play08:53

transferencia de dinero entre sus

play08:55

propias cuentas pero no hacia cuentas de

play08:57

terceros o simplemente realizar pagos de

play09:00

servicios y de esta manera de limitamos

play09:03

el alcance de las pruebas que

play09:04

realizaremos por último podemos agregar

play09:07

como objetivo general de las pruebas el

play09:10

cumplimiento de requisitos legales o

play09:12

estándares dependiendo del negocio

play09:14

vinculado a nuestros sistemas es muy

play09:16

probable que estemos expuestos a la

play09:19

intervención de organismos externos

play09:21

entidades estatales que regularán el

play09:23

correcto desempeño de nuestro producto

play09:25

por lo tanto es primordial cumplir con

play09:28

los requisitos o normas legales o

play09:30

regulatorias y o verificar que el objeto

play09:33

de prueba cumple los requerimientos o

play09:35

estándares como ejemplo de esto

play09:38

podríamos mencionar que los sistemas del

play09:40

sector bancario o financiero

play09:42

suelen estar regulados por el banco

play09:44

central del país asimismo el sector de

play09:46

la alimentación suele estar regulado por

play09:48

algún organismo que garantice la

play09:50

viabilidad de los productos para la

play09:52

ingesta humana

play09:55

[Música]

play10:00

en esta sección vamos a discutir sobre

play10:03

los conceptos de depuración y pruebas

play10:08

debut o depuración es el proceso de

play10:11

desarrollo que encuentra analiza y

play10:13

repara el defecto acto seguido se debe

play10:16

ejecutar una prueba de confirmación que

play10:18

determinará si el defecto causa la falla

play10:21

en el software ha sido reparado cuando

play10:23

una prueba detecta una falla el defecto

play10:26

debe ser reparado por ello el

play10:27

desarrollador debe localizar el defecto

play10:30

en el código y hacer la corrección este

play10:32

proceso se llama depuración o de google

play10:35

por su significado en inglés el dibujo

play10:37

la depuración es generalmente realizado

play10:40

por el desarrollador sin embargo de

play10:42

acuerdo a algunos ciclos de vida de

play10:43

sistemas los probadores pueden estar

play10:45

involucrados en hacer debugging y

play10:48

pruebas al inicio del ciclo en las

play10:50

pruebas de componentes esto de los

play10:52

niveles de pruebas lo veremos más

play10:54

adelante pero es importante que se vayan

play10:56

familiarizando con estos conceptos

play10:57

repito aunque lo común es que el

play11:00

desarrollador depuró el código es

play11:03

posible que al inicio del ciclo de

play11:04

pruebas un probador haga la depuración

play11:07

también ahora bien ya se depuró el

play11:10

código y una vez reparada las fallas

play11:12

debe realizar que el código funcione

play11:14

según lo esperado esto se llama prueba

play11:16

de confirmación y es realizada a menudo

play11:19

por un probador independiente nótese que

play11:22

probar y depurar son diferentes

play11:24

actividades depurar es encontrar y

play11:26

reparar el defecto

play11:27

luego se prueba para confirmar que la

play11:30

falla fue reparada es un error común

play11:33

llamar depuración a todo el proceso de

play11:35

identificar la falla y repararla quizás

play11:38

porque los desarrolladores deben probar

play11:40

sus propias reparaciones recapitulemos

play11:43

el desarrollador depura el código es

play11:46

decir identifica y repara el defecto

play11:48

obviamente para saber si todo está bien

play11:51

debe hacer sus propias pruebas lo que se

play11:53

conoce como pruebas unitarias luego del

play11:56

ciclo de depuración un probador

play11:58

independiente ejecuta las pruebas de

play12:00

confirmación donde el código reparado es

play12:02

probado independientemente para

play12:04

verificar la reparación en sí por último

play12:07

se debe verificar que el cambio

play12:09

realizado no haya afectado otras

play12:11

secciones del software ya eso se le

play12:13

llama pruebas de regresión las cuales se

play12:16

verán a detalle más adelante

play12:17

en conclusión depurar es el proceso que

play12:20

identifica el origen de la falla en el

play12:22

software y larre para probar es el

play12:25

proceso que se sigue para verificar que

play12:27

el software funciona como se espera

play12:31

ahora bien si se supone que hay

play12:33

profesionales entrenados para

play12:34

desarrollar el software y hacerlo bien

play12:36

porque es necesario probar lo que se

play12:38

supone que ya aprobó el desarrollador

play12:42

porque la verdad es que nunca lo hacen

play12:46

nosotros así todos somos humanos y es

play12:49

imposible cubrir todos los casos

play12:53

en realidad hay más razones que esas

play12:55

dejen de interrumpir al que sabe para

play12:57

que siga con la explicación

play13:03

esta pregunta tiene muchas respuestas

play13:05

pero el objetivo principal es reducir el

play13:08

riesgo de ocurrencia de fallas durante

play13:11

la operación del sistema bajo escrutinio

play13:12

y así aumentar la confianza un riesgo es

play13:16

algo que no ha sucedido aún pero puede

play13:18

ocurrir quizá nunca suceda pero si

play13:21

ocurre tendrá un impacto negativo no

play13:24

todos los sistemas de software tienen el

play13:26

mismo nivel de riesgo y no todos los

play13:28

problemas tienen el mismo impacto cuando

play13:30

ocurren a través de pruebas rigurosas

play13:33

logramos detectar fallas o defectos y

play13:36

una vez preparados esto contribuirá a

play13:38

incrementar la calidad de los

play13:40

componentes y sistemas probar es

play13:42

necesario porque todo el mundo comete

play13:44

errores algunos de estos errores carecen

play13:47

de importancia pero otros resultan en

play13:49

pérdidas de dinero o ponen en peligro a

play13:51

personas o bienes es necesario revisar

play13:54

todo lo que producimos porque siempre

play13:56

puede salir algo mal los humanos cometen

play13:59

errores todo el tiempo de ahí el dicho

play14:01

errar es de humanos debemos asumir que

play14:04

nuestro trabajo muy probablemente

play14:06

contiene errores por eso es necesario

play14:08

revisar todo muy bien

play14:09

sin embargo algunos errores se originan

play14:12

en suposiciones cerradas o puntos ciegos

play14:14

y podríamos no darnos cuenta que hemos

play14:17

cometido un error hasta que alguien

play14:19

revisa nuestro trabajo y nos lo hace

play14:21

notar un desarrollador puede cometer

play14:23

errores mientras construye el software

play14:25

algunos de estos defectos introducidos

play14:28

son identificados y removidos por el

play14:30

mismo pero algunos son más complicados

play14:33

de identificar es difícil para la

play14:35

mayoría de las personas identificar sus

play14:37

propios errores por esa razón los

play14:39

escritores necesitan editores

play14:41

adicionalmente somos más propensos a

play14:44

cometer errores cuando estamos lidiando

play14:46

con sistemas complejos esto es porque

play14:48

nuestros cerebros solo pueden manejar

play14:50

una cantidad razonable de complejidad

play14:53

cuando le pedimos a nuestro cerebro que

play14:55

maneje más de lo que podría quizá no

play14:57

procesa la información que tenemos de

play14:59

forma correcta lo que es natural ya que

play15:01

somos humanos otro punto importante de

play15:04

acotar es que en ocasiones las pruebas

play15:06

son obligatorias para poder cumplir con

play15:08

requerimientos legales o contractuales o

play15:11

con estándares específicos de algunas

play15:13

industrias

play15:20

la clásica pregunta que nos hacemos en

play15:22

este apartado es como las pruebas ayudan

play15:26

a elevar la calidad del software

play15:27

recordemos que cada actividad importante

play15:30

del ciclo de pruebas genera un producto

play15:32

de trabajo documentos de requisitos

play15:34

historias de usuarios el mismo código

play15:37

fuente entre muchas más el trabajo de

play15:40

los probadores en conjunto con

play15:41

diseñadores y desarrolladores revisando

play15:44

desde etapas tempranas del ciclo de vida

play15:46

a los productos de trabajo que se

play15:48

producen contribuye a un ahorro

play15:51

significativo de tiempo esfuerzo y

play15:53

dinero debido a que al detectar defectos

play15:56

su identificación y remoción reduce el

play15:59

riesgo de que una funcionalidad

play16:01

incorrecta o una funcionalidad imposible

play16:03

de probar sea desarrollada cuando los

play16:06

probadores y diseñadores trabajan en

play16:08

equipo se puede aumentar la comprensión

play16:11

del diseño del sistema y cómo probarlo

play16:13

identificando así qué pruebas serán

play16:16

necesarias desde una etapa temprana esto

play16:19

disminuye el riesgo de defectos en el

play16:21

diseño avancen a las siguientes etapas

play16:23

del ciclo de vida de desarrollo

play16:25

imaginen la consecuencia de una falla en

play16:28

el diseño de las bases de construcción

play16:30

de un edificio que no se detecta en los

play16:32

planos cuando los probadores y

play16:34

desarrolladores trabajan en equipo

play16:36

mientras el código se está desarrollando

play16:38

se puede aumentar la comprensión del

play16:40

funcionamiento del código y cómo

play16:42

probarlo al saber cómo ha sido

play16:44

desarrollado una solución le permite al

play16:46

probador ubicar segmentos de la

play16:48

aplicación susceptibles error el conocer

play16:51

que en un segmento de código se está

play16:53

realizando una operación matemática de

play16:55

división con seguridad inducir al

play16:58

probador a validar que no ocurra una

play17:01

división entre 0 oa partir de observar

play17:04

alguna estructura condicional compleja

play17:06

garantizar que todas las rutas sean

play17:09

coherentes con lo requerido tener

play17:11

probadores verificando y validando el

play17:14

software antes de su liberación aumenta

play17:16

la probabilidad de identificar fallas

play17:18

que de otra forma pudieron haber pasado

play17:21

desapercibidos eliminar los defectos que

play17:24

causaron esos fallos aumenta la

play17:26

probabilidad de que el software cumpla

play17:28

con las expectativas del usuario y de

play17:30

más involucrado

play17:31

cumplir con las expectativas del usuario

play17:33

aumenta la confianza en el producto y la

play17:37

confianza en el producto genera

play17:39

fidelidad al proveedor

play17:46

a menudo se usa la frase aseguramiento

play17:48

de la calidad o solo q va por las siglas

play17:50

en inglés para referirse a las pruebas

play17:53

pero el aseguramiento de la calidad y

play17:55

las pruebas no son lo mismo aunque están

play17:57

relacionadas el aseguramiento de la

play17:59

calidad se centra típicamente en el

play18:02

cumplimiento de los procesos adecuados

play18:04

para generar productos de trabajo de

play18:06

mayor calidad lo que contribuye a la

play18:08

prevención de defectos es decir es un

play18:11

proceso preventivo que incluye

play18:13

actividades planeadas y sistemáticas

play18:15

para lograr resultados de mejor calidad

play18:18

por ejemplo el tener unas directrices

play18:20

bien definidas para elaborar el

play18:22

documento de requisitos y cualquier otro

play18:24

producto de trabajo verificar y validar

play18:27

los mismos desde el inicio del ciclo

play18:29

planear reuniones con expertos para

play18:32

realizar estas revisiones tener

play18:34

distintos enfoques dependiendo de cuán

play18:36

profunda debe ser dicha revisión tener

play18:39

probadores involucrados desde el

play18:40

levantamiento de los requisitos

play18:42

actualizar los productos de trabajo ante

play18:45

cada evento que lo requiera entre muchas

play18:47

otras actividades que veremos en este

play18:49

curso son

play18:51

parte de las actividades que aseguran la

play18:52

calidad de un producto es un plan de

play18:55

cómo se harán las cosas el control de la

play18:58

calidad implica varias actividades

play19:00

incluidas las actividades de prueba lo

play19:02

que apoya el logro de niveles apropiados

play19:05

de calidad se centra en encontrar

play19:07

defectos en los productos ya elaborados

play19:10

es decir es un proceso reactivo que

play19:13

corrige defectos en los productos antes

play19:15

que salgan al mercado es llevada a cabo

play19:18

por un equipo específico que prueba los

play19:20

productos para encontrar sus defectos

play19:22

estos dos conceptos se unen bajo el

play19:25

nombre de gestión de calidad incluye

play19:28

todas las actividades que dirigen y

play19:30

controlan una organización con respecto

play19:32

a la calidad el aseguramiento de la

play19:34

calidad se refiere a la ejecución

play19:37

adecuada de todos los procesos de

play19:39

pruebas hace uso de herramientas como el

play19:41

análisis de causa raíz para eliminar la

play19:44

causa de los defectos y el análisis de

play19:47

los hallazgos en las reuniones

play19:48

retrospectivas para mejorar los procesos

play19:51

el control de la calidad implica varias

play19:54

actividades de pruebas

play19:55

que forman parte del proceso de

play19:57

desarrollo o mantenimiento de software y

play20:00

procuran asegurar un nivel óptimo de

play20:02

calidad

play20:08

[Música]

play20:15

los objetivos característicos de una

play20:17

prueba son evaluar que todos los

play20:19

productos de trabajo estén correctos

play20:21

verificar que los requerimientos

play20:23

especificados han sido satisfechos

play20:25

validar que todos los requerimientos

play20:27

especificados son correctos generar

play20:30

confianza en el software prevenir

play20:31

defectos encontrar fallas y defectos

play20:34

reducir los riesgos de falla

play20:36

proporcionar información para la toma de

play20:39

decisiones y cumplir con estándares

play20:40

legales o comerciales los objetivos de

play20:43

la prueba varían dependiendo del sistema

play20:45

que se esté probando en qué fase del

play20:47

ciclo de desarrollo se está o del nivel

play20:49

de prueba probar es distinto de depurar

play20:52

depuración es el proceso de desarrollo

play20:55

que encuentra analiza y repara el

play20:57

defecto probar es verificar que el

play20:59

software funciona como se espera el

play21:01

ciclo de depuración implica que el

play21:03

desarrollador depura el código y realiza

play21:06

sus pruebas luego del ciclo de

play21:07

depuración un probador independiente

play21:09

ejecuta las pruebas de confirmación las

play21:12

pruebas de verificación se realizan para

play21:14

verificar que el cambio realizado no

play21:16

haya afectado otras secciones del

play21:18

software por qué es necesario probar el

play21:20

software

play21:21

todos cometemos errores y estos

play21:23

introducen defectos que pueden generar

play21:25

fallas reduce el riesgo y aumenta la

play21:27

confianza algunos defectos son difíciles

play21:30

de identificar debido a que se originan

play21:31

en suposiciones erradas o puntos ciegos

play21:34

algunas pruebas son obligatorias debido

play21:36

a estándares legales o comerciales como

play21:39

contribuye la prueba al éxito probadores

play21:42

y diseñadores trabajando juntos aumentan

play21:44

la comprensión del diseño del sistema y

play21:46

cómo probarlo y este trabajo en equipo

play21:49

mientras el código se está desarrollando

play21:50

le permite al probador ubicar segmentos

play21:53

de la aplicación susceptibles a error

play21:55

tener probadores verificando y validando

play21:58

el software antes de su liberación

play22:00

aumenta la probabilidad de que el

play22:02

software cumpla con las expectativas del

play22:03

usuario y que el software cumpla esas

play22:06

espectativas aumenta la confianza en el

play22:08

producto lo que a su vez genera

play22:10

fidelidad al proveedor el aseguramiento

play22:12

de la calidad y las pruebas son

play22:14

conceptos diferentes el aseguramiento de

play22:17

la calidad se centra en el cumplimiento

play22:18

de los procesos adecuados para generar

play22:20

productos de trabajo de mayor calidad el

play22:23

control de la calidad implica varias

play22:25

actividades incluidas las de pruebas

play22:27

lo que apoya el logro de niveles

play22:29

apropiados de calidad y la gestión de

play22:31

calidad une a ambos conceptos

play22:33

aseguramiento y el control de la calidad

play22:35

[Música]

play22:56

[Aplausos]

play22:58

de mostrar lo aprendido

play23:01

cuál de las siguientes preguntas es un

play23:04

ejemplo de depuración opcional un

play23:07

probador encuentra defectos y los

play23:09

reportan opción ve un probador verifica

play23:13

una reparación hecha por un

play23:14

desarrollador y encuentra una regresión

play23:17

opción si un desarrollador encuentra y

play23:20

repara un defecto opción de un

play23:23

desarrollador realiza pruebas unitarias

play23:36

la opción c es la respuesta correcta

play23:39

depurar es lo que el desarrollador hace

play23:42

para identificar la causa del defecto

play23:44

analizarla y repararla la opción de

play23:48

puede involucrar depuración si el

play23:51

desarrollador encuentra un defecto pero

play23:53

el acto de realizar pruebas unitarias no

play23:56

es lo mismo que depurar cuál de las

play23:59

siguientes es una actividad que remueve

play24:01

la causa de una falla opción a pruebas

play24:05

opción b pruebas dinámicas opción se

play24:10

depuración opción de ingeniería inversa

play24:24

la opción c es la respuesta correcta

play24:27

depurar es el proceso de encontrar

play24:29

analizar y remover la causa de las

play24:32

fallas de software que son incorrectas

play24:35

porque ellos podrían encontrar la falla

play24:37

causada por un defecto la opción de es

play24:40

incorrecta porque la ingeniería inversa

play24:42

es el proceso de determinar el código

play24:45

fuente de un objeto

play24:48

cuál es la actividad que se usa

play24:50

normalmente para encontrar y reparar un

play24:52

defecto en el código opción a pruebas de

play24:56

regresión opción de depurar opción se

play25:00

análisis dinámico opción de análisis

play25:04

estático

play25:16

la opción b es la respuesta correcta

play25:21

[Música]

play25:27

una vez revisados los objetivos

play25:29

generales de las pruebas y porque

play25:31

probamos es importante destacar que los

play25:33

objetivos de la prueba varían

play25:34

dependiendo del sistema que se esté

play25:36

probando en qué fase del ciclo de

play25:38

desarrollo se está o del nivel de prueba

play25:41

como veremos más adelante en el curso

play25:43

por ejemplo al final del proceso de

play25:45

pruebas una vez que el sistema ha sido

play25:47

desarrollado en su totalidad y se

play25:49

muestra al usuario el objetivo de esta

play25:51

prueba es validar que el software cumple

play25:53

con las expectativas y crear confianza

play25:56

en su uso es decir el objetivo de las

play25:58

pruebas finales con el usuario llamadas

play26:00

pruebas de aceptación es validar el

play26:03

software recuerden ese concepto sin

play26:05

embargo al inicio del ciclo cuando el

play26:07

desarrollador termina la construcción de

play26:09

los módulos del sistema se ejecutan las

play26:11

pruebas a nivel de componentes aquí el

play26:13

objetivo es encontrar tantas fallas como

play26:16

sea posible y repararlas

play26:18

es decir las pruebas tienen objetivos

play26:20

generales y específicos a cada etapa del

play26:22

ciclo de vida y asimismo los beneficios

play26:25

que obtendremos de cada una de estas

play26:26

pruebas son diferentes por lo tanto no

play26:29

podemos omitir o sustituir

play26:31

arbitrariamente unas

play26:35

recuerdan el resumen de 60 segundos pues

play26:37

se plasmaba manera de tarjetas de

play26:39

memorización todos esos puntos para que

play26:41

puedas repasar los momentos antes de

play26:43

tomar el examen de certificación abajo

play26:45

en la descripción encontrarás el enlace

play26:47

de mi página donde podrás descargar

play26:49

estos documentos de forma gratuita si

play26:51

tienes alguna duda o sugerencia sobre

play26:53

este tema no dudes en dejar un

play26:55

comentario estaré atento ayudar recuerda

play26:57

que con seguridad no serás el único con

play26:59

esa misma duda y con este ejercicio

play27:01

propiciamos la discusión y todos

play27:03

podremos aprender si consideras que este

play27:05

contenido puede ser de utilidad para una

play27:07

persona es un proceso de aprendizaje

play27:08

para ser un probador entonces compártelo

play27:11

si quieres estar al tanto cada vez que

play27:13

vaya publicando el resto de los

play27:14

capítulos de este curso o de los niveles

play27:16

avanzados de 10-7 cube entonces

play27:18

suscríbete y activa las notificaciones y

play27:21

si finalmente disfrutaste el vídeo

play27:22

entonces dale me gusta no olvides

play27:25

seguirme en link para mantenerte al

play27:26

tanto sobre cualquier discusión activa

play27:28

nos vemos en el siguiente capítulo y me

play27:30

despido

play27:38

bueno

Rate This

5.0 / 5 (0 votes)

Related Tags
Pruebas de SoftwareDesarrolloAseguramiento de CalidadControl de CalidadCiclo de VidaValidaciónVerificaciónDepuraciónConfianza en la CalidadEstandares Legales
Do you need a summary in English?