SlideShare una empresa de Scribd logo
Bienvenidos
Por favor, colocar los celulares en
silencio.
Guardar silencio.
REGLAS
Facilitador:
Ing. Vasquez Jonathan
Bachilleres:
Atahualpa Acosta C.I.: 22.700.888
Carmona Ramón C.I.:19.257.685
HERRAMIENTA DE
TESTEO UNITARIO
Universidad de oriente
Escuela de ingeniería y ciencias aplicadas
Departamento de ingeniería de sistemas
Sub-comisión de trabajo de grado
Curso especial de grado
Ciencias de la computación
maturin / monagas / venezuela
Contenido
1. INTRODUCCION
2. TEST O PRUEBA UNITARIA
3. TEST O PRUEBA DE INTEGRACION
4. DIFERENCIAN ENTRE TEST UNITARIO Y TEST DE INTEGRACION
5. CARACTERISTICAS DE LOS TEST O PRUEBAS UNITARIAS
6. VENTAJAS DE LAS PRUEBAS UNITARIA
7. HERRAMIENTAS PARA LA PRUEBA UNITARIA
 PHP{PHPUnit}
 JAVA{Junit}
 Nunit
 Python{Unittest}
 Venus.js {JAVAScript}
8. CIERRE
9. CONCLUSIONES
Atahualpa Acosta
1. INTRODUCCIÓN
Desde hace cierto tiempo la comunidad de desarrolladores
y empresas del sector se están dando cuenta de la importancia de
tener definido e implementado un sistema de pruebas sobre el
software desarrollado. Para dar soporte a estas pruebas nacieron
una serie de frameworks ya que la visión tradicional del ciclo de
desarrollo siempre se ha compuesto de Diseño – Programación –
Testeo, dejando, por tanto, el testeo de la aplicación a las últimas
etapas de desarrollo. Sin embargo se ha demostrado que este
planteamiento es erróneo ya que cuanto más tardía sea la
detección de un error dentro del ciclo de desarrollo más alto será
el costo de solucionar dicho error. De este modo un error que haya
sido detectado por los usuarios será siempre más caro de arreglar
que un error detectado en testeo, y un error detectado en la etapa
de testeo siempre será más caro de arreglar que un error
detectado mientras se está programando.
2.TEST O PRUEBA UNITARIA
Atahualpa Acosta
Las pruebas unitarias corresponden a la visión de los
desarrolladores, que son los que deben elaborarlas. Esto es así
porque cuando programas código, tú eres el que mejor conoce y
entiende ese código, y sabes qué debería realizar exactamente cada
método. Con ellas probamos las unidades de software
Prueba unitaria: prueba un único método de una clase. El
alcance es muy reducido y está perfectamente acotado. Cualquier
dependencia del módulo bajo prueba debe ser sustituida por un
mock, o un stub.
3. TEST O PRUEBA DE INTEGRACIÓN
Atahualpa Acosta
En estas pruebas se analiza cómo es la
interacción entre dos o mas unidades del
software.
Este tipo de pruebas verifican que los
componentes de la aplicación funcionan
correctamente actuando en conjunto.
Este tipo de pruebas son dependientes del
entorno en el que se ejecutan. Si fallan, puede
ser porque el código esté bien, pero haya un
cambio en el entorno.
4.DIFERENCIA ENTRE UN TEST O PRUEBA
UNITARIA Y UN TEST O PRUEBA DE
INTEGRACIÓN
Atahualpa Acosta
Velocidad
de
ejecución
Velocidad
de
implementa
ción
Cobertura
del código
Veracidad
de las
pruebas
5. CARACTERÍSTICAS DE LOS TEST O PRUEBAS
UNITARIAS
• Se ejecuta rápido
• Separa o simula
• Alcance limitado
• Pasa de manera
independiente
• Stubs y Mock
• Revela claramente su
intención
Atahualpa Acosta
6. VENTAJAS DE LAS PRUEBAS UNITARIA
Atahualpa Acosta
aislar
Cambio de
código
Simplifica la
integración
Documenta el código
7. HERRAMIENTAS PARA LA PRUEBA UNITARIA
Ramón Carmona
PHPUnit
Es un entorno para realizar pruebas unitarias en el lenguaje
de programación PHP. PHPUnit es un framework de la
familia xUnit originada con SUnit de Kent Beck. PHPUnit se puede
encontrar en GitHub1 y ha sido creado por Sebastian Bergmann.
PHPUnit se creó con idea de que cuanto antes se detecten
los errores en el código antes podrán ser corregidos. Este conocido
framework para PHP nos permite crear y ejecutar juegos de tests
unitarios de manera sencilla Como todos los frameworks de
pruebas unitarias, PHPUnit utiliza assertions para verificar que el
comportamiento de una unidad de código es el esperado.
Ramón Carmona
/*
* Test Save
*/
public function testSave(){
$n = $this->getNotasObject();
$this->em->persist($n);
$this->em->flush();
$query = $this->em->createQuery(
'SELECT x FROM NotasBundle:Notas x WHERE x.id = (
SELECT MAX(p.id) FROM NotasBundle:Notas p
)'
);
$n2 = $query->getSingleResult();
$this->assertNotNull($n2);
$this->assertEquals($n, $n2, "Son iguales");
$this->assertEquals($n->getId(), $n2->getId(), "Son iguales");
}
•PHPUni
t
Es un conjunto de bibliotecas creadas por Erich Gamma y
Kent Beck que son utilizadas en programación para hacer pruebas
unitarias de aplicaciones Java.
JUnit es un conjunto de clases (framework) que permite realizar la
ejecución de clases Java de manera controlada, para poder evaluar
si el funcionamiento de cada uno de los métodos de la clase se
comporta como se espera. Es decir, en función de algún valor de
entrada se evalúa el valor de retorno esperado; si la clase cumple
con la especificación, entonces JUnit devolverá que el método de la
clase pasó exitosamente la prueba; en caso de que el valor
esperado sea diferente al que regresó el método durante la
ejecución, JUnit devolverá un fallo en el método correspondiente.
•JUnit
Ramón Carmona
•JUnit
Ramón Carmona
import junit.framework.TestCase
...
public class TestSuma extends TestCase {
Suma suma = new Suma();
double resultado = suma.getSuma(1.0, 1.0);
// Aqui debemos comprobar el resultado
}
•NUnit
Es un framework open source de Pruebas de unidad para
Microsoft .NET y Mono. Sirve al mismo propósito que JUnit realiza
en el mundo Java, y es uno de muchos en la familia xUnit.
using NUnit.Framework
[TestFixture]
public class EjemplodeWikipediadeNUnit
{
[Test]
public void TestMultiplication()
{
Assert.AreEqual(4, 2*2, "Multiplication");
}
}
Ramón Carmona
•Unittest
Es un paquete estándar de Python que permite, como su
nombre indica, hacer pruebas unitarios. La forma de usarlo es
parecido al JUnit de Java, y básicamente consiste en.
•Hacer una clase que extienda unittest.TestCase.
•Añadir métodos que empiecen por "test_" con la implementación de
las pruebas.
•Hacer aserciones para comprobar que el resultado es el esperado.
Ramón Carmona
import unittest
from users import UserRepository
class NotificationsTestCase(unittest.TestCase):
def test_user_repository(self):
users=UserRepository()
user=users.get_user("jaume.moral")
self.assertEquals("jaume.moral@upc.edu",user['mail'])
if __name__ == '__main__':
unittest.main()
•Unittest
Ramón Carmona
Ramón Carmona
•Venus.js
Es una herramienta flexible para ejecutar test unitarios en
Javascript. Ha sido desarrollado por Linkedin como aplicación
node.js. Venus.js elimina las tareas repetitivas permitiéndonos
centrarnos en escribir test en lugar de preocuparnos en su ejecución
Soporte para
múltiples librerías
de test
Soporte para TDD
e integración
continua
menor fricción
posible
Ramón Carmona
•Venus.js
/**
* @venus-library mocha
* @venus-code ../sqrt.js
*/
describe("sqrt", function() {
it("should compute the square root of 4 as 2", function() {
expect(My.sqrt(4)).to.equal(2);
});
});
Ramón Carmona
8.CIERRE
 Los Test de Integración dan una información global que no
