En ingeniería de software , un caso de prueba es una especificación de las entradas, condiciones de ejecución, procedimiento de prueba y resultados esperados que definen una prueba única que se ejecutará para lograr un objetivo de prueba de software particular , como ejercitar una ruta de programa particular o verificar. cumplimiento de un requisito específico. [1] Los casos de prueba subyacen a pruebas que son metódicas y no aleatorias. Se puede crear una batería de casos de prueba para producir la cobertura deseada del software que se está probando. Los casos de prueba definidos formalmente permiten ejecutar las mismas pruebas repetidamente en versiones sucesivas del software, lo que permite realizar pruebas de regresión efectivas y consistentes . [2]
Para comprobar completamente que se cumplen todos los requisitos de una aplicación, debe haber al menos dos casos de prueba para cada requisito: una prueba positiva y una prueba negativa. [3] Si un requisito tiene subrequisitos, cada subrequisito debe tener al menos dos casos de prueba. El seguimiento del vínculo entre el requisito y la prueba se realiza frecuentemente mediante una matriz de trazabilidad . Los casos de prueba escritos deben incluir una descripción de la funcionalidad que se va a probar y la preparación necesaria para garantizar que se pueda realizar la prueba.
Un caso de prueba escrito formal se caracteriza por una entrada conocida y una salida esperada, que se calcula antes de ejecutar la prueba. [4] La entrada conocida debe probar una condición previa y la salida esperada debe probar una condición posterior .
Para aplicaciones o sistemas sin requisitos formales, se pueden escribir casos de prueba basados en el funcionamiento normal aceptado de programas de una clase similar. En algunas escuelas de pruebas, los casos de prueba no se escriben en absoluto, pero las actividades y los resultados se informan una vez realizadas las pruebas.
En las pruebas de escenarios , se utilizan historias hipotéticas para ayudar al evaluador a pensar en un problema o sistema complejo. Estos escenarios generalmente no están escritos en detalle. Pueden ser tan simples como un diagrama para un entorno de prueba o pueden ser una descripción escrita en prosa. La prueba de escenario ideal es una historia motivadora, creíble, compleja y fácil de evaluar. Por lo general, se diferencian de los casos de prueba en que los casos de prueba son pasos únicos, mientras que los escenarios cubren varios pasos de la clave. [5] [6]
Un caso de prueba generalmente contiene un solo paso o una secuencia de pasos para probar el comportamiento/funcionalidad y las características correctas de una aplicación. Generalmente se da un resultado esperado o resultado esperado.
Información adicional que puede incluirse: [7]
Los casos de prueba más grandes también pueden contener estados o pasos de requisitos previos y descripciones. [7]
Un caso de prueba escrito también debe contener un lugar para el resultado real.
Estos pasos se pueden almacenar en un documento de procesador de textos, hoja de cálculo, base de datos u otro repositorio común.
En un sistema de base de datos, es posible que también pueda ver los resultados de pruebas anteriores y quién generó los resultados y la configuración del sistema utilizada para generar esos resultados. Estos resultados pasados normalmente se almacenarían en una tabla separada.
Los conjuntos de pruebas a menudo también contienen [8]
Además de una descripción de la funcionalidad que se va a probar y la preparación necesaria para garantizar que se pueda realizar la prueba, la parte que consume más tiempo en el caso de prueba es crear las pruebas y modificarlas cuando cambia el sistema.
En circunstancias especiales, podría ser necesario ejecutar la prueba, producir resultados y luego un equipo de expertos evaluaría si los resultados pueden considerarse aprobados. Esto sucede a menudo en la determinación del número de rendimiento de los nuevos productos. La primera prueba se toma como base para los ciclos de prueba y lanzamiento del producto posteriores.
Las pruebas de aceptación , que utilizan una variación de un caso de prueba escrito, suelen ser realizadas por un grupo de usuarios finales o clientes del sistema para garantizar que el sistema desarrollado cumpla con los requisitos especificados en el contrato. [9] [10] Las pruebas de aceptación del usuario se diferencian por la inclusión de happy path o casos de prueba positivos con la exclusión casi completa de los casos de prueba negativos. [11]