SlideShare une entreprise Scribd logo
1  sur  10
TEMA: TÉCNICAS DE PRUEBAS DE SOFTWARE
INTEGRANTES:
• BYRON GAVILANEZ
• JAIRO SIMBAÑA
• PATRICIO TELLO
• DARWIN VERDEZOTO
PRUEBA UNITARIA
• Una prueba unitaria es una forma de comprobar el correcto
funcionamiento de una unidad de código. Por ejemplo en
diseño estructurado o en diseño funcional una función o un
procedimiento, en diseño orientado a objetos una clase.
• Esto sirve para asegurar que cada unidad funcione
correctamente y eficientemente por separado.
Características
• Unitaria, prueba solamente pequeñas cantidades de código.
• Independiente, no debe depender ni afectar a otras pruebas
unitarias.
• Prueba métodos públicos, de otra forma la prueba sería frágil a
cambios en la implementación y no se podría utilizar en
pruebas de regresión.
• Automatizable, la prueba no debería requerir intervención
manual.
• Repetible y predecible, no debe incidir el orden y las veces que
se repita la prueba, el resultado siempre debe ser el mismo.
• Profesionales, las pruebas deben ser consideradas igual que el
código, con la misma profesionalidad, documentación, etc.
Ventajas
El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son
correctas. Proporcionan un contrato escrito que el trozo de código debe satisfacer. Estas pruebas aisladas
proporcionan cinco ventajas básicas:
Fomentan el cambio
Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura (lo que se
ha dado en llamar refactorización), puesto que permiten hacer pruebas sobre los cambios y así asegurarse
de que los nuevos cambios no han introducido errores.
Simplifica la integración
Puesto que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está
funcionando correctamente. De esta manera se facilitan las pruebas de integración.
Documenta el código
Las propias pruebas son documentación del código, puesto que ahí se puede ver cómo utilizarlo.
Separación de la interfaz y la implementación
Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de
estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos
maquetados (mock object - maqueta) que habilitan de forma aislada (unitaria) el comportamiento de
objetos complejos.
Los errores están más acotados y son más fáciles de localizar
Dado que tenemos pruebas unitarias que pueden desenmascararlos.
DESVENTAJAS
•No descubrirán todos los defectos del código.
•No permite determinar problemas de integración o
desempeño.
•No es trivial anticipar todos los casos especiales de
entradas.
•Las pruebas unitarias determinan la presencia de
defectos, no la ausencia de éstos. Son efectivas al
combinarse con otras actividades de pruebas.
CONSIDERACIONES
• Como en la adopción de cualquier otra disciplina, la incorporación de pruebas
unitarias no está exenta de problemas o limitaciones, a continuación se enumeran
algunas consideraciones a tener en cuenta:
• Por estar orientada a la prueba de fragmentos de código aislados, la pruebas
unitarias no descubrirán errores de integración, problemas de rendimiento y otros
problemas que afectan a todo el sistema en su conjunto.
• En alguno casos será complicado anticipar inicialmente cuales son los valores de
entradas adecuados para las pruebas, en esos casos las pruebas deberán evolucionar
e ir incorporando valores de entrada representativos.
• Si la utilización de pruebas unitarias no se incorpora como parte de la metodología
de trabajo, probablemente, el código quedará fuera de sincronismo con los casos de
prueba.
• Otro desafío es el desarrollo de casos de prueba realistas y útiles. Es necesario crear
condiciones iniciales para que la porción de aplicación que está siendo probada
funcione como parte completa del sistema al que pertenece.
• Escribir código para un caso de pruebas unitario tiene tantas probabilidades de estar
libre de errores como el mismo código que se está probando.
LIMITACIONES
• Es importante darse cuenta de que las pruebas unitarias no
descubrirán todos los errores del código.
• Algunos enfoques se basan en la generación aleatoria de objetos
para amplificar el alcance de las pruebas de unidad. Esta técnica se
conoce como testing aleatorio (RT, por random testing). Por
definición, sólo prueban las unidades por sí solas. Por lo tanto, no
descubrirán errores de integración, problemas de rendimiento y otros
problemas que afectan a todo el sistema en su conjunto. Además,
puede no ser trivial anticipar todos los casos especiales de entradas
que puede recibir en realidad la unidad de programa bajo estudio.
Las pruebas unitarias sólo son efectivas si se usan en conjunto con
otras pruebas de software.
Por qué necesitamos pruebas unitarias
• Uno de los beneficios más importantes de las Pruebas Unitarias es
que el programador adquiere la confianza de que su código trabaja
como se espera que funcione.
• Hay varias razones para hacer las pruebas unitarias, por ejemplo:
• Aumenta la confianza en el cambio / mantenimiento de código. Si se
escriben buenas pruebas unitarias, y se ejecutan cada vez que
cambia el código, podremos averiguar inmediatamente cualquier
defecto introducido debido al cambio.
• Los códigos son más reutilizables. Para hacer posibles las pruebas
unitarias, hay que modular. Esto significa que los códigos son más
fáciles de reutilizar.
• Desarrollo es más rápido.
• Los códigos son más confiables.
• Fácil de automatizar.
Crear una clase [Operaciones Básicas] para trabajar
• Uno de los principios fundamentales de la unidad de prueba es
seguir TDD (Test Driven Development) que indica que tenemos
que escribir las pruebas primero y luego escribir el código más
simple que la prueba pasa.
• A continuación se muestra una clase muy sencilla.
• La clase tiene cuatro operaciones, sumar, restar, multiplicar, dividir.
Cada una de las funciones tiene dos parámetros numéricos de tipo
Doublé.