puede ser ignorada:
– Pruebas de aceptación.
– Pruebas de regresión.
– Pruebas funcionales.
– Menor número de test para probar la aplicación.
– Mantenibilidad más sencilla.
 Los Test Unitarios proporcionan ventajas que tampoco pueden
ser ignoradas:
– Es una forma sencilla de probar el código de forma exhaustiva e
independiente de otros artefactos.
– Dirigen al desarrollador a la porción de código que falla de forma
directa
9.CONCLUSIONES
Ramón Carmona
Sin lugar a dudas, los tests unitarios pueden mejorar
significativamente la calidad de nuestros proyectos a la vez que
aumentan nuestra productividad de forma indirecta. Sin embargo, no
hay que caer en la trampa de que un código que presenta tests
unitario es mejor que otro que no; ésto es sólo relativo a la calidad de
la suite diseñada y al uso que hacemos de los mismos.
Testeo unitario

Más contenido relacionado

La actualidad más candente

Portafolio
PortafolioPortafolio
Portafolio
Carlos Delgadillo
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
Jyoc X
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
kenixxx
 
Archivos java
Archivos javaArchivos java
Archivos java
tazmania2
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
jbersosa
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
Andres Herrera Rodriguez
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
jbersosa
 
Vocabulario java daniela grajales
Vocabulario java  daniela grajalesVocabulario java  daniela grajales
Vocabulario java daniela grajalesdaniela.grajales02
 
