0% encontró este documento útil (0 votos)
97 vistas14 páginas

Introducción a NUnit para Pruebas Unitarias

Este documento presenta una introducción al framework NUnit para realizar pruebas unitarias en .NET. Explica que NUnit permite automatizar pruebas unitarias de forma estructurada y homogénea. Luego describe algunas características clave de NUnit como sus diferentes modos de ejecución, aserciones y ventajas como su integración en Visual Studio y uso como estándar de la industria. Finalmente, incluye un ejemplo de cómo implementar pruebas unitarias con NUnit para validar la lógica de cálculo de deducciones

Cargado por

Ada Code
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
97 vistas14 páginas

Introducción a NUnit para Pruebas Unitarias

Este documento presenta una introducción al framework NUnit para realizar pruebas unitarias en .NET. Explica que NUnit permite automatizar pruebas unitarias de forma estructurada y homogénea. Luego describe algunas características clave de NUnit como sus diferentes modos de ejecución, aserciones y ventajas como su integración en Visual Studio y uso como estándar de la industria. Finalmente, incluye un ejemplo de cómo implementar pruebas unitarias con NUnit para validar la lógica de cálculo de deducciones

Cargado por

Ada Code
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD MAYOR DE SAN SIMON

FACULTAD DE CIENCIAS Y TECNOLOGÍA

NUNIT

Semestre 1/2021

Docente: Ing. Jimmy Novillo

Estudiantes: Garcia Choque Andy Marcelo


Paco Cayhuara Jennifer Mariel
Vera Zambrana Victor Mauricio

Grupo: Auditoria de Sistemas- Grupo 1

Fecha: 26/04/2021

Horario: 17:15-18:45

Cochabamba - Bolivia
I. Introducción

En el proceso de desarrollo de software, una parte muy importante del mismo


son las pruebas unitarias. Las pruebas unitarias comprueben la corrección
del código. Una prueba unitaria es un código que comprueba la corrección de
otro código.

Todo el tema de los test unitarios ha surgido con las técnicas de desarrollo
rápido Extreme Programming. Éstas últimas son técnicas de programación
usadas para explotar varios factores del desarrollo software, como son la
calidad, claridad, tiempo de desarrollo, eficiencia, y etcétera.

Las Pruebas unitarias son una de las formas que tenemos de probar
pequeñas e individuales porciones de código. Permiten detectar
efectivamente la inyección de defectos durante fases sucesivas de desarrollo
o mantenimiento. A través de estas 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 que proporcionan un contrato escrito que la porción de código debe
cumplir. Las Pruebas Unitarias típicamente son automatizadas pero pueden
llevarse a cabo de forma manual. Cuando son automatizadas es buena
práctica que forme 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:

● Automatizable: no debería requerirse una intervención manual. Esto es


especialmente útil para la 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 la
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.

De esta manera se crearon muchas herramientas que ayudan al proceso de


testeo una de ellas es Nunit el cual es un framework más para poder realizar
de forma homogénea y estructurada los test de unitarios.

II. Antecedentes
Nunit fue desarrollado entero en C#, y pertenece a los llamados xUnit que
son todos aquellos frameworks de pruebas heredados de JUnit y que por
tanto,siguen las normas marcadas por el mismo; en otras palabras se maneja
que NUnit es la implementación para la plataforma .NET de otro framework
para hacer test unitarios. JUnit es un framework para realizar test unitarios
para la plataforma Java, que a su vez viene de la plataforma java.

Las versiones anteriores a NUnit 3 fueron desarrolladas por Charlie Poole,


James Newkirk, Alexei Vorontsov, Michael Two y Philip Craig, a partir de
Nunit 3 los creadores de las siguientes versiones fueron creados por Charlie
Poole, Rob Prouse, Simone Busoli,Neil Colvin y numerosos colaboradores
comunitarios.

III. Que es Nunit

NUnit es un framework open source para pruebas unitarias de sistemas


