SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
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
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.
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
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones Demasiado Optimistas
La Casa de Fido
– Modelado simple
– Proceso simple
– Herramientas simple
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
Lo que realmente se quiere construir es mucho mas complejo.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
No se entiende
cuáles son las
necesidades de los
clientes.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
No definimos
correctamente el
alcance de los
requerimientos.
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"
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Programadores que se
sientan felices con lo
que hacen.
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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Otro problema es el
mantenimiento que
se debe hacer
posteriormente.
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.
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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
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
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
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
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
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
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.
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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
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
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
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
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
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
SOLID
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
KISS
En la simplicidad está la
belleza y la eficacia.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
DRY
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón DAO
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón DAO
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón
MVC
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón
MVC
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
¿Por qué debo
probar mi código?
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.
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.
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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
NO APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
NO APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
MEJORANDO LA CALIDAD DEL SOFTWARE

Más contenido relacionado

La actualidad más candente

6 claves para un proyecto exitoso
6 claves para un proyecto exitoso6 claves para un proyecto exitoso
6 claves para un proyecto exitosoPablo Neumann
 
Java Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosJava Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosEric Gustavo Coronel Castillo
 
Analisis de codigo abierto
Analisis de codigo abiertoAnalisis de codigo abierto
Analisis de codigo abiertoMaestros Online
 
Edt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoEdt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoWalterJavierEsquivel
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IITensor
 
Liquid Day - DevOps y Xamarin
Liquid Day - DevOps y XamarinLiquid Day - DevOps y Xamarin
Liquid Day - DevOps y XamarinSoftware Guru
 
Edt wbs gestión de proyectos
Edt wbs gestión de proyectosEdt wbs gestión de proyectos
Edt wbs gestión de proyectosHildreth Villamil
 
Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT paredest14
 
Aseguramiento de la calidad del Software
Aseguramiento de la  calidad del SoftwareAseguramiento de la  calidad del Software
Aseguramiento de la calidad del SoftwareAmbarP
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-softwareCBISOE
 

La actualidad más candente (20)

proceso del software_2
proceso del software_2proceso del software_2
proceso del software_2
 
6 claves para un proyecto exitoso
6 claves para un proyecto exitoso6 claves para un proyecto exitoso
6 claves para un proyecto exitoso
 
Análisis/QA
Análisis/QAAnálisis/QA
Análisis/QA
 
Java Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosJava Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a Servicios
 
Buenas Prácticas en el Desarrollo de Software
Buenas Prácticas en el Desarrollo de SoftwareBuenas Prácticas en el Desarrollo de Software
Buenas Prácticas en el Desarrollo de Software
 
Analisis de codigo abierto
Analisis de codigo abiertoAnalisis de codigo abierto
Analisis de codigo abierto
 
Manual p6 avanzado-libre
Manual p6 avanzado-libreManual p6 avanzado-libre
Manual p6 avanzado-libre
 
Edt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoEdt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajo
 
Java Fundamentos 01 - Introducción
Java Fundamentos 01 - IntroducciónJava Fundamentos 01 - Introducción
Java Fundamentos 01 - Introducción
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
 
Liquid Day - DevOps y Xamarin
Liquid Day - DevOps y XamarinLiquid Day - DevOps y Xamarin
Liquid Day - DevOps y Xamarin
 
Edt wbs gestión de proyectos
Edt wbs gestión de proyectosEdt wbs gestión de proyectos
Edt wbs gestión de proyectos
 
Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT
 
Script psp
Script pspScript psp
Script psp
 
CALIDAD DE SOFTWARE
CALIDAD DE SOFTWARECALIDAD DE SOFTWARE
CALIDAD DE SOFTWARE
 
Buenas practicas para el desarrollo de software
Buenas practicas para el desarrollo de softwareBuenas practicas para el desarrollo de software
Buenas practicas para el desarrollo de software
 
05 estructura edt
05 estructura edt05 estructura edt
05 estructura edt
 
Aseguramiento de la calidad del Software
Aseguramiento de la  calidad del SoftwareAseguramiento de la  calidad del Software
Aseguramiento de la calidad del Software
 
