¿Porqué son importantes las Pruebas de Software?
-
Upload
jose-diaz -
Category
Technology
-
view
506 -
download
0
description
Transcript of ¿Porqué son importantes las Pruebas de Software?
![Page 1: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/1.jpg)
Pruebas del SistemaPruebas del SistemaJOEDAYZ, Noviembre 2013JOEDAYZ, Noviembre 2013
![Page 2: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/2.jpg)
Acerca deAcerca de
Ing. José Amadeo Martin Díaz DíazIng. José Amadeo Martin Díaz Díaz
CEO JoeDayz.pe & Docente en EPE UPCCEO JoeDayz.pe & Docente en EPE UPC
Formación Formación
BlueStar Energy (2007)BlueStar Energy (2007)
Bristol Myers Squibb (2006)Bristol Myers Squibb (2006)
Trans Solutions Systems (2003 - 2005)Trans Solutions Systems (2003 - 2005)
Telefonica Servicios Internet (2000 - 2002)Telefonica Servicios Internet (2000 - 2002)
Egresado de la Pontificia Universidad Católica del Perú (1994 - 2000)Egresado de la Pontificia Universidad Católica del Perú (1994 - 2000)
@jamdiazdiaz@jamdiazdiaz
![Page 3: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/3.jpg)
¿Por que son ¿Por que son importantes las importantes las pruebas?pruebas?
![Page 4: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/4.jpg)
Usuarios contentos con nuestro trabajoUsuarios contentos con nuestro trabajo
![Page 5: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/5.jpg)
¿Por que son ¿Por que son importantes las importantes las pruebas?pruebas?
![Page 6: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/6.jpg)
Usuarios insatisfechosUsuarios insatisfechos
![Page 7: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/7.jpg)
¿Cual debe ser nuestra ¿Cual debe ser nuestra preocupación?preocupación?
![Page 8: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/8.jpg)
Que el software funcione Que el software funcione o tendremos este tipo de o tendremos este tipo de
respuestarespuesta
![Page 9: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/9.jpg)
El tiempo La calidad vale mas que el dinero El tiempo La calidad vale mas que el dinero
![Page 10: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/10.jpg)
Tiempo de Respuesta adecuadoTiempo de Respuesta adecuado
![Page 11: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/11.jpg)
¿Y que pruebas debo ¿Y que pruebas debo hacer?hacer?
![Page 12: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/12.jpg)
Mínimo XP-PruebasMínimo XP-PruebasXP: Extreme ProgrammingXP: Extreme Programming
Pruebas de unidad para todoPruebas de unidad para todo
Pruebas de integraciónPruebas de integración
Deben funcionar todas las pruebas antes de Deben funcionar todas las pruebas antes de liberarliberar
Si surge un error (bug), deben escribirse las Si surge un error (bug), deben escribirse las pruebas para replicarlo. pruebas para replicarlo. Un bug es una prueba Un bug es una prueba que olvidamos escribirque olvidamos escribir
![Page 13: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/13.jpg)
Pruebas unitariasPruebas unitarias
Se prueban los componentes aisladosSe prueban los componentes aislados
Generalmente se usan Mocks o StubsGeneralmente se usan Mocks o Stubs
Se usan verificaciones “asserts” para probarSe usan verificaciones “asserts” para probar
Son confundidas con Pruebas de IntegraciónSon confundidas con Pruebas de Integración
Pruebas de caja blancaPruebas de caja blanca
![Page 14: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/14.jpg)
![Page 15: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/15.jpg)
Pruebas de integraciónPruebas de integración
Sirven para probar los componentes Sirven para probar los componentes involucrados en un flujoinvolucrados en un flujo
Validan el trabajo de varios desarrolladoresValidan el trabajo de varios desarrolladores
Pruebas de caja negraPruebas de caja negra
Puede ser automatizados, simulan la Puede ser automatizados, simulan la interacción con el usuario interacción con el usuario
![Page 16: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/16.jpg)
![Page 17: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/17.jpg)
Pruebas de RendimientoPruebas de RendimientoSirven para verificar el comportamiento de una Sirven para verificar el comportamiento de una aplicación baja una demanda excesivaaplicación baja una demanda excesiva
Se genera una gran cantidad de peticiones a la Se genera una gran cantidad de peticiones a la aplicación y verificar su comportamiento.aplicación y verificar su comportamiento.
De esta manera podemos garantizar el numero de De esta manera podemos garantizar el numero de peticiones peticiones aproximadoaproximado bajo las cuales la bajo las cuales la aplicación, servidor, interacción con otros aplicación, servidor, interacción con otros aplicativos, etc. aplicativos, etc. es normales normal
Sugerencia: Sugerencia: Entorno similar a ProducciónEntorno similar a Producción
![Page 18: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/18.jpg)
![Page 19: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/19.jpg)
Pruebas FuncionalesPruebas Funcionales
Prueba basada en la ejecución, revisión y Prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades retroalimentación de las funcionalidades previamente diseñadas para el softwarepreviamente diseñadas para el software
Se hacen mediante modelos de prueba que Se hacen mediante modelos de prueba que buscan evaluar cada una de las opciones con las buscan evaluar cada una de las opciones con las que cuenta el softwareque cuenta el software
Son concretas, especificas y exhaustivas para Son concretas, especificas y exhaustivas para probar y validar que el software hace lo que debe probar y validar que el software hace lo que debe y sobretodo, lo que se ha especificado.y sobretodo, lo que se ha especificado.
![Page 20: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/20.jpg)
Prueba de aceptaciónPrueba de aceptación
Es un escenario de utilización del sistema y el Es un escenario de utilización del sistema y el comportamiento que de él se esperacomportamiento que de él se espera
Visto desde la perspectiva del cliente, usuario o Visto desde la perspectiva del cliente, usuario o sistema externo que interactúa con el sistema externo que interactúa con el programa. programa.
Estas pruebas permiten Validar el ProductoEstas pruebas permiten Validar el Producto. . Mientras que las pruebas unitarias y de Mientras que las pruebas unitarias y de integración permiten Verificar el Producto.integración permiten Verificar el Producto.
![Page 21: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/21.jpg)
![Page 22: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/22.jpg)
Pruebas de calidad de Pruebas de calidad de códigocódigo
Para garantizar que la calidad del código es realmente Para garantizar que la calidad del código es realmente óptima y que la probabilidad de tener errores o bugs en la óptima y que la probabilidad de tener errores o bugs en la codificación es mínima (nunca dejaran de existir pero se codificación es mínima (nunca dejaran de existir pero se busca disminuir la probabilidad)busca disminuir la probabilidad)
Cobertura: % de código desarrollado y probado por Cobertura: % de código desarrollado y probado por pruebas unitariaspruebas unitarias
Análisis de lineas de código: evitar código repetido, que % Análisis de lineas de código: evitar código repetido, que % esta documentado, comentadoesta documentado, comentado
Complejidad: acorde a la implementación ciclomática de Complejidad: acorde a la implementación ciclomática de McCabe.McCabe.
![Page 23: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/23.jpg)
Pruebas de calidad de Pruebas de calidad de códigocódigo
Diseño de ClasesDiseño de Clases
Violaciones de CalidadViolaciones de Calidad
SonarSonar
![Page 24: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/24.jpg)
CheckstyCheckstylele
FindBuFindBugsgs
![Page 25: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/25.jpg)
Impacto de las pruebasImpacto de las pruebas
El tener una buena batería de pruebas nos El tener una buena batería de pruebas nos permite entre otras cosas:permite entre otras cosas:
Validar nuestros requerimientosValidar nuestros requerimientos
Medir el impacto de los refactoringsMedir el impacto de los refactorings
Documenta el proyectoDocumenta el proyecto
Permite mejorar el diseñoPermite mejorar el diseño
![Page 26: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/26.jpg)
Faltan mas pruebasFaltan mas pruebas
Pruebas de SistemaPruebas de Sistema
Pruebas de Integración de SistemaPruebas de Integración de Sistema
Pruebas no funcionalesPruebas no funcionales
Entre otrasEntre otras
![Page 27: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/27.jpg)
Automatización de Automatización de pruebaspruebas
Usamos JENKIS para el build del proyectoUsamos JENKIS para el build del proyecto
Las pruebas deben ser Las pruebas deben ser
RepetiblesRepetibles
AutónomasAutónomas
De ejecución rápidaDe ejecución rápida
![Page 28: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/28.jpg)
Integración continuaIntegración continua
Es el proceso de que cada cierto tiempo o cambio en el Es el proceso de que cada cierto tiempo o cambio en el código (commit en el repositorio), se construye el código (commit en el repositorio), se construye el proyecto automáticamenteproyecto automáticamente
Este proceso realiza:Este proceso realiza:
CompilaciónCompilación
Ejecución de pruebasEjecución de pruebas
Generación de ReportesGeneración de Reportes
Notificación de erroresNotificación de errores
![Page 29: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/29.jpg)
![Page 30: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/30.jpg)
![Page 31: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/31.jpg)
¿Sólo las pruebas ¿Sólo las pruebas ayudan?ayudan?
![Page 32: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/32.jpg)
by by @domix@domix
![Page 33: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/33.jpg)
Visual ManagementVisual Management
![Page 34: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/34.jpg)
Visual ManagementVisual Management
![Page 35: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/35.jpg)
ConclusionesConclusionesLas pruebas son parte del proceso que garantiza el éxito Las pruebas son parte del proceso que garantiza el éxito del producto. Son como los brazos del cuerpo humano. del producto. Son como los brazos del cuerpo humano. Pueden no estar, pero, son importantes para el todo.Pueden no estar, pero, son importantes para el todo.
La clave esta en la comunicación temprana de lo bueno y La clave esta en la comunicación temprana de lo bueno y lo malo o el efecto “bola de nieve” puede causar que el lo malo o el efecto “bola de nieve” puede causar que el proyecto fracaseproyecto fracase
Busque mantener a sus usuarios/clientes satisfechos con Busque mantener a sus usuarios/clientes satisfechos con su trabajosu trabajo
No se ponga en situaciones como la que viene a No se ponga en situaciones como la que viene a continuación…continuación…
![Page 36: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/36.jpg)
![Page 37: ¿Porqué son importantes las Pruebas de Software?](https://reader034.fdocuments.co/reader034/viewer/2022052622/5595a2191a28ab0f448b47e5/html5/thumbnails/37.jpg)
Ing. Jose Diaz Ing. Jose Diaz @jamdiazdiaz@jamdiazdiaz
www.joedayz.pewww.joedayz.pe
Noviembre 2013Noviembre 2013
GraciasGracias