realizados con la plataforma [Link]. Sirve al mismo propósito que
realiza JUnit en el mundo Java. Consiste en un conjunto de metas, atributos y
aserciones que permiten probar los métodos de una clase especificada. Fue
desarrollado entero en C#, y pertenece a los llamados xUnit que son todos
aquellos frameworks de pruebas heredados de JUnit así mismo todas estos
softwares siguen las normas marcadas por los xUnit.

IV. Objetivos
● Aislar cada parte del programa y mostrar que las partes individuales
son correctas
● Que el programador cambie el código para mejorar su estructura
● Documentar el código:Las propias pruebas son documentación del
código, puesto que ahí se puede ver cómo utilizarlo.

● Los errores están más acotados y son más fáciles de localizar

V. Principales características de Nunit

● NUnit tiene tres formas diferentes de ejecutar sus pruebas.


- El runner de la consola, [Link] es el más rápido de
iniciar, pero no es interactivo
- El runner de interfaz gráfica de usuario, [Link], es una
aplicación de Windows Forms que le permite trabajar de forma
selectiva con sus pruebas y proporciona comentarios gráficos.
- El runner pNUnit, [Link], se utiliza para ejecutar
pruebas distribuidas en paralelo bajo el control de pNUnit.
-
● Las pruebas de NUnit pueden escribirse utilizando cualquier lenguaje
.NET que admita atributos.
● Los Assertions son fundamentales para las pruebas unitarias en
cualquiera de los marcos de xUnit( frameworks de desarrollo guiado por
pruebas), y NUnit no es una excepción. NUnit proporciona un amplio
conjunto de afirmaciones como métodos estáticos de la clase Assert.
● Si una aserción falla, la llamada al método no regresa y se reporta un
error. Si una prueba contiene varias afirmaciones, no se ejecutará
ninguna que siga a la que falló. Por esta razón, generalmente es mejor
intentar una afirmación por prueba.
● Dos modelos

- Antes de NUnit 2.4, se usaba un método separado de la clase


Assert para cada aserción diferente. A esto lo llamamos el
modelo clásico. Sigue siendo compatible con NUnit, ya que
mucha gente lo prefiere
- A partir de NUnit 2.4, se introdujo un nuevo modelo basado en
restricciones. Este enfoque utiliza un único método de la clase
Assert para todas las aserciones, pasando un objeto Constraint
que especifica la prueba que se va a realizar.
- NUnit utiliza ahora este modelo basado en restricciones
internamente para todas las aserciones. Los métodos del
enfoque clásico se han vuelto a implementar sobre este nuevo
modelo.
.
VI. Ventajas

● Está integrado en diferentes complementos para Visual Studio como


Resharper
● Tiene un iniciador de pruebas independiente.
● NUnit se ha convertido en un estándar de la industria para pruebas
unitarias.
● No existen problemas de compatibilidad con Moq o [Link] .
● Sencilla configuración en distintos entornos de .NET
● libre de ampliar el marco de trabajo
● Facilitan la integracion

VII. Desventajas
● La instalacion es externa
● Si no existe la facilidad de un gestor de paquetes en el IDE la
instalacion debe ser manual al igual que la importacion.
● No se descubriran todos los defectos del codigo
● No permite resolver problemas de desempeño

VIII. Instalacion

1.- Dirigirse a la pagina web [Link]


descargar visual studio community
2.- Una vez terminada la descarga proceder a la instalación y abrir visual
estudio para crear un nuevo proyecto

3.- Le damos click a la opcion Console App (.Net framework) luego a


next, nombramos nuestro proyecto para finalmente crearlo

4.- Nos dirigimos a herramientas ->Administrar paquetes de nunit


->Administrar paquetes de nunit para la solucion y le damos click
5.-Tenemos que conseguir nuestro selenium asi que procedemos a
buscarlos

6.- Seleccionamos la opcion Selenium WebDriver le damos click a


proyecto y a nuestro proyecto para proceder a instalar Selenium
WebDriver
Luego procedemos a instalar [Link] WebDriver

Procedemos a instalar nunit para esto simplemente ponemos nunit en el


buscador seleccionamos la que generalmente es la primera opcion (“NUnit”) y
le damos click en instalar
Finalmente procedemos a instalar NUnit3TestAdapter y tenemos todo lo que
necesitamos para realizar las pruebas

IX. Ejemplo Nunit


Ejemplo1

Para el primer caso de testeo prepararemos una interfaz que nos permita
calcular la deduccion de un salario en caso de tener hijos, la deduccion
cumple con las siguientes reglas:
Para lo cual tenemos una clase Empleado que calcula la deduccion segun
las caracteristicas ingresadas.
Para realizar las pruebas unitarias, debemos realizar las pruebas para todos
las posibilidades
creamos una nueva clase test a la cual importamos el paquete
[Link] , Declaramos los atributos [TestFixture] y [Test]. Para
declarar la clase Test y los test cases

namespace WindowsFormsApp1
{
[TestFixture]
class Pruebat
{
[Test]
public void Test1()
{
Empleado e = new Empleado();
int resultado = [Link](false, 15000, 0, 0);
[Link](resultado, 0);
int resultado1 = [Link](false, 15000, 0, 1);
[Link](resultado1, 13600);
int resultado2 = [Link](false, 15000, 0, 2);
[Link](resultado2, 15600);
}

[Test]
public void Test2()
{
Empleado e = new Empleado();
int resultado = [Link](true, 15000, 500, 0);
[Link](resultado, 13300);
int resultado1 = [Link](true, 15000, 500, 1);
[Link](resultado1, 14700);
int resultado2 = [Link](true, 15000, 500, 2);
[Link](resultado2, 16900);
}
[Test]
public void Test3()
{
Empleado e = new Empleado();
int resultado = [Link](true, 15000, 2000, 0);
[Link](resultado, 11100);
int resultado1 = [Link](true, 15000, 3000, 1);
[Link](resultado1, 11880);
int resultado2 = [Link](true, 15000, 3000, 5);
[Link](resultado2, 12519);
}
}
}

En este código realizamos todas las pruebas unitarias posibles para nuestra
interfaz lo que nos permite verificar si se cumple bajo cualquier restricción.
Ejemplo2
En este ejemplo mostraremos como Nunit puede trabajar en conjunto con
otras herramientas en este caso Selenium para testeo web. Aca podemos ver
el código de un sencillo test
y aca podemos observar como visual studio nos presenta una interfaz en la
cual podemos ver lo interesante de la acoplacion con otras herramientas
X. Conclusiones Nunit

Nunit es una exelente herramienta de programación de test unitarios como se


demostró, resolviendo el problema de una herramienta eficaz para
ejecutarlos, cumpliendo con los elementos de una prueba completa; además
de ser una estándar en la industria de la programación, por su amplia
compatibilidad y sencillez para su manejo teniendo por detrás un gran
respaldo de parte de microsoft con su herramienta visual studio en el cual
tiene varios complementos integrados a este software.

XI. Referencias
● [Link]
● [Link]
● .net core2.0 Nunit unit test e introducción al hilo de terminación
CancellationTokenSource - programador clic
([Link])
● [Link]
d-this-version-of-chromedriver-only-supports-chrome-version
● [Link]
exception-message-session-not-created-this-version-of-chrome/6
2127806
● [Link]
3%A9-ventajas--desventajas-qu%C3%A9-MSTest-y-NUnit-han-com
parado-entre-s%C3%AD
● [Link]
stest-vs-xunit-net
● [Link]
y-desventajas-entre-si/969431819/
● [Link]
-dentro-de-proyectos-net
● [Link]
● [Link]
● [Link]
de%20los%20lenguajes%20desarrollados,%E2%80%8B)%2C%20C
obol%20y%20PowerBuilder.

También podría gustarte