Watch version 2007
Watch version 2007Watch version 2007
Watch version 2007
 
Aseguramiento control calidad-software
Aseguramiento control calidad-softwareAseguramiento control calidad-software
Aseguramiento control calidad-software
 

Similar a MEJORANDO LA CALIDAD DEL SOFTWARE

Sesión 2: El proceso del software
Sesión 2: El proceso del softwareSesión 2: El proceso del software
Sesión 2: El proceso del softwareLuis Fernández
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareCoesi Consultoria
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión GeneralRuth Hidalgo Tene
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión GeneralRuth Hidalgo Tene
 
Proceso del software una visión general
Proceso del software una visión generalProceso del software una visión general
Proceso del software una visión generalRuth Hidalgo Tene
 
Proceso del software
Proceso del softwareProceso del software
Proceso del softwareguest7886b8
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Softwareleo_ruth
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
Proceso del software
Proceso del softwareProceso del software
Proceso del softwareTensor
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdfChirmi1
 
Enfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareEnfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareJorge Bustillos
 
Lps y metodo watch (presentacion saia Deivis Guillen)
Lps y metodo watch (presentacion saia Deivis Guillen)Lps y metodo watch (presentacion saia Deivis Guillen)
Lps y metodo watch (presentacion saia Deivis Guillen)DeiviD' Guillén
 

Similar a MEJORANDO LA CALIDAD DEL SOFTWARE (20)

2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Sesión 2: El proceso del software
Sesión 2: El proceso del softwareSesión 2: El proceso del software
Sesión 2: El proceso del software
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión General
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión General
 
Proceso del software una visión general
Proceso del software una visión generalProceso del software una visión general
Proceso del software una visión general
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Ra.1..
Ra.1..Ra.1..
Ra.1..
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
RA.1.pdf
RA.1.pdfRA.1.pdf
RA.1.pdf
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
ROLES.pdf
ROLES.pdfROLES.pdf
ROLES.pdf
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdf
 
Enfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de softwareEnfoque estrategico para la prueba de software
Enfoque estrategico para la prueba de software
 
Lps y metodo watch (presentacion saia Deivis Guillen)
Lps y metodo watch (presentacion saia Deivis Guillen)Lps y metodo watch (presentacion saia Deivis Guillen)
Lps y metodo watch (presentacion saia Deivis Guillen)
 

Más de Eric Gustavo Coronel Castillo

EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEric Gustavo Coronel Castillo
 

Más de Eric Gustavo Coronel Castillo (20)

Java Web JSTL
Java Web JSTLJava Web JSTL
Java Web JSTL
 
Model View Controller - MVC
Model View Controller - MVCModel View Controller - MVC
Model View Controller - MVC
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web: Servlets
Java Web: ServletsJava Web: Servlets
Java Web: Servlets
 
Java Web - Presentación
Java Web - PresentaciónJava Web - Presentación
Java Web - Presentación
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONESJAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACESJAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
 
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIAJAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIA
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASEJAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
Cursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMYCursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMY
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
JAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONESJAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONES
 
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 
CONSULTAS BASICAS
CONSULTAS BASICASCONSULTAS BASICAS
CONSULTAS BASICAS
 

MEJORANDO LA CALIDAD DEL SOFTWARE

  • 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. 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones Demasiado Optimistas La Casa de Fido – Modelado simple – Proceso simple – Herramientas simple
  • 5. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas Lo que realmente se quiere construir es mucho mas complejo.
  • 6. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No se entiende cuáles son las necesidades de los clientes.
  • 7. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No definimos correctamente el alcance de los requerimientos.
  • 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo?
  • 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. 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. 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. 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 19. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 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. 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. 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios
  • 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. 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. 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios SOLID
  • 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios DRY
  • 32. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  • 33. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  • 34. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  • 35. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  • 36. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación
  • 37. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software ¿Por qué debo probar mi código?
  • 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. 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. 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. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo
  • 42. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  • 43. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  • 44. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 45. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 46. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 47. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo