Está en la página 1de 5

PRUEBAS UNITARIAS

1. INTRODUCCION

Son principalmente trozos de código diseñados para comprobar que el código principal está
funcionando como esperábamos. Pequeños test creados específicamente para cubrir todos los
requisitos del código y verificar sus resultados.

El proceso que se lleva a cabo, consta de tres partes. El Arrange, donde se definen los requisitos que
debe cumplir el código principal. El Act, el proceso de creación, donde vamos acumulando los
resultados que analizaremos. Y el Assert, que se considera el momento en que comprobamos si los
resultados agrupados son correctos o incorrectos. Dependiendo del resultado, se valida y continúa,
o se repara, de forma que el error desaparezca.

2. CARACTERÍSTICAS DE LAS PRUEBAS UNITARIAS

 Automatizable; Aunque los resultados deben ser específicos de cada test unitario
desarrollado, los resultados se pueden automatizar, de forma que podemos hacer las
pruebas de forma individual o en grupos.
 Completas; El proceso consta de pequeños test sobre parte del código, pero al final, se debe
comprobar su totalidad.
 Repetibles; En el caso de repetir las pruebas de forma individual o grupal, el resultado debe
ser siempre el mismo dando igual el orden en que se realicen los test, los tests se almacenan
para poder realizar estas repeticiones o poder usarlos en otras ocasiones.
 Independientes; Es un código aislado que se ha creado con la misión de comprobar otro
código muy concreto, no interfiere en el trabajo de otros desarrolladores.
 Rápidos de crear; a pesar de lo que muchos desarrolladores opinen, el código de los tests
unitarios no debe llevar más de 5 minutos en ser creado, están diseñados para hacer que el
trabajo sea más rápido.

3. VENTAJAS DE PRUEBAS UNITARIAS

a. Proporciona un trabajo ágil; Como procedimiento ágil que es, te permite poder detectar los
errores a tiempo, de forma que puedas reescribir el código o corregir errores sin necesidad
de tener que volver al principio y rehacer el trabajo. Puesto que las pequeñas se van
haciendo periódicamente y en pequeños packs. Disminuyendo el tiempo y el coste.

b. Calidad del código; Al realizar pruebas continuamente y detectar los errores, cuando el
código está terminado, es un código limpio y de calidad.

c. Detectar errores rápido; A diferencias de otros procesos, los tests unitarios nos permiten
detectar los errores rápidamente, analizamos el código por partes, haciendo pequeñas
pruebas y de manera periódica, además, las pruebas se pueden realizar las veces que hagan
falta hasta obtener el resultado óptimo.
d. Facilita los cambios y favorece la integración; Los tests unitarios, nos permiten modificar
partes del código sin afectar al conjunto, simplemente para poder solucionar bugs que nos
encontramos por el camino. Los tests unitarios, al estar desglosados en bloques individuales
permiten la integración de nuevas aportaciones para hacer un código más complejo o
actualizarlo en función de lo que el cliente demande.

e. Proporciona información; Gracias al continuo flujo de información y la superación de


errores, se puede recopilar gran cantidad de información para evitar bugs venideros.

f. Proceso debugging; Los Tests unitarios ayudan en el proceso de debugging. Cuando se


encuentra un error o bug en el código, solo es necesario desglosar el trozo de código
testeado. Esta es uno de los motivos principales por los que los tests unitarios se hacen en
pequeños trozos de código, simplifica mucho la tarea de resolver problemas.

g. El diseño; Si primero se crean los tests, es mucho más fácil saber con anterioridad cómo
debemos enfocar el diseño y ver qué necesidades debemos cumplir. Testeando una pieza
del código, también puedes saber que requisitos debe cumplir, y por eso mismo te será
mucho más fácil llegar a una cohesión entre el código y el diseño.

h. Reduce el coste; Partiendo de la base que los errores se detectan a tiempo, lo cual implica
tener que escribir menos código, poder diseñar a la vez que se crea y optimizar los tiempos
de entrega, vemos una clara relación con una reducción económica.

Es necesario saber que las pruebas unitarias por sí solas, no son perfectas, puesto que comprueban
el código en pequeños grupos, pero no la integración total del mismo. Para ver si hay errores de
integración es necesario realizar otro tipo de pruebas de software conjuntas y de esta manera
comprobar la efectividad total del código.

Las pruebas fomentan el cambio y la refactorización. Si consideremos que nuestro código es


mejorable podemos cambiarlo sin ningún problema. Si el cambio no estuviera realizado
correctamente las pruebas nos avisarán de ello. Seguramente la frase “si funciona no lo toques” a
más de uno familiar les resultará familiar. Si hubiera pruebas unitarias, no sería necesario
pronunciarla.

Se reducen drásticamente los problemas y tiempos dedicados a la integración. En las pruebas se


simulan las dependencias lo que nos permite que podemos probar nuestro código sin disponer del
resto de módulos. Por experiencia puede decir que los procesos de integración son más de una vez
traumáticos, dejándolos habitualmente para el final del proyecto. La frase “sólo queda integrar”
haciendo referencia a que el proyecto está cerca de terminar suele ser engañosa, ya que el periodo
de integración suele estar lleno de curvas.
Las pruebas nos ayudan a entender mejor el código, ya que sirven de documentación. A través de
las pruebas podemos comprender mejor qué hace un módulo y que se espera de él.

Nos permite poder probar o depurar un módulo sin necesidad de disponer del sistema completo.
Aunque seamos los propietarios de toda la aplicación, en algunas situaciones montar un entorno
para poder probar una incidencia es más costoso que corregir la incidencia propiamente dicha.

4. PRUEBAS UNITARIAS EN WEB

Para probar nuestros sitios web el procedimiento es un poco diferente. Se puede resumir en tres
pasos:

1.Crear un sitio Web ASP.NET dentro de su solución Visual Studio.

2.Agregue una clase al proyecto de sitio Web

3.Generar una prueba unitaria a partir de esa clase.

4.1. Creamos un sitio web

Añadimos una nueva clase. Pinchando con el botón derecho encima del proyecto, elegimos Agregar
nuevo elemento y en la ventana elegimos clase.

Si no tenemos la carpeta App_Code Visual Studio nos mostrará una ventana preguntándonos si
queremos crear la carpeta. No puede generar pruebas desde el código en un archivo .aspx o en una
carpeta distinta de la carpeta App_Code. Una vez hecho esto tendremos nuestra clase Class1.cs
dentro de la carpeta App_Code de nuestra solución.

4.2. Configurar una prueba unitaria de ASP.NET

Puede convertir una prueba unitaria ya existente en una prueba unitaria de ASP.NET mediante su
configuración, es decir, si asigna valores a determinados atributos personalizados de la prueba.
Estos valores se establecen en el archivo de código que contiene la prueba unitaria.

Para poder establecer los atributos personalizados, primero debe agregar una referencia al
espacio de nombres que admite los atributos personalizados; éste es el espacio de nombres
Microsoft.VisualStudio. TestTools.UnitTesting.Web. Con esta referencia en contexto,
IntelliSensepuede ayudarle a establecer los valores de los atributos.

Cuando se genera una prueba unitaria de ASP.NET, estos atributos se definen automáticamente.
Para configurar una prueba unitaria de ASP.NET

4.3. Atributos de una prueba ASP.NET.

[TestMethod]

Dado que todas las pruebas unitarias requieren el atributo [TestMethod], este atributo ya
estarádefinido.

[UrlToTest()] Esta es la dirección URL que se prueba al ejecutar esta prueba unitaria; por
ejemplo,[UrlToTest(“http://localhost/WebSites/Default.aspx”)]
[HostType()]

Utilice [HostType(“ASP.NET”)]. Las pruebas normalmente se ejecutan bajo el proceso del host
deVSTest, pero las pruebas unitarias de ASP.NET deben ejecutarse bajo el proceso del host
deASP.NET.

[AspNetDevelopmentServerHost()]

Especifica la configuración que debe utilizarse cuando un servidor de desarrollo de ASP.NET esel
servidor host para la prueba

5.BIBLIOGRAFIA

. Curso .NET,2007, Pruebas Unitarias, Referencia: https://si.ua.es/es/documentacion/c-


sharp/documentos/pruebas/07pruebasunitarias, fecha consulta: 30/05/2019

. Apiumhub, 2015, Beneficio de las pruebas unitarias, Referencia:


https://apiumhub.com/es/tech-blog-barcelona/metodologia-agil/, fecha de consulta:
30/05/2019
T.I. PRUEBAS UNITARIAS

CARRERA: ING. DE SISTEMAS

SEMESTRE: QUINTO

MATERIA: ANALISIS Y DISEÑO I

ESTUDIANTE: SOLIZ VIDAL JORGE BRYAN

CODIGO: C7351-2

DOCENTE: PHD. SANABRIA CASTELLON LENNY

FECHA: 31/05/19

COCHABAMBA-BOLIVIA

También podría gustarte