Pruebas unitarias

Unit Testing

Las pruebas pueden realizarse en distintos niveles.

La pirámide de pruebas ilustra la relación entre la cantidad de pruebas y el esfuerzo necesario para crearlas.

Las pruebas unitarias son las más simples y numerosas. Normalmente las escriben los desarrolladores mientras implementan una funcionalidad (detalles).

El objetivo de las pruebas unitarias es verificar la corrección de módulos (funciones, clases) de forma aislada y detectar defectos temprano en el desarrollo.

The Testing Pyramid
Pirámide de pruebas

Función para probar

Actuemos como desarrolladores y escribamos una función que suma dos enteros sum.

Durante el desarrollo usaremos pseudocódigo: código informal más fácil de leer y entender.

sum(a, b) {

    declarar una variable c

    realizar la suma a + b
    guardar la suma en una variable c

    devolver la variable c
}

Pseudocódigo

public int sum(int a, int b) {

    int c;


    c = a + b;


    return c;
}

Código Java

Ejemplo de prueba unitaria

Una prueba unitaria define los resultados esperado y real de la ejecución de una función.

Si los resultados esperado y real coinciden, la prueba pasa PASS, de lo contrario, la prueba falla FAIL.

int expected = 3; //resultado esperado

int actual = sum(1, 2); //resultado real

expected == actual;

PASS

== signo igual

int expected = 2147483648;

int actual = sum(2147483646, 2);

expected != actual;

FAIL

!= signo distinto

Para pensar: Desbordamiento de enteros

Code coverage

Code coverage

La completitud de las pruebas se mide mediante code coverage. Sin embargo, 100% de cobertura no garantiza ausencia de bugs. Solo muestra qué partes del código se ejecutan realmente durante una corrida de pruebas.

En la imagen, la línea 9 está resaltada en rojo porque no fue cubierta por una prueba. En otras palabras, la función sum nunca fue llamada con argumentos a y b cuya suma cumpliera la condición de la línea 8.

unit-tests
Vista de code coverage en IntelliJ IDEA
Tarea
¡Tarea disponible para usuarios premium!

Desbloquea el acceso para aprender sin límites.

Acceso completo a todas las tareas prácticas
Verificación de respuestas
Intentos ilimitados
Sidebar arrow

INTRODUCCIÓN

CONCEPTOS BÁSICOS

NIVELES DE PRUEBAS

PRUEBAS DE UI

DISEÑO DE PRUEBAS

DOCUMENTACIÓN DE PRUEBAS

AUTENTICACIÓN Y AUTORIZACIÓN

POSTMAN

BASES DE DATOS

PRUEBAS DE RELEASE

ANÁLISIS DE LA APLICACIÓN

PREPARACIÓN PARA ENTREVISTAS

Cómo escribir un CV Preguntas frecuentes de entrevista Test Entrevista simulada