Tarea sesion 14
Tarea sesion 14Tarea sesion 14
Tarea sesion 14
Jhon Nizama
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
Andres Herrera Rodriguez
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
Vocabulario java isabella o'byrne paz 11 2
Vocabulario java isabella o'byrne paz 11 2Vocabulario java isabella o'byrne paz 11 2
Vocabulario java isabella o'byrne paz 11 2Juan pablo Obregon
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
innovalabcun
 
Palabras reservadas en java
Palabras reservadas en javaPalabras reservadas en java
Palabras reservadas en java
Diegomoren0
 
Comandos de Java
Comandos de JavaComandos de Java
Comandos de Java
Leonardo Torres
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
eccutpl
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
Daniel Irene
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionssandropaul
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuariovictdiazm
 

La actualidad más candente (20)

Portafolio
PortafolioPortafolio
Portafolio
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
 
Archivos java
Archivos javaArchivos java
Archivos java
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Vocabulario java daniela grajales
Vocabulario java  daniela grajalesVocabulario java  daniela grajales
Vocabulario java daniela grajales
 
Tarea sesion 14
Tarea sesion 14Tarea sesion 14
Tarea sesion 14
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
Clase 2 JAVA 2012
Clase 2 JAVA 2012Clase 2 JAVA 2012
Clase 2 JAVA 2012
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Vocabulario java isabella o'byrne paz 11 2
Vocabulario java isabella o'byrne paz 11 2Vocabulario java isabella o'byrne paz 11 2
Vocabulario java isabella o'byrne paz 11 2
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 
Palabras reservadas en java
Palabras reservadas en javaPalabras reservadas en java
Palabras reservadas en java
 
Comandos de Java
Comandos de JavaComandos de Java
Comandos de Java
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuario
 

Similar a Testeo unitario

Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junit
pattyand89
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmockkaolong
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
Angel Nuñez
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
Angel Nuñez
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
Juan Belón Pérez
 
Prueba software orientado a objetos
Prueba software orientado a objetosPrueba software orientado a objetos
Prueba software orientado a objetos
Irene Quiñones Osorio
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
Jose Luis Rodriguez Roldan
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
shadow_of__soul
 
