SlideShare una empresa de Scribd logo
1 de 10
PRUEBA UNITARIA
QUÉ ES LA PRUEBA UNITARIA
 En programación, 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.
Además de verificar que el código hace lo que
tiene que hacer, verificamos que sea correcto el
nombre, los nombres y tipos de los
parámetros, el tipo de lo que se devuelve, que
si el estado inicial es válido, entonces el estado
final es válido también.
 La idea es escribir casos de prueba para cada
función no trivial o método en el módulo, de
forma que cada caso sea independiente del
resto. Luego, con las Pruebas de Integración, se
podrá asegurar el correcto funcionamiento del
MOTIVOS PARA REALIZAR UN TEST UNITARIO
 Las pruebas unitarias demuestran que la lógica del código está en buen estado y que funcionará
en todos los casos.
 Aumentan la legibilidad del código y ayudan a los desarrolladores a entender el código base, lo
que facilita hacer cambios más rápidamente.
 Los test unitarios bien realizados sirven como documentación del proyecto.
 Se realizan en pocos milisegundos, por lo que podrás realizar cientos de ellas en muy poco tiempo.
 Las unit testing permiten al desarrollador refactorizar el código más adelante y tener la garantía de
que el módulo sigue funcionando correctamente. Para ello se escriben casos de prueba para todas
las funciones y métodos, para que cada vez que un cambio provoque un error, sea posible
identificarlo y repararlo rápidamente.
 La calidad final del código mejorará ya que, al estar realizando pruebas de manera continua, al
finalizar el código será limpio y de calidad.
 Como las pruebas unitarias dividen el código en pequeños fragmentos, es posible probar distintas
partes del proyecto sin tener que esperar a que otras estén completadas.
CARACTERÍSTICAS
 Para que una prueba unitaria tenga la calidad suficiente se deben cumplir los siguientes requisitos:
 Automatizable: No debería requerirse una intervención manual. Esto es especialmente útil para
integración continua.
 Completas: Deben cubrir la mayor cantidad de código.
 Repetibles o Reutilizables: No se deben crear pruebas que sólo puedan ser ejecutadas una sola vez.
También es útil para integración continua.
 Independientes: La ejecución de una prueba no debe afectar a la ejecución de otra.
 Profesionales: Las pruebas deben ser consideradas igual que el código, con la misma profesionalidad,
documentación, etc.
 Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seguirlos o de lo
contrario las pruebas pierden parte de su función.
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 defectos.
 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.
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.
HERRAMIENTAS
PARA REALIZAR LAS
PRUEBAS
 Typemock: Entorno de pruebas para C++, C# y .NET - incluso
puedes probar el código legado con él.
 JUnit: Entorno de pruebas para Java creado por Erich Gamma y
Kent Beck. Se encuentra basado en SUnit creado originalmente
para realizar pruebas unitarias para el lenguaje Smalltalk.
 TestNG: Creado para suplir algunas deficiencias en JUnit.
 SimpleTest: Entorno de pruebas para aplicaciones realizadas en
PHP.
 PHPUnit: Sistema para la realización pruebas unitarias en PHP.
 CPPUnit: Versión del framework para lenguajes C/C++.
 NUnit: Versión del framework para la plataforma.NET.
 FoxUnit: Entorno OpenSource de pruebas unitarias para
Microsoft Visual FoxPro.
 MOQ: Entorno para la creación dinámica de objetos
simuladores (mocks).
JORGE JEFFER ROSENDO FELIX
#21

Más contenido relacionado

La actualidad más candente

Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerásloco8888
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
Clean code presentation
Clean code presentationClean code presentation
Clean code presentationBhavin Gandhi
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Top 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersTop 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersw3asp dotnet
 
Ejercicios de estructuras selectivas (resueltos)
Ejercicios de estructuras selectivas (resueltos)Ejercicios de estructuras selectivas (resueltos)
Ejercicios de estructuras selectivas (resueltos)Univerdad fermin toro
 
Tipos de variables en visual basic ejemplos
Tipos de variables en visual basic   ejemplosTipos de variables en visual basic   ejemplos
Tipos de variables en visual basic ejemplosCelia Hdez
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de usobelleta55
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HJosé Ricardo Tillero Giménez
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
 
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...AuditMark
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basicAlberto Vargas
 

La actualidad más candente (17)

Algoritmo divide y vencerás
Algoritmo divide y vencerásAlgoritmo divide y vencerás
Algoritmo divide y vencerás
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Clean code presentation
Clean code presentationClean code presentation
Clean code presentation
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Top 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answersTop 20 Asp.net interview Question and answers
Top 20 Asp.net interview Question and answers
 
Introduccion a Windows Form
Introduccion a Windows FormIntroduccion a Windows Form
Introduccion a Windows Form
 
Ejercicios de estructuras selectivas (resueltos)
Ejercicios de estructuras selectivas (resueltos)Ejercicios de estructuras selectivas (resueltos)
Ejercicios de estructuras selectivas (resueltos)
 
