Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET
Upcoming SlideShare
Loading in...5
×
 

Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET

on

  • 13,301 views

 

Statistics

Views

Total Views
13,301
Views on SlideShare
13,216
Embed Views
85

Actions

Likes
4
Downloads
237
Comments
3

3 Embeds 85

http://www.slideshare.net 72
http://www.dbaccess.com 10
http://red-dbaccess.blogspot.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET Pruebas Unitarias - Uso de NUnit dentro de proyectos .NET Presentation Transcript

  • Pruebas Unitarias Uso de NUnit dentro de proyectos .NET Junio 2007
  • Contenido
    • ¿Qué son Pruebas Unitarias?
    • Frameworks
    • Ventajas
    • Desventajas y limitaciones
    • Mitos sobre Pruebas Unitarias
    • Prácticas recomendadas en DBAccess
    • NUnit
    • Referencias
  • ¿Qué son Pruebas Unitarias?
    • Las pruebas unitarias son una de las formas que tenemos de probar pequeñas e individuales porciones de código.
    • A través de ellas se verifica que cierto módulo o funcionalidad se ejecuta dentro de los parámetros y especificaciones concretadas en documentos tales como los casos de uso y el diseño detallado: proporcionan un contrato escrito que la porción de código debe cumplir.
    • Permiten detectar efectivamente la inyección de defectos durante fases sucesivas de desarrollo o mantenimiento.
  • ¿Qué son Pruebas Unitarias?
    • Las pruebas unitarias típicamente son automatizadas, pero pueden llevarse a cabo de forma manual. Cuando son automatizadas es buena práctica que formen parte del repositorio que contiene al código probado.
    • Se dice que una prueba unitaria es completa o es buena si cumple con los siguientes elementos:
      • Cobertura
      • Repetibles
      • Independiente
      • Profesionales
  • Frameworks
    • Para llevar acabo pruebas unitarias, cada organización se apoya en frameworks que ofrecen un conjunto completo de utilidades, motores de ejecución y reportes.
    • Entre los frameworks más empleados destacan:
      • JUnit
      • TestNG
      • CPPUnit
      • NUnit
      • Visual Studio UnitTesting
  • Ventajas
    • Dependiendo del framework empleado podemos encontrar las siguientes ventajas:
    • Automatizadas , por lo cual se hacen repetibles.
    • Fomentan el cambio : ya que permiten probar cambios en el código y asegurar que en éstos no se hayan introducido errores funcionales; habilitan el “refactoring”del código.
    • Simplifican la integración : permiten llegar a la fase de integración con un grado alto de seguridad sobre el código.
  • Ventajas
    • Documenta el código .
    • Separa la interfaz y la implementación.
    • Los defectos están acotados y fáciles de localizar .
    • Permiten al desarrollador pensar como el consumidor del código y no como el productor .
  • Desventajas y limitaciones
    • 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.
  • Mitos sobre Pruebas Unitarias
  • Prácticas recomendadas en DBAccess
    • Seguir el procedimiento de integración continua al pie de la letra, evitando hacer commit al repositorio si las pruebas unitarias preexistentes fallan.
    • Toda falla es producida por un defecto. Antes de corregir el defecto, debe escribirse una prueba unitaria que, al fallar, compruebe que el defecto está allí, y que al pasar compruebe que el defecto fue eliminado.
    • Aprovechar que se tiene la atención en esa parte del código y escribir otras pruebas que se piensen empleando las capacidades del motor de pruebas unitarias.
    • Es a tiempo de diseño que debe definirse formalmente la estrategia para implementar las pruebas unitarias.
  • NUnit
    • Es un framework opensource para pruebas unitarias de sistemas realizados con la plataforma Microsoft .NET.
    • Sirve al mismo propósito que realiza JUnit en el mundo Java, y es uno de muchos en la familia xUnit.
  • NUnit
    • Consiste en un conjunto de metaatributos y aserciones que permiten probar los métodos de una clase especificada.
    • Se puede ejecutar desde la consola o a través de una interfaz gráfica.
  • NUnit
    • Se puede integrar con el Visual Studio en cualquiera de sus versiones.
    • Actualmente soporta los frameworks 1.1/2.0.
    • También soporta la plataforma opensource Mono.
    • Soporte de archivos de configuración.
    • Ejecución de múltiples ensamblados.
    • Es extensible.
    • Autodetecta cambios de los ensamblados.
    • Versión actual  2.4.1
  • Elementos de NUnit
    • La declaración de la prueba 
    • La declaración de un caso de prueba 
  • Elementos de NUnit
    • Elemento de inicio para la prueba 
    • Elemento de inicio para cada prueba 
    • Elemento de disposición para la prueba 
  • Elementos de NUnit
    • Elemento de disposición para cada prueba 
    • Capturando una excepción esperada 
    • Ignorando un caso de prueba 
  • Demostración !
  • Preguntas ?
  • Referencias
    • Kent Beck's original testing framework paper http://www.xprogramming.com/testfram.htm
    • http://en.wikipedia.org/wiki/Unit_testing
    • http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
    • http://www.xprogramming.com/xpmag/acsUsingNUnit.htm
    • http://msdn2.microsoft.com/en-us/library/ms364064(vs.80).aspx
    • http://msdn2.microsoft.com/en-us/library/aa292197(VS.71).aspx
    • http://msdn.microsoft.com/msdnmag/issues/06/01/UnitTesting/default.aspx
    • http://buho.dbaccess.com/pages/viewpage.action?pageId=817
    • Consultas al Ing. Juancarlo Añez (juancarlo.anez@gmail.com)