Unit Testing with Mock Objects
Unit Testing with Mock ObjectsUnit Testing with Mock Objects
Unit Testing with Mock ObjectsAngel Nuñez
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
Gomez Gomez
 
Prueba unitaria
Prueba unitariaPrueba unitaria
Prueba unitaria
JefferRosendo
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwarexpjair
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
Antonio Elias Muñoz Espinoza
 
Software testing 1
Software testing 1Software testing 1
Software testing 1josodo
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
Maricarmen Sánchez Ruiz
 

Similar a Testeo unitario (20)

Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junit
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
Calidad del software cap3
Calidad del software   cap3Calidad del software   cap3
Calidad del software cap3
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
Prueba software orientado a objetos
Prueba software orientado a objetosPrueba software orientado a objetos
Prueba software orientado a objetos
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Pruebade j unit
Pruebade j unitPruebade j unit
Pruebade j unit
 
Pruebade j unit
Pruebade j unitPruebade j unit
Pruebade j unit
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
 
Unit Testing with Mock Objects
Unit Testing with Mock ObjectsUnit Testing with Mock Objects
Unit Testing with Mock Objects
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Prueba
PruebaPrueba
Prueba
 
Prueba unitaria
Prueba unitariaPrueba unitaria
Prueba unitaria
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Software testing 1
Software testing 1Software testing 1
Software testing 1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Más de Atahualpa Acosta

Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
Atahualpa Acosta
 
Demostraciones inductivas
Demostraciones inductivasDemostraciones inductivas
Demostraciones inductivas
Atahualpa Acosta
 
Cualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoCualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseño
Atahualpa Acosta
 
Plantear agentes a traves de la regla de reaccion condicion modelo 2
Plantear agentes a traves de la regla de reaccion   condicion modelo 2Plantear agentes a traves de la regla de reaccion   condicion modelo 2
Plantear agentes a traves de la regla de reaccion condicion modelo 2
Atahualpa Acosta
 
Contratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion finalContratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion final
Atahualpa Acosta
 
Atahualpa work
Atahualpa workAtahualpa work
Atahualpa work
Atahualpa Acosta
 
Logica computacional
Logica computacional Logica computacional
Logica computacional
Atahualpa Acosta
 

Más de Atahualpa Acosta (7)

Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
 
Demostraciones inductivas
Demostraciones inductivasDemostraciones inductivas
Demostraciones inductivas
 
Cualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoCualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseño
 
Plantear agentes a traves de la regla de reaccion condicion modelo 2
Plantear agentes a traves de la regla de reaccion   condicion modelo 2Plantear agentes a traves de la regla de reaccion   condicion modelo 2
Plantear agentes a traves de la regla de reaccion condicion modelo 2
 
Contratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion finalContratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion final
 
Atahualpa work
Atahualpa workAtahualpa work
Atahualpa work
 
Logica computacional
Logica computacional Logica computacional
Logica computacional
 

Último

Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
Mercedes Gonzalez
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
DivinoNioJess885
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 

Último (20)

Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
True Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdfTrue Mother's Speech at THE PENTECOST SERVICE..pdf
True Mother's Speech at THE PENTECOST SERVICE..pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIALCUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
CUENTO EL TIGRILLO DESOBEDIENTE PARA INICIAL
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 

