Download - Construccion y Pruebas de Software
![Page 1: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/1.jpg)
Construcción y Pruebas del Software
UNIVERSIDAD DE CARABOBO
Facultad de Ciencias y Tecnología
Curso de Ingeniería del Software
Presentación elaborada por: Bazán, G., Rosas, F.
![Page 2: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/2.jpg)
Agenda
Introducción.
Construcción del Software. • ¿Que es la construcción del software. • Relación con otras áreas del conocimiento. • Tópicos en la construcción de software. • Gerencia del proceso de construcción. • Consideraciones practicas.
![Page 3: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/3.jpg)
Agenda
Pruebas del Software. • Validación y Revisión. • Analizar y revisar. • Pruebas de desarrollo.
• Test-driven Development. • Pruebas de lanzamiento.
• Pruebas de usuario.
![Page 4: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/4.jpg)
Agenda
Conclusiones. Bibliografía.
![Page 5: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/5.jpg)
Introducción
![Page 6: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/6.jpg)
¿Que es la construcción del Software?
El termino Software Construction
(Construcción del software) se refiere a la
creación de software productivo y
significativo a través de los procesos de
codificación, verificación, pruebas unitarias,
pruebas de integración y depuración de
errores.
![Page 7: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/7.jpg)
Relaciones con:
• El área de diseño.
• El área de pruebas.
• El área de manejo de configuraciones. • El área de herramientas y métodos.
• El área de calidad.
![Page 8: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/8.jpg)
Relación con el diseño
• Sus salidas son procesadas durante el proceso de construcción.
• Puede ser una actividad del proceso de construcción.
![Page 9: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/9.jpg)
Relación con las pruebas
• Las salidas de la construcción son sometida a un conjunto de pruebas no especificas.
• El proceso de pruebas puede formar parte en el proceso de construcción en forma de actividad.
“Las 'Pruebas' son escepticismo organizado.”
– James Bach
![Page 10: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/10.jpg)
Relación con la G. Configuraciones
Se encarga de manejar el conjunto de ítems producidos en el proceso de construcción.
![Page 11: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/11.jpg)
Relación con la Calidad
En el proceso de codificación se aplican criterios calidad en aras de incrementar la calidad del software.
![Page 12: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/12.jpg)
Relación con herramientas y métodos:
La construcción del software es el área que hace el uso más intensivo de las herramientas y métodos.
![Page 13: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/13.jpg)
Tópicos en la construcción de Software
• Minimizar la complejidad.
• Anticipar los cambios. • Construir teniendo en cuenta la verificación.
• Construir usando estándares.
“El propósito de la ingeniería del software es controlar la complejidad, no crearla”
Pamela Zave
![Page 14: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/14.jpg)
Minimizar la complejidad
• ¿Como reducir la complejidad al construir un software?
• Escribiendo código sencillo y leíble más que inteligente.
• Aplicando el uso de estándares.
“Programar puede ser divertido, la criptografía también; sin embargo no deberían ser combinadas.”
Kreitzberg and Shneiderman.
![Page 15: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/15.jpg)
Anticipación al cambio
• ¿Que se puede hacer ante el cambio?
• ¿Temer? • ¿Resignarse?
• ¿Aplicar gestión del cambio?
“No hay nada permanente excepto el cambio”
Heráclito de Éfeso
![Page 16: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/16.jpg)
Uso de Estándares
• ¿En que pueden afectar?
• Lenguajes de programación.
• Métodos de comunicación. • Plataformas.
• Herramientas.
“El buen juicio viene de la experiencia, y la experiencia viene del mal juicio”
Frederick. P. Brooks
![Page 17: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/17.jpg)
Gerencia de la construcción
• Modelos de construcción.
• Planificación de la construcción.
• Medición de la construcción.
“Los buenos programadores usan el cerebro pero los buenos lineamientos nos salvan de pensar tanto.”
Francis Glassborow
![Page 18: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/18.jpg)
Consideraciones practicas
• Diseño de la construcción.
• Lenguajes de construcción.
• Codificación. • Pruebas.
• Re-utilización.
• Calidad en la construcción.
Si hablamos otro idioma, podríamos percibir un mundo diferente. Wittgenstein
![Page 19: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/19.jpg)
Pruebas de Software
![Page 20: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/20.jpg)
• Demostrar al desarrollador y al cliente que el software alcanza sus requisitos.
• Descubrir situaciones donde el
comportamiento del software es
incorrecto, indeseable o no esta ajustado a las especificaciones
Pruebas de Software
“Las pruebas pueden ser usadas para mostrar la presencia de errores, pero nunca para mostrar su ausencia.”
Edsger Dijkstra.
![Page 21: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/21.jpg)
Pruebas de Software
• Las pruebas forman parte de un proceso mayor llamado verificación y validación.
• Validación: ¿Estamos construyendo el producto correcto?
• Verificación: ¿Estamos construyendo bien el producto?
![Page 22: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/22.jpg)
Revisiones de Software
Analizar y revisar:
• Los requerimientos de sistema
• Los modelos de diseño
• El código fuente
• Las pruebas propuestas
![Page 23: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/23.jpg)
Pruebas de Desarrollo
“Nunca cometo errores estúpidos, solo cometo los inteligentes”.
John Peel.
![Page 24: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/24.jpg)
Pruebas de Desarrollo
• Pruebas Unitarias.
• Pruebas de Componentes.
• Pruebas de Sistema.
![Page 25: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/25.jpg)
Pruebas Unitarias
• Las pruebas unitarias son aquellas pruebas en donde las partes individuales del programa u los objetos de las clases son probadas.
• Estas pruebas se deben enfocar en probar las funcionalidades de objetos o métodos.
![Page 26: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/26.jpg)
Pruebas Unitarias
Prueba para validar un Like sin objeto asociado.
Validaciones necesarias en el modelo.
![Page 27: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/27.jpg)
Pruebas de Componentes
• Las pruebas de componentes son aquellas pruebas en donde varias pruebas unitarias son integradas para crear componentes compuestos.
• Estas pruebas deben enfocarse en probar las interfaces de los componentes.
![Page 28: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/28.jpg)
Pruebas de Componentes
Interacción entre un Like y un Articulo.
![Page 29: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/29.jpg)
Pruebas de Sistema
Las pruebas de sistema son aquellas pruebas en donde algunos o todos los componentes en un sistema son integrados, probando el sistema como un todo. Estas pruebas se enfocan en probar las interacciones de los componentes.
![Page 30: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/30.jpg)
Pruebas de Sistema
Prueba automatizada del sistema.
![Page 31: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/31.jpg)
Test-Driven Development
Ken Beck es quien en 2002 replantea ciertos procesos de XP como TDD
![Page 32: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/32.jpg)
Test-driven development
Beneficios:
•Cobertura del código.
•Pruebas de regresión.
•Debugging simplificado.
•Documentación del sistema.
![Page 33: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/33.jpg)
Pruebas de lanzamiento
• Pruebas basadas en requerimientos. • Pruebas de escenario.
• Pruebas de rendimiento.
![Page 34: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/34.jpg)
• Pruebas Alfa.
• Pruebas Beta.
• Prueba de aceptación.
Pruebas de usuario
![Page 35: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/35.jpg)
• Construir Productos de Calidad • Emplear las mejores practicas
• Seguir Estándares • Validar
• Verificar
Conclusiones
![Page 36: Construccion y Pruebas de Software](https://reader033.vdocuments.co/reader033/viewer/2022051112/55a3d7c81a28abca448b46e2/html5/thumbnails/36.jpg)
Bibliografía
Beck, K. (2002). Test Driven Development: By Example. Addison-Wesley
Longman.
Chelimsky, D., Astels, D., Dennis, Z., Hellesøy, A., Helmkamp, B., & North, D.
(2010). The RSpec Book. The Pragmatic Programmers LLC.
IEE Computer Society. (2004 ). Guide to the Software Engineering Body of
Knowledge (SWEBOK).
North, D. (2006). DanNorth.net. Recuperado el 14 de Junio de 2012, de
Introducing BDD: http://dannorth.net/introducing-bdd/
Sommerville, I. (2010). Ingeniería del software. Adison Wesley.