Existe una relacion entre un error, un defecto y un fallo al realizar el desarrollo de nuestro software.
- La prueba es el proceso de ejecucion de un programa con la intencion de descubrir un error?
- un buen caso de prueba es el que puede fallar
5 elementos esenciales para realizar pruebas.- Utilizamos todos los elementos que nos puedan permitir obtener resultados erróneos y hacer que nuestro software funcione mal.
los elementos a probar son los DATOS (carga de la base de datos, funciones en red, validacion de datos, etc.)
- Estrategia de pruebas.- es un plan que nos ayuda a encontrar una cantidad de defectos en el software
- Plan de pruebas.- que nos diga como cumplir con la estrategia y llevarla a cabo
- Casos de pruebas.- que preparemos con anterioridad en la forma de ejemplos detallados que usaremos para comprobar si el software cumple con los requerimientos
- Datos de prueba.- es en los datos de entrada y las bases de datos de prueba que se utilizan para ejecutar los casos de prueba
- Un ambiente de pruebas.- nos permite llevar a cambio dichas pruebas
Como se hacen las pruebas en el mundo real?
- Reunion inicial.- Quien es el cliente? duracion y fecha de entrega? stakeholdres
- Plan de pruebas.- desarrollado en base al SRS: se divide el diseño en modulos
- Casos de prueba y escenarios.- se crean pruebas siguiendo una filosofia botton-top (se hacen pruebas de modulos y luego su integracion)
- Testing y debugging.- testing es verificar y debugging es identificar los errores y solucionarlos
todo desarrollo tiene una entrada, proceso y salida
Vision arquitectonica inicial.-
Vision y asignacion de presupuesto inicial.-
Requerimientos iniciales.-
Plan general.-
Que es un backlog.- Lista de trabajo con prioridad, la lista en la que se debe priorizar los elementos mas importantes del desarrollo,
Reuniones de retrospectiva.- si hay observaciones hay que analizar el proceso y hacer reportes de mejora en el proceso de entrada proceso y salida
Pruebas y aceptacion y ATTD
Las diversas metodologias, son indispensables para la liberacion exitosa con CALIDAD para eso se planifica, se genera guias y se generan estrategias el Desarrollo dirigido por Pruebas y el Desarrollo por Pruebas de Aceptacion.
La diferencia entre las pruebas de aceptacion y dirigido por pruebas son los STAKEHOLDERS el equipo de trabajo puede hacer el desarrollo dirigido por pruebas y el Desarrollo dirigido por pruebas de aceptacion es donde trabajan conjuntamente con los stakeholders
Pruebas en Metodologias Agiles
Product owner.- es un actor del equipo de desarrollo que utiliza las metodologias agiles, es el que genera el producto backlog, es el encargado de proyecto o el encargado de coordinar con el stakeholder, a veces es el directivo o lider de proyecto
Reunion diaria de SCRUM: se hace una reunion en base a los elementos importantes segun el backlog
Reunion de retrospectiva: pasarle el avance al product owner y que se vuelva a realizar el proceso
Diferencias entre metodologías tradicionales y metodologías agiles.- (algunas metodologias tradicionales como la espiral y la cascada) vs scrum, xp y otras.
- En los modelos tradicionales se tenian reuniones al principio y no durante el proceso.
- pruebas de aceptacion, se utiliza como aceptacion el diseño y desarrollo del sistema
- requieren entrar tempranamente en detalle de implementacion e instanciacion de datos de pruebas
- El uso de documentacion menos rigida
Pruebas.-
Metodos de prueba.- Se usan diferentes tecnicas para ver si son apropiadas, estas aplican en diferentes momentos en el desarrollo de software
- quien prueba primero el codigo es el desarrollador a veces asistido por grupos de pruebas independientes para proyectos grandes
- el rol del tester es eliminar el conflicto de intereses inherente cuando el desarrollador prueba su propio producto
2 conceptos muy importantes son
Verificacion.- Estamos construyendo el producto correctamente? - Reuniones diarias
Validacion.- Estamos construyendo el proyecto correcto? -Reuniones de retrospectiva
los cuales incluyen mas conceptos importantes
hay que tomar muy en cuenta los alcances y limitaciones de las tecnologias utilizadas
Etapas de Pruebas
- Pruebas de Modulo o unitarias.- se realizan pruebas modulo por modulo
- Pruebas de Integracion.- se realizan pruebas al integrar un modulo con otro
- Pruebas de Funcion.-se realizan pruebas de si el software hace lo que dice que hace
- Pruebas de Rendimiento.- si el software soporta distintos tipos de estres
- Pruebas de Aceptacion.- las pruebas las realiza el stakeholder
- Pruebas de Instalacion.- en que sistemas operativos es compatible, que tipo de componentes son requeridos para un buen funcionamiento, etc. etc. etc. para que el sistema funcione de manera eficiente
Principios de las pruebas
- no son posibles las pruebas exhaustivas, no es posible hacer una prueba general de todo
- las pruebas deberian ser realizadas por un equipo independiente fuera de los que lo desarrollaron
fuentes: Pautas para metodologias agiles