Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

MEJORANDO LA CALIDAD DEL SOFTWARE

548 Aufrufe

Veröffentlicht am

En esta presentación explico por que y como debemos mejorar la calidad del software.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

MEJORANDO LA CALIDAD DEL SOFTWARE

  1. 1. Escuela Profesional de Ingeniería de Sistemas PRUEBAS UNITARIAS PARA MEJORAR LA CALIDAD DEL SOFTWARE Eric Gustavo Coronel Castillo gcoronelc.blogspot.pe gcoronelc@gmail.com
  2. 2. Logro Esperado Se espera que el participante entienda sobre la necesidad de aplicar buenas practicas y pruebas de unitarias en el programación de software para lograr desarrollar productos que realmente agreguen valor a la empresa.
  3. 3. Temas ▪ Planificaciones demasiado optimistas ▪ Cuál debe ser nuestro objetivo? ▪ Por qué usar una Metodología de Desarrollo de Software ▪ En la Programación ▪ Pruebas de Software
  4. 4. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones Demasiado Optimistas La Casa de Fido – Modelado simple – Proceso simple – Herramientas simple
  5. 5. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas Lo que realmente se quiere construir es mucho mas complejo.
  6. 6. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No se entiende cuáles son las necesidades de los clientes.
  7. 7. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No definimos correctamente el alcance de los requerimientos.
  8. 8. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No hay tiempo, no hay recursos y tampoco hay presupuesto para probar el software antes de enviarlo a producción. No debemos ser: "cowboy coding"
  9. 9. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo?
  10. 10. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Programadores que se sientan felices con lo que hacen.
  11. 11. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Crear software bien estructurado, aplicando estándares y buenas prácticas.
  12. 12. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Otro problema es el mantenimiento que se debe hacer posteriormente.
  13. 13. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? El desarrollo de software ha evolucionado. El código es algo vivo, evoluciona con el programador.
  14. 14. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software METODOLOGIA Conjunto de procedimientos racionales utilizados para alcanzar el objetivo. METODOLOGIA DE DESARROLLO Conjunto de procedimientos, técnicas, herramientas y soporte documental que deben seguirse para el desarrollo del software.
  15. 15. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  16. 16. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software Es una metodología cuyo fin es entregar un producto de software. Es un proceso de desarrollo de software el cual utiliza el lenguaje unificado de modelado UML. Constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. RUP es un conjunto de metodologías adaptables al contexto y necesidades de cada organización. R U P
  17. 17. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software Principales características • Forma disciplinada de asignar tareas y responsabilidades (quién hace qué, cuándo y cómo) • Pretende implementar las mejores prácticas en Ingeniería de Software • Desarrollo iterativo • Administración de requisitos • Uso de arquitectura basada en componentes • Control de cambios • Modelado visual del software • Verificación de la calidad del software R U P
  18. 18. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  19. 19. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  20. 20. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Si tienes un requerimiento, para solucionarlo debes implementar uno o varios servicios. PROYECTO Requerimientos a resolver
  21. 21. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios PROYECTO Requerimientos a resolver ✓ Requerimiento 1 ✓ Requerimiento 2 ✓ Requerimiento 3 ✓ . . . ✓ . . . ✓ Requerimiento n
  22. 22. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Conjunto de servicios relacionados. Librería, clase o componente Si tienes un requerimiento, para solucionarlo debes implementar uno o varios servicios.
  23. 23. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios servicioinput El imput puede ser varios datos. El servicio se implementa como un método de un objeto. output El output es uno solo, que puede ser simple o estructurado, como por ejemplo un objeto, un arreglo, una colección, etc.
  24. 24. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios
  25. 25. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Conjunto de servicios relacionados. Componente 1 Conjunto de servicios relacionados. Componente 2
  26. 26. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Componente de Servicios Servicio 1 Servicio 2 Servicio n
  27. 27. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Componente de Servicios Servicio 1 Servicio 2 Servicio n
  28. 28. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Servidor de Componentes Aplicación de Escritorio Aplicación Web Servicio Web Aplicaciones De Terceros
  29. 29. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios SOLID
  30. 30. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios KISS En la simplicidad está la belleza y la eficacia.
  31. 31. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios DRY
  32. 32. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  33. 33. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  34. 34. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  35. 35. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  36. 36. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación
  37. 37. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software ¿Por qué debo probar mi código?
  38. 38. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas unitarias Pruebas de Integración Pruebas de Sistemas Pruebas de Regresión Pruebas de Aceptación Podemos definir una Prueba de Unidad como un método de evaluación de una parte de un sistema, es decir, de un módulo de nuestro producto software. Son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias y lo que prueban es que todos los elementos unitarios que componen el software funcionen juntos correctamente probándolos en grupo. Evalúan el sistema en su conjunto. El objetivo de este tipo de pruebas es comprobar que se cumplen los requisitos funcionales y las especificaciones técnicas del software. Las Pruebas de Regresión sólo son aplicables cuando existen versiones previas del sistema. Las Pruebas de Aceptación evalúan que el sistema cumple con los requisitos del cliente.
  39. 39. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas Unitarias Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o método de nuestro código está funcionando según esperamos.
  40. 40. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas Unitarias Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o método de nuestro código está funcionando según esperamos.
  41. 41. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo
  42. 42. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  43. 43. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  44. 44. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  45. 45. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  46. 46. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  47. 47. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo

×