Este documento presenta información sobre pruebas unitarias y de integración. Explica la diferencia entre pruebas unitarias y de integración, las características y ventajas de las pruebas unitarias, y varias herramientas para realizar pruebas unitarias como PHPUnit, JUnit, NUnit, Pytest y Venus.js. Concluye que las pruebas unitarias y de integragración proporcionan beneficios para mejorar la calidad del software y la productividad.
Preview de los slides para el curso "Automate Testing"
Los slides completos del curso "Automate Testing" para .NET se encuentran en
http://www.slideshare.net/snahider/automate-testing-net
Today is Pentecost. Who is it that is here in front of you? (Wang Omma.) Jesus Christ and the substantial Holy Spirit, the only Begotten Daughter, Wang Omma, are both here. I am here because of Jesus's hope. Having no recourse but to go to the cross, he promised to return. Christianity began with the apostles, with their resurrection through the Holy Spirit at Pentecost.
Hoy es Pentecostés. ¿Quién es el que está aquí frente a vosotros? (Wang Omma.) Jesucristo y el Espíritu Santo sustancial, la única Hija Unigénita, Wang Omma, están ambos aquí. Estoy aquí por la esperanza de Jesús. No teniendo más remedio que ir a la cruz, prometió regresar. El cristianismo comenzó con los apóstoles, con su resurrección por medio del Espíritu Santo en Pentecostés.
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
Las capacidades sociomotrices son las que hacen posible que el individuo se pueda desenvolver socialmente de acuerdo a la actuación motriz propias de cada edad evolutiva del individuo; Martha Castañer las clasifica en: Interacción y comunicación, introyección, emoción y expresión, creatividad e imaginación.
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
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.