2.1.1 Desarrollar Pruebas Unitarias de Investigación y de Sistema
2.1.1 Desarrollar Pruebas Unitarias de Investigación y de Sistema
2.1.1 Desarrollar Pruebas Unitarias de Investigación y de Sistema
SECUENCIA: 5NM70
1
INDICE
INTRODUCCIÓN…………………………………………………………………………………………… 3
OBJETIVO …….……………………………………………………………………………………………….3
MISION …….……………………………………………………………………………….………………….3
VISION …….………………………………………………………………………………………..………….3
ALCANCE…….……………………………………………………………………………………………..….3
DESARROLLO…………………………………………………………………………………………………4
CONCLUSIÓN ………………………………………………………………………………………….….15
REFERENCIAS………………………………..……………………………………………….……………16
2
INTRODUCCION
OBJETIVO
MISION
VISION
ALCANCE
3
DESARROLLO
Pruebas unitarias
Las pruebas unitarias son las que aseguran que cada célula del código
desarrollado en un componente brinde los resultados adecuados. En estas
pruebas los desarrolladores observan la interfaz y la especificación de un
componente, proporcionando la documentación del desarrollo del código se
prueba exhaustivamente, claro que de forma independiente antes de pasar a otra
unidad.
Las pruebas unitarias admiten pruebas funcionales al ejercer el código que es más
probable que se rompa. Por ello, si usas pruebas funcionales sin pruebas
unitarias, puedes experimentar algunas dificultades para diagnosticar pruebas
fallidas. Así que tenlas muy presente.
Las pruebas unitarias o unit testing son una forma de comprobar que un fragmento
de código funciona correctamente. Es un procedimiento más de los que se llevan
a cabo dentro de una metodología ágil de trabajo.
Técnicamente, eso sería una clase o incluso un método de clase en los lenguajes
orientados a objetos, y un procedimiento o función en los lenguajes
procedimentales y funcionales.
4
Funcionalmente, puede ser un conjunto de clases estrechamente relacionadas.
Como un `Ciervo` y sus clases de apoyo `Cabeza`, `Cola` y `Locomoción`.
Lo que consideres una unidad de trabajo es lo que tenga sentido para ti. No hay
reglas estrictas. Siempre y cuando le ayude a entender y pensar en su aplicación.
consisten en aislar una parte del código y comprobar que funciona a la perfección.
Son pequeños tests que validan el comportamiento de un objeto y la lógica.
Hay una especie de mito respecto a las pruebas unitarias. Algunos desarrolladores
están convencidos de que son una pérdida de tiempo y las evitan buscando
ahorrar tiempo.
Con ellas se detectan antes errores que, sin las pruebas unitarias, no se podrían
detectar hasta fases más avanzadas como las pruebas de sistema, de integración
e incluso en la beta.
5
Las pruebas unitarias demuestran que la lógica del código está en buen estado y
que funcionará en todos los casos.
6
Características de una buena prueba unitaria
Las pruebas unitarias tienen que poder repetirse tantas veces como uno
quiera. Por este motivo, la rapidez de las pruebas tiene un factor clave.
Si pasar las pruebas es un proceso lento no se pasarán de forma
habitual, por lo que se perderán los beneficios que éstas nos ofrecen.
Las pruebas unitarias deben poder cubrir casi la totalidad del código de
nuestra aplicación. Una prueba unitaria será tan buena como su
cobertura de código. La cobertura de código marca la cantidad de
código de la aplicación que está sometido a una prueba. Por tanto, si la
cobertura es baja, significará que gran parte de nuestro código está sin
probar
7
Las pruebas unitarias tienen que poder ejecutarse independientemente
del estado del entorno. Las pruebas tienen que pasar en cualquier
ordenador del equipo de desarrollo.
Las diferentes relaciones que puedan existir entre módulos deben ser
simulada para evitar dependencias entre módulos.
8
Como ponerlas en uso
9
NUnit: inicialmente portado desde JUnit, NUnit 3 se ha reescrito por
completo para dotarlo de nuevas características y soporte para una amplia
gama de plataformas .NET.
10
Pruebas de Integración
Cálculos incorrectos
Comportamiento incorrecto en aspectos funcionales y no funcionales
Flujo incorrecto de la información entre los componentes
11
Defectos únicamente reproducibles en entornos de producción
Funcionamientos incorrectos respecto a la documentación del producto.
Este tipo de pruebas debe realizarse de forma posterior a las pruebas unitarias.
Big Bang
12
En las pruebas de integración de Big Bang, todos los componentes o módulos se
integran simultáneamente, después de lo cual todo se prueba como un todo.
Ventaja:
Las pruebas de Big Bang tienen la ventaja de que todo está terminado antes de
que comiencen las pruebas de integración.
Desventaja
Ad Hoc
Top Down
Ventajas
Desventajas
13
Down Top
Las pruebas se llevan a cabo desde la parte inferior del flujo de control hacia
arriba. Los componentes o sistemas se sustituyen por controladores.
Ventaja
En este enfoque, el desarrollo y las pruebas se pueden realizar juntos para que el
producto o la aplicación sea eficiente y de acuerdo con las especificaciones del
cliente.
Desventajas
Es necesario crear los controladores de prueba para los módulos en todos los
niveles excepto el control superior.
Hybrid
En algunos casos, puede ser una ventaja no seguir una estrategia de las
anteriores, sino una combinación de ellas.
Por ejemplo, la integración híbrida, es aquella que combina las estrategias Top
Down y Down Top.
Pruebas de sistema
Las pruebas del sistema tienen como objetivo ejercitar profundamente el sistema
comprobando la integración del sistema de información globalmente, verificando el
funcionamiento correcto de las interfaces entre los distintos subsistemas que lo
componen y con el resto de los sistemas de información con los que se comunica.
14
Son pruebas de integración del sistema de información completo, y permiten
probar el sistema en su conjunto y con otros sistemas con los que se relaciona
para verificar que las especificaciones funcionales y técnicas se cumplen. Dan una
visión muy similar a su comportamiento en el entorno de producción.
CONSLUSIÓN
15
REFERENCIAS
Myers, G. J., Badgett, T., Thomas, T. M., & Sandler, C. (2004). The Art of Software
Testing (2 Rev Upd ed.). John Wiley & Sons Inc.
16