Testeo unitario

  • 2. Por favor, colocar los celulares en silencio. Guardar silencio. REGLAS
  • 3. Facilitador: Ing. Vasquez Jonathan Bachilleres: Atahualpa Acosta C.I.: 22.700.888 Carmona Ramón C.I.:19.257.685 HERRAMIENTA DE TESTEO UNITARIO Universidad de oriente Escuela de ingeniería y ciencias aplicadas Departamento de ingeniería de sistemas Sub-comisión de trabajo de grado Curso especial de grado Ciencias de la computación maturin / monagas / venezuela
  • 4. Contenido 1. INTRODUCCION 2. TEST O PRUEBA UNITARIA 3. TEST O PRUEBA DE INTEGRACION 4. DIFERENCIAN ENTRE TEST UNITARIO Y TEST DE INTEGRACION 5. CARACTERISTICAS DE LOS TEST O PRUEBAS UNITARIAS 6. VENTAJAS DE LAS PRUEBAS UNITARIA 7. HERRAMIENTAS PARA LA PRUEBA UNITARIA  PHP{PHPUnit}  JAVA{Junit}  Nunit  Python{Unittest}  Venus.js {JAVAScript} 8. CIERRE 9. CONCLUSIONES
  • 5. Atahualpa Acosta 1. INTRODUCCIÓN Desde hace cierto tiempo la comunidad de desarrolladores y empresas del sector se están dando cuenta de la importancia de tener definido e implementado un sistema de pruebas sobre el software desarrollado. Para dar soporte a estas pruebas nacieron una serie de frameworks ya que la visión tradicional del ciclo de desarrollo siempre se ha compuesto de Diseño – Programación – Testeo, dejando, por tanto, el testeo de la aplicación a las últimas etapas de desarrollo. Sin embargo se ha demostrado que este planteamiento es erróneo ya que cuanto más tardía sea la detección de un error dentro del ciclo de desarrollo más alto será el costo de solucionar dicho error. De este modo un error que haya sido detectado por los usuarios será siempre más caro de arreglar que un error detectado en testeo, y un error detectado en la etapa de testeo siempre será más caro de arreglar que un error detectado mientras se está programando.
  • 6. 2.TEST O PRUEBA UNITARIA Atahualpa Acosta Las pruebas unitarias corresponden a la visión de los desarrolladores, que son los que deben elaborarlas. Esto es así porque cuando programas código, tú eres el que mejor conoce y entiende ese código, y sabes qué debería realizar exactamente cada método. Con ellas probamos las unidades de software Prueba unitaria: prueba un único método de una clase. El alcance es muy reducido y está perfectamente acotado. Cualquier dependencia del módulo bajo prueba debe ser sustituida por un mock, o un stub.
  • 7. 3. TEST O PRUEBA DE INTEGRACIÓN Atahualpa Acosta En estas pruebas se analiza cómo es la interacción entre dos o mas unidades del software. Este tipo de pruebas verifican que los componentes de la aplicación funcionan correctamente actuando en conjunto. Este tipo de pruebas son dependientes del entorno en el que se ejecutan. Si fallan, puede ser porque el código esté bien, pero haya un cambio en el entorno.
  • 8. 4.DIFERENCIA ENTRE UN TEST O PRUEBA UNITARIA Y UN TEST O PRUEBA DE INTEGRACIÓN Atahualpa Acosta Velocidad de ejecución Velocidad de implementa ción Cobertura del código Veracidad de las pruebas
  • 9. 5. CARACTERÍSTICAS DE LOS TEST O PRUEBAS UNITARIAS • Se ejecuta rápido • Separa o simula • Alcance limitado • Pasa de manera independiente • Stubs y Mock • Revela claramente su intención Atahualpa Acosta
  • 10. 6. VENTAJAS DE LAS PRUEBAS UNITARIA Atahualpa Acosta aislar Cambio de código Simplifica la integración Documenta el código
  • 11. 7. HERRAMIENTAS PARA LA PRUEBA UNITARIA Ramón Carmona PHPUnit Es un entorno para realizar pruebas unitarias en el lenguaje de programación PHP. PHPUnit es un framework de la familia xUnit originada con SUnit de Kent Beck. PHPUnit se puede encontrar en GitHub1 y ha sido creado por Sebastian Bergmann. PHPUnit se creó con idea de que cuanto antes se detecten los errores en el código antes podrán ser corregidos. Este conocido framework para PHP nos permite crear y ejecutar juegos de tests unitarios de manera sencilla Como todos los frameworks de pruebas unitarias, PHPUnit utiliza assertions para verificar que el comportamiento de una unidad de código es el esperado.
  • 12. Ramón Carmona /* * Test Save */ public function testSave(){ $n = $this->getNotasObject(); $this->em->persist($n); $this->em->flush(); $query = $this->em->createQuery( 'SELECT x FROM NotasBundle:Notas x WHERE x.id = ( SELECT MAX(p.id) FROM NotasBundle:Notas p )' ); $n2 = $query->getSingleResult(); $this->assertNotNull($n2); $this->assertEquals($n, $n2, "Son iguales"); $this->assertEquals($n->getId(), $n2->getId(), "Son iguales"); } •PHPUni t
  • 13. Es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que son utilizadas en programación para hacer pruebas unitarias de aplicaciones Java. JUnit es un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera. Es decir, en función de algún valor de entrada se evalúa el valor de retorno esperado; si la clase cumple con la especificación, entonces JUnit devolverá que el método de la clase pasó exitosamente la prueba; en caso de que el valor esperado sea diferente al que regresó el método durante la ejecución, JUnit devolverá un fallo en el método correspondiente. •JUnit Ramón Carmona
  • 14. •JUnit Ramón Carmona import junit.framework.TestCase ... public class TestSuma extends TestCase { Suma suma = new Suma(); double resultado = suma.getSuma(1.0, 1.0); // Aqui debemos comprobar el resultado }
  • 15. •NUnit Es un framework open source de Pruebas de unidad para Microsoft .NET y Mono. Sirve al mismo propósito que JUnit realiza en el mundo Java, y es uno de muchos en la familia xUnit. using NUnit.Framework [TestFixture] public class EjemplodeWikipediadeNUnit { [Test] public void TestMultiplication() { Assert.AreEqual(4, 2*2, "Multiplication"); } } Ramón Carmona
  • 16. •Unittest Es un paquete estándar de Python que permite, como su nombre indica, hacer pruebas unitarios. La forma de usarlo es parecido al JUnit de Java, y básicamente consiste en. •Hacer una clase que extienda unittest.TestCase. •Añadir métodos que empiecen por "test_" con la implementación de las pruebas. •Hacer aserciones para comprobar que el resultado es el esperado. Ramón Carmona
  • 17. import unittest from users import UserRepository class NotificationsTestCase(unittest.TestCase): def test_user_repository(self): users=UserRepository() user=users.get_user("jaume.moral") self.assertEquals("jaume.moral@upc.edu",user['mail']) if __name__ == '__main__': unittest.main() •Unittest Ramón Carmona
  • 18. Ramón Carmona •Venus.js Es una herramienta flexible para ejecutar test unitarios en Javascript. Ha sido desarrollado por Linkedin como aplicación node.js. Venus.js elimina las tareas repetitivas permitiéndonos centrarnos en escribir test en lugar de preocuparnos en su ejecución Soporte para múltiples librerías de test Soporte para TDD e integración continua menor fricción posible
  • 19. Ramón Carmona •Venus.js /** * @venus-library mocha * @venus-code ../sqrt.js */ describe("sqrt", function() { it("should compute the square root of 4 as 2", function() { expect(My.sqrt(4)).to.equal(2); }); });
  • 20. Ramón Carmona 8.CIERRE  Los Test de Integración dan una información global que no puede ser ignorada: – Pruebas de aceptación. – Pruebas de regresión. – Pruebas funcionales. – Menor número de test para probar la aplicación. – Mantenibilidad más sencilla.  Los Test Unitarios proporcionan ventajas que tampoco pueden ser ignoradas: – Es una forma sencilla de probar el código de forma exhaustiva e independiente de otros artefactos. – Dirigen al desarrollador a la porción de código que falla de forma directa
  • 21. 9.CONCLUSIONES Ramón Carmona Sin lugar a dudas, los tests unitarios pueden mejorar significativamente la calidad de nuestros proyectos a la vez que aumentan nuestra productividad de forma indirecta. Sin embargo, no hay que caer en la trampa de que un código que presenta tests unitario es mejor que otro que no; ésto es sólo relativo a la calidad de la suite diseñada y al uso que hacemos de los mismos.