Contenu connexe

Tendances

Prueba De La Estructura De Control
Prueba De La Estructura De ControlPrueba De La Estructura De Control
Prueba De La Estructura De ControlErma Chamba
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)Luis R Castellanos
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas AutomatizadasAngel Nuñez
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 
Fase De Pruebas Angel Chucho
Fase De Pruebas Angel ChuchoFase De Pruebas Angel Chucho
Fase De Pruebas Angel Chuchoangel.carvajal
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareclean88
 
Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del softwareChava Romero Aguilar
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Paulo Clavijo
 

Tendances (20)

Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 
Prueba De La Estructura De Control
Prueba De La Estructura De ControlPrueba De La Estructura De Control
Prueba De La Estructura De Control
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Pruebas de estres
Pruebas de estresPruebas de estres
Pruebas de estres
 
Las mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de softwareLas mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de software
 
Pruebas del software
Pruebas del softwarePruebas del software
Pruebas del software
 
Fase De Pruebas Angel Chucho
Fase De Pruebas Angel ChuchoFase De Pruebas Angel Chucho
Fase De Pruebas Angel Chucho
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de software
 
Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del software
 
Prueba software orientado a objetos
Prueba software orientado a objetosPrueba software orientado a objetos
Prueba software orientado a objetos
 
Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4
 
Calidad del software cap2
Calidad del software   cap2Calidad del software   cap2
Calidad del software cap2
 
Pruebas
PruebasPruebas
Pruebas
 
Prueba
PruebaPrueba
Prueba
 
Caja blanca
Caja blancaCaja blanca
Caja blanca
 

Similaire à Pruebas unitarias 7mo -b (20)

Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdf
 
Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Exposición software.pptx
Exposición software.pptxExposición software.pptx
Exposición software.pptx
 
Exposición software.pptx
Exposición software.pptxExposición software.pptx
Exposición software.pptx
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
Practicas técnicas
Practicas técnicasPracticas técnicas
Practicas técnicas
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Validar las soluciones propuestas.pptx
Validar las soluciones propuestas.pptxValidar las soluciones propuestas.pptx
Validar las soluciones propuestas.pptx
 
U2T4 - Pruebas del Software
U2T4 - Pruebas del SoftwareU2T4 - Pruebas del Software
U2T4 - Pruebas del Software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Prubea de software
Prubea de softwarePrubea de software
Prubea de software
 
S5-CDSQA.pptx
S5-CDSQA.pptxS5-CDSQA.pptx
S5-CDSQA.pptx
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptx
 
Pruebas del software
Pruebas del softwarePruebas del software
Pruebas del software
 

Dernier

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 

Dernier (20)

libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 

