Pruebas de software


La prueba de software es el acto de examinar los artefactos y el comportamiento del software bajo prueba mediante validación y verificación. Las pruebas de software también pueden proporcionar una visión objetiva e independiente del software para permitir que la empresa aprecie y comprenda los riesgos de la implementación del software. Las técnicas de prueba incluyen, pero no necesariamente se limitan a:

Las pruebas de software pueden proporcionar información objetiva e independiente sobre la calidad del software y el riesgo de falla para los usuarios o patrocinadores. [1]

Aunque las pruebas de software pueden determinar la corrección del software bajo la suposición de algunas hipótesis específicas (consulte la jerarquía de dificultad de las pruebas a continuación), las pruebas no pueden identificar todas las fallas dentro del software. [2] En cambio, proporciona una crítica o comparación que compara el estado y el comportamiento del producto con oráculos de prueba , principios o mecanismos por los cuales alguien podría reconocer un problema. Estos oráculos pueden incluir (pero no se limitan a) especificaciones, contratos , [3] productos comparables, versiones anteriores del mismo producto, inferencias sobre el propósito previsto o esperado, las expectativas del usuario o del cliente, las normas pertinentes, las leyes aplicables u otros criterios.

Un propósito principal de las pruebas es detectar fallas de software para que los defectos puedan descubrirse y corregirse. Las pruebas no pueden establecer que un producto funcione correctamente en todas las condiciones, sino solo que no funciona correctamente en condiciones específicas. [4] El alcance de las pruebas de software puede incluir el examen del código, así como la ejecución de ese código en varios entornos y condiciones, así como el examen de los aspectos del código: ¿hace lo que se supone que debe hacer y hace lo que necesita? hacer. En la cultura actual de desarrollo de software, una organización de pruebas puede estar separada del equipo de desarrollo. Hay varios roles para los miembros del equipo de pruebas. La información derivada de las pruebas de software se puede utilizar para corregir el proceso mediante el cual se desarrolla el software. [5]: 41–43 

Cada producto de software tiene un público objetivo. Por ejemplo, la audiencia del software de videojuegos es completamente diferente a la del software bancario. Por lo tanto, cuando una organización desarrolla o invierte en un producto de software, puede evaluar si el producto de software será aceptable para sus usuarios finales , su público objetivo, sus compradores y otras partes interesadas. Las pruebas de software ayudan a realizar esta evaluación.

Las fallas de software ocurren a través del siguiente proceso: Un programador comete un error (equivocación), lo que resulta en una falla (defecto, error) en el código fuente del software . Si se ejecuta esta falla, en ciertas situaciones el sistema producirá resultados erróneos, provocando una falla . [6] : 31 


Diagrama de prueba de caja blanca
Diagrama de prueba de caja blanca
diagrama de caja negra
TestingCup - Campeonato polaco de pruebas de software, Katowice , mayo de 2016