bloque6:pruebas
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| bloque6:pruebas [2020/10/29 19:36] – fernando | bloque6:pruebas [2024/09/16 20:55] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== | + | ====== |
| La etapa de pruebas de software (software testing) es un proceso más dentro del __desarrollo de software__. Sirve para mantener un control de calidad sobre el producto que creamos, y aunque requiera tiempo al igual que programar, a la larga el software mal programado acaba saliendo demasiado caro. | La etapa de pruebas de software (software testing) es un proceso más dentro del __desarrollo de software__. Sirve para mantener un control de calidad sobre el producto que creamos, y aunque requiera tiempo al igual que programar, a la larga el software mal programado acaba saliendo demasiado caro. | ||
| - | |||
| ===== ¿Qué se prueba? (Caso de Prueba) ===== | ===== ¿Qué se prueba? (Caso de Prueba) ===== | ||
| Línea 17: | Línea 16: | ||
| * **Objeto de la prueba**: asegurarnos que Math.abs() devuelve el valor absoluto | * **Objeto de la prueba**: asegurarnos que Math.abs() devuelve el valor absoluto | ||
| * **Caso de prueba**: si calculo el valor absoluto de -7 debe dar 7 | * **Caso de prueba**: si calculo el valor absoluto de -7 debe dar 7 | ||
| - | |||
| En otras palabras, un caso de prueba //es una pregunta que se le hace al programa para saber si el programa contesta (reacciona) correctamente// | En otras palabras, un caso de prueba //es una pregunta que se le hace al programa para saber si el programa contesta (reacciona) correctamente// | ||
| - | |||
| - | |||
| ===== Tipos de pruebas según su enfoque ===== | ===== Tipos de pruebas según su enfoque ===== | ||
| ==== Caja Negra ==== | ==== Caja Negra ==== | ||
| - | {{ :apuntes: | + | {{ :bloque6: |
| Son las pruebas que se centran en evaluar el valor de las salidas de un sistemas a partir de unas entradas concretas, sin tener en cuenta el funcionamiento interno del sistema. Se centran en el **qué** hace un sistema y no en el **cómo** lo hace. **El programador no necesita saber cómo funciona el código, sino evaluar solamente la salidas**. | Son las pruebas que se centran en evaluar el valor de las salidas de un sistemas a partir de unas entradas concretas, sin tener en cuenta el funcionamiento interno del sistema. Se centran en el **qué** hace un sistema y no en el **cómo** lo hace. **El programador no necesita saber cómo funciona el código, sino evaluar solamente la salidas**. | ||
| Este tipo de test se puede aplicar a cualquier nivel de testeo de software: pruebas '' | Este tipo de test se puede aplicar a cualquier nivel de testeo de software: pruebas '' | ||
| ==== Caja Blanca ==== | ==== Caja Blanca ==== | ||
| - | {{ :apuntes: | + | {{ :bloque6: |
| Estos tipos de pruebas se centran en analizar cada uno de los posibles caminos en el flujo de ejecución de un programa antes unos valores de entrada concretos. **Es decir, si ante unos valores de entrada (parámetros) de un método, el flujo del programa ejecuta los //if//, o los //else//, o entra en un //bucle//, o sale de él. ** | Estos tipos de pruebas se centran en analizar cada uno de los posibles caminos en el flujo de ejecución de un programa antes unos valores de entrada concretos. **Es decir, si ante unos valores de entrada (parámetros) de un método, el flujo del programa ejecuta los //if//, o los //else//, o entra en un //bucle//, o sale de él. ** | ||
| Este tipo de funcionamiento se puede comprobar también con el depurador. | Este tipo de funcionamiento se puede comprobar también con el depurador. | ||
| Línea 64: | Línea 60: | ||
| No es necesario que se trate de una aplicación completamente terminada, pudiendo tratarse de un prototipo o de las distintas etapas de avance de un proyecto. | No es necesario que se trate de una aplicación completamente terminada, pudiendo tratarse de un prototipo o de las distintas etapas de avance de un proyecto. | ||
| - | |||
| - | |||
| - | |||
| - | |||
| ===== JUnit ===== | ===== JUnit ===== | ||
| - | {{ :apuntes: | + | {{ :bloque6: |
| Es un framework para Java enfocado en la realización de __pruebas unitarias__ (//unit testing//). Consiste en unas librerías JAR que debemos añadir a un proyecto en Java. http:// | Es un framework para Java enfocado en la realización de __pruebas unitarias__ (//unit testing//). Consiste en unas librerías JAR que debemos añadir a un proyecto en Java. http:// | ||
| Línea 374: | Línea 366: | ||
| ==== El algoritmo TDD ==== | ==== El algoritmo TDD ==== | ||
| - | {{ :apuntes: | + | {{ :bloque6: |
| La esencia de TDD es sencilla pero ponerla en práctica correctamente es cuestión de entrenamiento, | La esencia de TDD es sencilla pero ponerla en práctica correctamente es cuestión de entrenamiento, | ||
bloque6/pruebas.1604000204.txt.gz · Última modificación: 2024/09/16 20:55 (editor externo)