Pruebas unitarias 7mo -b

  • 1. TEMA: TÉCNICAS DE PRUEBAS DE SOFTWARE INTEGRANTES: • BYRON GAVILANEZ • JAIRO SIMBAÑA • PATRICIO TELLO • DARWIN VERDEZOTO
  • 2. PRUEBA UNITARIA • Una prueba unitaria es una forma de comprobar el correcto funcionamiento de una unidad de código. Por ejemplo en diseño estructurado o en diseño funcional una función o un procedimiento, en diseño orientado a objetos una clase. • Esto sirve para asegurar que cada unidad funcione correctamente y eficientemente por separado.
  • 3. Características • Unitaria, prueba solamente pequeñas cantidades de código. • Independiente, no debe depender ni afectar a otras pruebas unitarias. • Prueba métodos públicos, de otra forma la prueba sería frágil a cambios en la implementación y no se podría utilizar en pruebas de regresión. • Automatizable, la prueba no debería requerir intervención manual. • Repetible y predecible, no debe incidir el orden y las veces que se repita la prueba, el resultado siempre debe ser el mismo. • Profesionales, las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.
  • 4. Ventajas El objetivo de las pruebas unitarias es aislar cada parte del programa y mostrar que las partes individuales son correctas. Proporcionan un contrato escrito que el trozo de código debe satisfacer. Estas pruebas aisladas proporcionan cinco ventajas básicas: Fomentan el cambio Las pruebas unitarias facilitan que el programador cambie el código para mejorar su estructura (lo que se ha dado en llamar refactorización), puesto que permiten hacer pruebas sobre los cambios y así asegurarse de que los nuevos cambios no han introducido errores. Simplifica la integración Puesto que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente. De esta manera se facilitan las pruebas de integración. Documenta el código Las propias pruebas son documentación del código, puesto que ahí se puede ver cómo utilizarlo. Separación de la interfaz y la implementación Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro, a veces usando objetos maquetados (mock object - maqueta) que habilitan de forma aislada (unitaria) el comportamiento de objetos complejos. Los errores están más acotados y son más fáciles de localizar Dado que tenemos pruebas unitarias que pueden desenmascararlos.
  • 5. DESVENTAJAS •No descubrirán todos los defectos del código. •No permite determinar problemas de integración o desempeño. •No es trivial anticipar todos los casos especiales de entradas. •Las pruebas unitarias determinan la presencia de defectos, no la ausencia de éstos. Son efectivas al combinarse con otras actividades de pruebas.
  • 6. CONSIDERACIONES • Como en la adopción de cualquier otra disciplina, la incorporación de pruebas unitarias no está exenta de problemas o limitaciones, a continuación se enumeran algunas consideraciones a tener en cuenta: • Por estar orientada a la prueba de fragmentos de código aislados, la pruebas unitarias no descubrirán errores de integración, problemas de rendimiento y otros problemas que afectan a todo el sistema en su conjunto. • En alguno casos será complicado anticipar inicialmente cuales son los valores de entradas adecuados para las pruebas, en esos casos las pruebas deberán evolucionar e ir incorporando valores de entrada representativos. • Si la utilización de pruebas unitarias no se incorpora como parte de la metodología de trabajo, probablemente, el código quedará fuera de sincronismo con los casos de prueba. • Otro desafío es el desarrollo de casos de prueba realistas y útiles. Es necesario crear condiciones iniciales para que la porción de aplicación que está siendo probada funcione como parte completa del sistema al que pertenece. • Escribir código para un caso de pruebas unitario tiene tantas probabilidades de estar libre de errores como el mismo código que se está probando.
  • 7. LIMITACIONES • Es importante darse cuenta de que las pruebas unitarias no descubrirán todos los errores del código. • Algunos enfoques se basan en la generación aleatoria de objetos para amplificar el alcance de las pruebas de unidad. Esta técnica se conoce como testing aleatorio (RT, por random testing). Por definición, sólo prueban las unidades por sí solas. Por lo tanto, no descubrirán errores de integración, problemas de rendimiento y otros problemas que afectan a todo el sistema en su conjunto. Además, puede no ser trivial anticipar todos los casos especiales de entradas que puede recibir en realidad la unidad de programa bajo estudio. Las pruebas unitarias sólo son efectivas si se usan en conjunto con otras pruebas de software.
  • 8. Por qué necesitamos pruebas unitarias • Uno de los beneficios más importantes de las Pruebas Unitarias es que el programador adquiere la confianza de que su código trabaja como se espera que funcione. • Hay varias razones para hacer las pruebas unitarias, por ejemplo: • Aumenta la confianza en el cambio / mantenimiento de código. Si se escriben buenas pruebas unitarias, y se ejecutan cada vez que cambia el código, podremos averiguar inmediatamente cualquier defecto introducido debido al cambio. • Los códigos son más reutilizables. Para hacer posibles las pruebas unitarias, hay que modular. Esto significa que los códigos son más fáciles de reutilizar. • Desarrollo es más rápido. • Los códigos son más confiables. • Fácil de automatizar.
  • 9. Crear una clase [Operaciones Básicas] para trabajar • Uno de los principios fundamentales de la unidad de prueba es seguir TDD (Test Driven Development) que indica que tenemos que escribir las pruebas primero y luego escribir el código más simple que la prueba pasa.
  • 10. • A continuación se muestra una clase muy sencilla. • La clase tiene cuatro operaciones, sumar, restar, multiplicar, dividir. Cada una de las funciones tiene dos parámetros numéricos de tipo Doublé.