Tipos de variables en visual basic ejemplos
Tipos de variables en visual basic   ejemplosTipos de variables en visual basic   ejemplos
Tipos de variables en visual basic ejemplos
 
Modelado de casos de uso
Modelado de casos de usoModelado de casos de uso
Modelado de casos de uso
 
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez HGuía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
Guía 03. Ejercicios. Realización de consultas SQL - José J Sánchez H
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
Protecting JavaScript source code using obfuscation - OWASP Europe Tour 2013 ...
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Como crear una base de datos con visual basic
Como crear una base de datos con visual basicComo crear una base de datos con visual basic
Como crear una base de datos con visual basic
 

Similar a Prueba unitaria (20)

Pruebas unitarias 7mo -b
Pruebas unitarias   7mo -bPruebas unitarias   7mo -b
Pruebas unitarias 7mo -b
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NETPruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.
 
Fase De Pruebas Angel Chucho
Fase De Pruebas Angel ChuchoFase De Pruebas Angel Chucho
Fase De Pruebas Angel Chucho
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptx
 
S5-CDSQA.pptx
S5-CDSQA.pptxS5-CDSQA.pptx
S5-CDSQA.pptx
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdf
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de software
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Introduction to unit testing
Introduction to unit testingIntroduction to unit testing
Introduction to unit testing
 
Pruebas
PruebasPruebas
Pruebas
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 

Último (19)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 

Prueba unitaria

  • 2. QUÉ ES LA PRUEBA UNITARIA  En programación, 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. Además de verificar que el código hace lo que tiene que hacer, verificamos que sea correcto el nombre, los nombres y tipos de los parámetros, el tipo de lo que se devuelve, que si el estado inicial es válido, entonces el estado final es válido también.  La idea es escribir casos de prueba para cada función no trivial o método en el módulo, de forma que cada caso sea independiente del resto. Luego, con las Pruebas de Integración, se podrá asegurar el correcto funcionamiento del
  • 3. MOTIVOS PARA REALIZAR UN TEST UNITARIO  Las pruebas unitarias demuestran que la lógica del código está en buen estado y que funcionará en todos los casos.  Aumentan la legibilidad del código y ayudan a los desarrolladores a entender el código base, lo que facilita hacer cambios más rápidamente.  Los test unitarios bien realizados sirven como documentación del proyecto.  Se realizan en pocos milisegundos, por lo que podrás realizar cientos de ellas en muy poco tiempo.  Las unit testing permiten al desarrollador refactorizar el código más adelante y tener la garantía de que el módulo sigue funcionando correctamente. Para ello se escriben casos de prueba para todas las funciones y métodos, para que cada vez que un cambio provoque un error, sea posible identificarlo y repararlo rápidamente.  La calidad final del código mejorará ya que, al estar realizando pruebas de manera continua, al finalizar el código será limpio y de calidad.  Como las pruebas unitarias dividen el código en pequeños fragmentos, es posible probar distintas partes del proyecto sin tener que esperar a que otras estén completadas.
  • 4. CARACTERÍSTICAS  Para que una prueba unitaria tenga la calidad suficiente se deben cumplir los siguientes requisitos:  Automatizable: No debería requerirse una intervención manual. Esto es especialmente útil para integración continua.  Completas: Deben cubrir la mayor cantidad de código.  Repetibles o Reutilizables: No se deben crear pruebas que sólo puedan ser ejecutadas una sola vez. También es útil para integración continua.  Independientes: La ejecución de una prueba no debe afectar a la ejecución de otra.  Profesionales: Las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación, etc.  Aunque estos requisitos no tienen que ser cumplidos al pie de la letra, se recomienda seguirlos o de lo contrario las pruebas pierden parte de su función.
  • 5. 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 defectos.  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.
  • 6. 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.
  • 7. HERRAMIENTAS PARA REALIZAR LAS PRUEBAS  Typemock: Entorno de pruebas para C++, C# y .NET - incluso puedes probar el código legado con él.  JUnit: Entorno de pruebas para Java creado por Erich Gamma y Kent Beck. Se encuentra basado en SUnit creado originalmente para realizar pruebas unitarias para el lenguaje Smalltalk.  TestNG: Creado para suplir algunas deficiencias en JUnit.
  • 8.  SimpleTest: Entorno de pruebas para aplicaciones realizadas en PHP.  PHPUnit: Sistema para la realización pruebas unitarias en PHP.  CPPUnit: Versión del framework para lenguajes C/C++.
  • 9.  NUnit: Versión del framework para la plataforma.NET.  FoxUnit: Entorno OpenSource de pruebas unitarias para Microsoft Visual FoxPro.  MOQ: Entorno para la creación dinámica de objetos simuladores (mocks).
  • 10. JORGE JEFFER ROSENDO FELIX #21