Platzi tiene personas encargadas de QA?
Introducción
Lo que aprenderás sobre los fundamentos de testing
Principios de las pruebas
¿Qué son las pruebas y por qué deberíamos hacerlas?
Proceso de pruebas del software y los estándares internacionales
Ciclo de vida del software
Proceso de pruebas del software: Calidad y Defectos
Principios del testing moderno
Especialidades del testing
Testing
Presupuesto, Recursos, Tiempo y Actividades Clave
Estrategia de pruebas
Testing en desarrollo de software
Testing ágil
Niveles de pruebas
Tipos de pruebas
Pruebas estáticas y dinámicas
Definición y diseño de pruebas
Gestión, monitoreo y control
Caja Blanca, Gris y Negra
Gestión, monitoreo y control: Monitoreo y Seguimiento
Roles y Responsabilidades
Roles y Responsabilidades en acción
Gestión de bugs
Ejercicios
Retrabajo
Sistema de seguimiento de bugs
Defectos y sugerencias
Depuración
¿Qué es la depuración?
Pruebas de verificación
Técnicas de depuración
Bases de la automatización de pruebas
Automatización de pruebas
Gherkin
Cierre del curso
¿Cuántas veces hemos sido usuarios de alguna app móvil y falla? ¿Cuántas veces hemos sido parte del desarrollo de un producto y el retrabajo se desborda por todas las fallas o defectos que contiene?.
Las pruebas son una manera de explorar, experimentar, entenderlo, entre menos entiendas el productos que estas desarrollando más errores tendrá. Las puedes hacer por cuestión de costo, prestigio o cuestiones legales.
Tres aspectos a considerar:
Aportes 109
Preguntas 11
Platzi tiene personas encargadas de QA?
Mis apuntes:
¿Qué son las pruebas y por qué deberíamos hacerlas?
¿Qué son las pruebas?
Es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación, lo cual incluye: Cuestionar, estudiar, modelar, observar e inferir, checar salidas de datos, etc.
¿Pasando todas las pruebas tendré un software sin errores?
No. El 100% de que un software no tenga errores nunca va a suceder; podrás llegar a estimaciones de 99.9999~ y quizás, dado el riesgo del software harás más pruebas pero siempre existe la posibilidad de que haya un nuevo fallo. El tiempo y los clientes nos han enseñado que no importa, aún cuando tengas un muy buen plan de pruebas, siempre se pueden ir algunos detalles.
Las pruebas las puedes tener que hacer por cuestiones de costo, prestigio, legales, o mejorar el software.
Muchas empresas que desarrollan software:
• No son parte de la solución.
• No siempre se entrega la evidencia al cliente.
• Sin una estructura o especificaciones son difíciles de mantener.
• No hay tiempo, o nadie del equipo hace pruebas.
Razones para hacer las pruebas
• Tenemos un problema o el resultado no es el esperado.
• Costo alto o fuera de presupuesto.
• Implicaciones legales o de estándares tecnológicos.
Mediante el testing podemos detectar la presencia de errores, mas no la ausencia de estos.
Definición del testing según la IEEE:
El proceso de funcionamiento de un sistema o componente bajo ciertas condiciones, observar o registrar los resultados, y hacer una evaluación de algún aspecto del sistema o componente._
Las buenas pruebas siempre contemplaran casos de uso inusuales o que en circunstancias normales no sucederían. Sin embargo, esto no asegura que el software esté libre de fallas.
Que son las pruebas de software?
Las pruebas son el proceso de evaluar un producto, aprendiendo a traves de la exploracion y experimentacion.
Razones para hacer Pruebas:
falla del face id>
https://www.youtube.com/watch?v=IPxE3hyG2eE
El testing funcional tiene mucho de lógica y de sentido común, si bien existen buenas practicas y técnicas a respetar, el punto vital como bien dice Blanca es entender desde un principio para que servirá la aplicación, quien la va a usar, condiciones que pueden afectar el mismo, etc, etc, esto te dará una perspectiva y una base para comenzar a imaginar que cosas deberías probar para verificar que se satisfaga la necesidad para la que fue creada.
.
Si por ejemplo vamos a hacer las pruebas sobre un software que nos va a permitir retirar dinero desde un ATM, debemos ponernos en los zapatos del usuario final y pensar cuales son los posibles escenarios reales que pueden pasar, por ejm: que pasaría si ingreso mal las credenciales de acceso a la cuenta, que pasaría si intento retirar un monto mayor al disponible en mi cuenta, que pasaría si el ATM se queda sin efectivo… en todos los escenarios debemos pensar que debería de pasar y de esta manera ir armando nuestros casos de prueba.
se deben hacer pruebas de seguridad a todos los software? o como puedo detectar a cuales si
Las pruebas son una manera de explorar, experimentar y entender el producto. La exploración del producto incluye cuestionar, estudiar, modelar, observar, inferir e incluso verificar las salidas de datos de un componente de software. Entre menos se entienda el productos que se está desarrollando más errores tendrá.
Una de las funciones del equipo de desarrollo es que los productos no lleguen con errores al usuario final.
Es virtualmente imposible que algún software esté carente de errores.
Las pruebas se pueden hacer por querer mejorar la calidad del software (mejora continua), prestigio, costos (sin pruebas claras se puede crear mucho retrabajo) o incluso por requerimientos legales.
No tener claro que se quiere desarrollar hará que se creen más defectos en el software.
No importa que sigas las mejores prácticas de desarrollo o de testing, sino entiendes el producto más errores encontraras.
Las pruebas de software nos ayudan a detectar errores en un producto, pero no a asegurar la ausencia de estos
¿Porque debemos de hacer pruebas?
ISO / IEC 29119
Proporciona una norma definitiva de las pruebas de software. Incluye:
Esta norma reemplaza a un número de los actuales estándares IEEE o BSI para las pruebas de software. Por ejemplo:
IEEE 829: Documentación de pruebas
IEEE 1008: Pruebas unitarias
BS 7925-1: Vocabulario de términos en pruebas de software
BS 7925-2: Estándar de pruebas de componentes de software
Esta norma consta de 5 partes:
Parte 1: Definiciones y Vocabulario
Parte 2: Proceso de Prueba
Parte 3: Documentación de prueba
Parte 4: Técnicas de Prueba
Parte 5: Pruebas dirigidas por palabras clave
Si quieres aprender más del tema, puedes investigar en esta fuente:
http://artemisa.unicauca.edu.co/~cardila/CS_07_Estandares_para_pruebas_software.pdf
O googlear porque información allí, tenemos bastante para comprender los fundamentos de las pruebas de software.
Estándar IEEE-829
Este estándar proporciona un conjunto estandarizado de documentos para mantener una buena o posiblemente, excelente documentación dentro de las pruebas de software.
Hay 8 de tipos de documentos, que se usan en 3 etapas distintas.
Preparación de las pruebas:
Ejecución de las pruebas
Término de las pruebas
Este estándar es genérico para cubrir todos los tipos de pruebas en un ciclo de vida de un software. No necesariamente, los documentos son una plantilla escrita en piedra, así que se pueden modificar de acuerdo a las necesidades del proyecto.
¿Que son las pruebas?
Es el proceso de evaluar un producto, aprendiendo a traves de la exploracion y experimentacion los cual incluye: Cuestionar, estudiar, modelar, observar e inferir, checar salidas de datos, etc.
No son parte de la solucion
No siempre se entrega la evidencia al cliente
Sin una estructura o especificaciones son dificiles de mantener
No hay tiempo, o nadie del equipo hace pruebas
Razones para hacer las pruebas
Tenemos un problema o el resultado no es el esperado
Costo alto o fuera de presupuesto
Implicaciones legales o de estandares tecnologicos
En la descripción del video repitió dos veces el “Tres aspectos a considerar”
Aqui algunos links y documentación, sobre el standard ISO/IEC/IEEE 29119 Software Testing Standard:
https://in2test.lsi.uniovi.es/gt26/
ISO/IEC/IEEE 29119
El nuevo estándar
internacional para pruebas
de software:
https://in2test.lsi.uniovi.es/gt26/presentations/ISO29119-Presentacion-GT26-20151215.SanSebastian.pdf
Calidad y testing del software.
Aspectos esenciales para la
seguridad:
https://in2test.lsi.uniovi.es/gt26/presentations/Tuya-ISO29119-Seguridad-20170316.pdf
Yo no desarrollo software, pero trabajo dentro de la industria y he empezado a investigar de este tema, los estándares que conozco son: COBIT, ISO 1207, ISO 15504, IEEE 12207 entre otros
Tienes que entender el contexto: El producto y el modelo de negocios, para enteder que errrores se pueden presentar
quisiera darle mi jefe este video jajajajajajajajaja
Qué son las pruebas
Es el proceso de evaluar un producto, aprendiendo a traves de la exploración experimentación, lo cual incluye: observar e inferir, checar salidas de datos.
Todos los software o implementaciones tecnológicas deben tener por lo menos una fase de pruebas, todas las empresas que se dedican a realizar desarrollos deberían tomar muy enserio que si un producto sale con alguna falla o error el usuario final no lo va a querer usar, muchas veces por el afán de cumplir limitan las pruebas siendo este una causal de fracaso para muchos desarrollos.
Es un error común creer que siempre que se verifique un proceso, entre más se revise se eliminará los errores, sin embago, revisar un proceso muchas veces, reduce la probabilidad del error pero no lo elimina, lo digo basado en mi experiencia como gestor de proyectos, por algo existe el método Kaizen.
Que gran clase por favor!
Soy UX pero estuve en soporte a usuarios y les puedo asegurar que aunque el proptotipo quede muy bien, la experiencia del usuario no podrá ser igual si el desarrollo no va acompañado de buenas prácticas de calidad.
Pienso que Quality Assurance va muy ligado a UX pero no he visto que se hable tanto de eso.
Como analista de Calidad no participo mucho dentro del Desarrollo, pero una manera de intervenir para mejorar el desarrollo y llegar con menos fallos a la entrega es dar mi punto de vista como si fuera el cliente e indicar que es lo que nos pueden observar, al principio quiza se sienta que uno es un poco cargoso o quiza el area de desarrollo pensara que no valoramos su trabajo, pero es mejor dar el feedback poniendonos en el lugar del cliente y actuar como este para que los errores salgan durante las pruebas integrales que se hace con el equipo, a que el cliente se lleve una mala experiencia.
CONSEJO:
Siempre generen empatia con el cliente para poder identificar en que puntos podría detectar un bug u observacion visual
Las pruebas son importantes debido que se ofrece al cliente calidad de producto y funcionalidad acorde al los objetivos de lo deseados
A veces se pasa por alto, la rigurosidad de las pruebas; pero en realidad la importancia de realizarlas, nos puede evitar muchos dolores de cabeza.
Básicamente en el 95% de las oportunidades laborales que he tenido como desarrollador nunca han tomado las pruebas como parte del desarrollo, incluso algunos de los que piden que sepas hacer pruebas no verifican la calidad de estas y solo piden que llegues a un CC (code coverage) de un porcentaje concreto del código, sin tener en cuenta que un CC alto o incluso del 100% no garantiza que no existan fallos.
Pruebas
Es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación, lo cual incluye:
Razones
La experiencia de usuario es muy importante para que un usuario vuelva a usar la aplicación
<h5>Qué son las pruebas</h5>Una manera de revisar el producto, experimentarlo
Pasar todas las pruebas no asegura que no existan errores, es más probable pero no seguro
Como desarrolladores, no deberiamos dejar que el producto llegue con errorres al usuario final.!!!
Hay una falta de comunicación en muchos de los equipos que siempre están resolviendo problemas.
El análisis cuándo estás construyendo un Software, debe servir para todo el equipo, ya sea de desarrollo, de testing, de diseño, de documentación y otros.
También tenemos que acatar cuestiones o situaciones de la vida real. Con la que nuestro software cumpla.
Una pregunta para mejorarnos, es : ¿Qué puedo hacer mejor dentro del proceso de desarrollo, para mis clientes o para quién me emplea?
Razones para hacer pruebas
los estándares para el desarrollo de software
¿Qué son las pruebas y por qué deberíamos hacerlas?
¿Cuántas veces hemos sido usuarios de alguna app móvil y falla? ¿Cuántas veces hemos sido parte del desarrollo de un producto y el retrabajo se desborda por todas las fallas o defectos que contiene?.
Las pruebas son una manera de explorar, experimentar, entenderlo, entre menos entiendas el productos que estas desarrollando más errores tendrá. Las puedes hacer por cuestión de costo, prestigio o cuestiones legales.
Tres aspectos a considerar:
conceptos de vital importancia
Es importante que todo el proceso de pruebas se apoyen en estándares como ISTQB, ya que marcan la pauta para la ejecución de todo el ciclo de pruebas durante el desarrollo del software.
Buen curso
jaja pasa, se daño la Demo
Debemos estimar bien, debemos entender el producto y debemos conocer el cliente
.
Dejar de buscar errores y poner mejores practicas para evitar errores.
Me ha sucedido la clásica “libera es urgente” y con frecuencia se acumula los cambo y por ende las pruebas, como la orden es de dirección se tiene que aplicar y después los detalles es de TI
Además de los tres puntos dados en la clase que son importantes, creo que también es necesario hacer énfasis en que si quieres destacar en el mundo de desarrollo de software como empresa tienes que hacer las pruebas de software necesaria por cuestiones de ética y profesionalismo, ya que siendo un campo tan competitivo hoy día, tienes que entregar productos de alta calidad si quieres destacar entre tantos que existen en el mercado.
Siempre será importante ponerse en los zapatos del usuario, hacer el mismo tráfico que harían ellos.
• Control de versiones y aplicación de testeo, esto lo debemos aplicar a cada versión de las mejoras a implementar que permitan cerrar brechas o evolución de nuestro aplicativo y no enfocada a estar ajustando bugs.
Las pruebas es el proceso de evaluar un producto a traves de la experimentacion y exploracion
¿QUÉ SON LAS PRUEBAS?
Es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación, lo cual incluye: Cuestionar, estudiar, modelar, observar e inferir, validar salidas de datos, etc.
¿Cuántas veces hemos sido usuarios de alguna app móvil y falla? ¿Cuántas veces hemos sido parte del desarrollo de un producto y el retrabajo se desborda por todas las fallas o defectos que contiene?.
¿Si paso todas las pruebas, tendré un software sin errores?
No. Nunca se puede garantizar el 100% de que un software no tenga errores. Puedes llegar a estimaciones de 99.9999~, luego de evaluar el riesgo del software y realizar más pruebas. Pero siempre existe la posibilidad de que haya algún fallo. El tiempo y la experiencia nos han enseñado que, aunque tengas un buen plan de pruebas, siempre se pueden pasar por alto algunos detalles.
Las pruebas se suelen realizar por cuestiones de costo, calidad, legales o para mejorar el software.
Las pruebas son una manera de explorar, experimentar, entenderlo, entre menos entiendas el productos que estas desarrollando más errores tendrá. Las puedes hacer por cuestión de costo, prestigio o cuestiones legales.
Ejemplos:
Apple aseguraba que esta nueva tecnología, Face ID, “falla apenas una vez en un millón”, cosa que no concuerda con la realidad, al menos no fue así durante la presentación oficial.
Hace 20 años, Windows 98 debutó, y lo hacía con la famosa pantalla azul de la muerte (BSOD) incluida delante de Bill Gates.
Muchas empresas que desarrollan software:
Razones para hacer las pruebas:
El testing funcional es importante porque asegura que el software funciona correctamente. Es esencial entender para qué servirá la aplicación y quién la usará, y pensar en los escenarios reales que pueden ocurrir. Es importante seguir buenas prácticas y técnicas, pero también debemos usar nuestra lógica y sentido común
No es realista esperar que el producto final o una versión pública no tenga errores, pero se debe organizar las pruebas para que se puedan mitigar en la medida de lo posible para que los usuarios finales no tengan contratiempos serios. En el aspecto de mejoras por supuesto que el equipo debe estar preparado para nuevos errores, regresiones o funcionalidades mal aplicadas.
Notas de la clase:
Principios de las pruebas
¿Qué son las pruebas?
Es el proceso de evaluar un producto por medio de la exploración y la experimentación, generando un aprendizaje que permita conocer mas el producto, entenderlo, observarlo, modelarlo teniendo en cuenta los requerimientos del mismo para saber si cumple con estos.
100 % cero bugs no esta garantizado.
Algunos equipos omiten las pruebas por:
No son parte de la solución - del desarrollo
No siempre se entrega la evidencia al cliente
Sin una estructura o especificaciones son difíciles de mantener
No hay tiempo, o nadie del equipo hace pruebas.
Razones para hacer las pruebas
Tenemos un problema o el resultado no es el esperado. Procesos de mejora continua.
Costo alto o fuera del presupuesto. Se da porque no se analizan las practicas, correcciones y problemas de comunicación en el equipo.
Implicaciones legales o de estándares tecnológicos. Seguridad en manejo de la información.
Conclusiones
Para reducir los defectos es necesario saber lo siguiente:
Pregunta de mejora:
¿Qué es lo que puedo hacer mejor dentro del desarrollo del software, para mis clientes o para quien me emplea?
Muy interesante es importante las pruebas y los estándares que se debe cumplir.
Excelente, no había tenido en cuenta estos puntos para el proceso de pruebas del software.
Gracias Blanca
Y volvió a pasar lo de Uber
Las pruebas son necesarias a pesar de que como programadores creemos que creamos bien los flujos
QUE SON LAS PREBAS
Es elproceso de evalar un producto aprendiendo a traves de la esploracion y experimentascion
exelente expicacion
desarrollador
Con estos ejemplos se ve la importancia de las pruebas, ya que puede repercutir en perdidas de dinero
Muy interesante sería no dejar las pruebas para el final, sino que en cada iteración del proyecto vayan incluidos, asi evitamos costos en tiempos, ejecución y calidad
Investigar sobre las buenas practicas en la programación y los estándares que manejan la industria del software.
Las pruebas deben considerarse parte del desarrollo y no se pueden postergar.
Razones para hacer pruebas:
Genial introducción!!
Cuando se construye software, en el análisis que se realiza deben estar involucrados las diferentes áreas: desarrollo, testing, diseño, documentación, etc., para evitar que el equipo esté resolviendo y resolviendo problemas. De esta manera, se mejora la comunicación y el trabajo de cada área para entender el producto que se creará.
Excelente
¿Qué son las pruebas?
Es el proceso de evaluar un producto, aprendiendo a través de la exploración experimentación, lo cual incluye:
Cuestionar, estudiar, modelar, observar e inferir, checar salida de datos, etc.
Verlo y entenderlo en todos sus aspectos
Es bueno investigar, los estándares que el proceso de cada rol tiene en el desarrollo de software.
Razones para hacer las pruebas: Tenemos un problema o el resultado no es el esperado, Costo alto o fuera de presupuesto, Implicaciones legales o de estándares Tecnológicos.
El testing asegura que las cosas salgan bien, pero este a su vez, requiere de disciplina al momento de desarrollar.
Siempre existe la posibilidad de que haya un nuevo fallo.
Tienes que enteder bien, el producto que estás desarrollando.
Se duplicó la necesidad de entregar un producto sin errores, en los que el software, está desarrollado bajo prácticas que permiten disminuir estos errores y a la vez descubrirlos y exterminarlos.
**¿Que son las pruebas y por que deberíamos hacerlas?
**
Como principio de ética no se deberia de permitir que el software llegue con errores al final.
¿Que son las pruebas?
Es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación, lo cual incluye: Cuestionar, estudiar, modelar, observar e inferir, checar salidas de datos.
¿Pasando todas las pruebas tendré un software sin errores?
No. Siempre hay posibilidad de que haya un nuevo fallo.
Que una aplicación tenga fallos, también puede repercutir en problemas legales.
Hay diferentes motivos porque no se hacen las pruebas:
Razones para hacer pruebas:
Las pruebas son realizadas como parte de la calidad que se le debe brindar al software, ya que se debe entregar un producto que cumpla con los criterios de aceptación por parte de los clientes.
Las PPTs que la instructora muestra, como la obtenemos?
Me ha pasado, cuando he ingresado a ciertas paginas gubernamentales y se encuentra algo como el Response de la página en celulares y tables.
En un proyecto de desarrollo de software pueden aparecer errores en cualquiera de las etapas del ciclo de vida, algunos de ellos incluso permanecen sin ser descubiertos, de ahí la importancia de las pruebas en desarrollo de software.
Windows y su pantalla azul
¿Lo de Apple no fue en realidad un comportamiento esperado por intentos superados de bloqueo previos? Si bien se ve feo en la presentación y no debiera haber ocurrido no siento que haya sido una falla de software, mas bien un problema en la preparación de la presentación donde se usó un equipo que estaba bloqueado por passcode.
Lo de Windows sin lugar a dudas es una falla de software.
Las pruebas de software son muy importantes antes de salir a producción porque con ellas lo que se busca es minimizar al máximo las fallas y probar que lo que se hizo realmente hace lo que el cliente espera y que el software sera funcional en diferentes escenarios.
no se debe de permitir que los errores lleguen a los usuarios tienen que ser detectados antes.
que son las pruebas:
es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación, lo cual incluye: Cuestionar, estudiar, modelar, observar e inferir, checar salidas de datos, etc.
los errores no se pueden mitigar al 100%
Razones para hacer las pruebas:
La gran pregunta ¿Qué podemos hacer mejor?
Falaln mucho los videos,asi cambies de servidor,decalidad, etc…
Tengo latencias de 17ms… no es de mi lado…
Lo de Apple fue épico
¿Por qué no se tomo el cumplir con los requerimientos del cliente cómo una razón para realizar las pruebas?
Entendido
el titulo del curso no me llamaba la atención pero con esta profe tan guapa ya la tiene completamente (^_^ )
Qué buena clase. Dejo aquí mis apuntes:
Si brindamos una mala experiencia de usuario, estos no usarán nuestra aplicación.
Como principio de ética, nuestra aplicación NO debe llegar con errores al usuario final.
Un prueba es el proceso de evaluar un producto, aprendiendo a través de la exploración y experimentación. Esto incluye:
Entre menos entiendas el producto que estás desarrollando, más errores va a tener.
Nunca tendrás un software 100% libre de errores. Tienes que estar actulizando tu software con el tiempo debido a la rápidez con que avanza la tecnología.
Las pruebas las puedes tener que hacer por razones como:
3 razones muy buenas para hacer pruebas:
Que importante que es el testing, que tanto que hay mas alla de solo escribir el codigo
Espero que una nueva forma de enseñanza me haga aprovechar los beneficios
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.