El desarrollo de software de computadora requiere muchas horas de codificación y pruebas. Esta prueba generalmente incluye múltiples niveles de validación y verificación entre la aplicación de software y el cliente. El esfuerzo de prueba se refiere al conjunto completo de pruebas que se requieren para el software. Este esfuerzo completo generalmente incluye pruebas unitarias, pruebas del sistema, pruebas de rendimiento y pruebas de aceptación del usuario.
Las pruebas se dividen en pruebas positivas o negativas. El esfuerzo de prueba define qué tipo de prueba ocurrirá durante la fase de prueba. Debe tener en cuenta la prueba completa de todas las áreas de la aplicación de software. Un caso de prueba positivo se basa en ingresar los datos de prueba correctamente en el sistema. Los casos de prueba negativos requieren que el evaluador ingrese datos incorrectos. Por lo general, se recomienda una combinación de pruebas positivas y negativas para la mayoría de las aplicaciones de software.
La prueba unitaria es la prueba que ocurre durante el desarrollo del código del software. Este esfuerzo de prueba lo realizan los desarrolladores de una aplicación. La prueba unitaria es la fase de prueba preliminar de los módulos de software dentro de un programa. Esta forma de prueba garantiza que el sistema funcione sin errores antes de enviarlo al equipo de pruebas para su revisión.
Muchas aplicaciones de software a gran escala incluyen pruebas de integración con múltiples sistemas externos. Esta prueba de integración es un esfuerzo de prueba diseñado para validar la integración de aplicaciones externas. Las pruebas de integración generalmente se realizan antes de las pruebas de funcionalidad porque se requiere una integración exitosa antes de que se pueda verificar la funcionalidad.
La prueba de funcionalidad es la prueba que valida las funciones del sistema como estaba previsto. Este tipo de prueba requiere la creación de datos de prueba específicos, que se utilizan durante el esfuerzo de prueba. La prueba de funcionalidad es una verificación de los requisitos para la funcionalidad real dentro de la aplicación. No pasar esta fase de prueba normalmente implica que los usuarios no aceptarán el sistema.
Las pruebas de rendimiento son fundamentales para las aplicaciones de software diseñadas para admitir miles de usuarios. Esta forma de prueba requiere grandes volúmenes de procesamiento, diseñados para estresar el sistema hasta el punto de fallar por completo. Un esfuerzo de prueba debe incluir algunas pruebas de rendimiento rudimentarias. Esto asegurará que el sistema admita el procesamiento de múltiples usuarios sin fallar.
La prueba de aceptación del usuario es otra forma de prueba de validación del sistema. Este esfuerzo de prueba incluye a los usuarios de la aplicación, con pruebas específicas para validar la funcionalidad del sistema. Las pruebas de aceptación del usuario son un paso fundamental para garantizar la satisfacción del cliente. Este esfuerzo de prueba generalmente ocurre al final de un ciclo de desarrollo, antes de implementar la aplicación en producción.