Prueba de software
Las pruebas de software son una parte crítica para garantizar la calidad de cualquier solución basada en código, aprendizaje automático o de otro tipo. El objetivo de las pruebas es determinar si el código hace lo que está diseñado para hacer. Cada parte del software, comenzando con funciones, subrutinas, métodos y propiedades, debe ser probada. A continuación, cuando esos componentes se juntan en la base de código más grande para proporcionar un conjunto más amplio de funcionalidad para la solución, se debe probar el componente u objeto resultante. Cuando la solución se integra con otras aplicaciones, se debe probar la comunicación y el intercambio de información, y luego se debe probar toda la solución para asegurarse de que funciona correctamente. Algunas pruebas son realizadas por desarrolladores que escriben el código, mientras que otras son realizadas por probadores dedicados de control de calidad (QA), e incluso otras pueden ser realizadas por usuarios del software.
El software generalmente pasa por varias etapas de prueba. Las tres primeras etapas enumeradas aquí se consideran pruebas de verificación de software.
- Pruebas unitarias. Alguien comprueba la funcionalidad del fragmento de código más pequeño que se puede aislar lógicamente en un sistema. En la mayoría de los lenguajes de programación, se trata de una función, subrutina, método o propiedad. Las pruebas unitarias normalmente las controla el desarrollador que escribió el código, como parte de las pruebas de control de calidad iniciales que se realizan antes de que el código se ingrese como completo y listo para la integración con la base de código más grande. Los desarrolladores usan marcos de pruebas unitarias o herramientas para admitir la escritura y ejecución de pruebas unitarias y para notificar los resultados de las pruebas.
- Pruebas de integración. Los componentes independientes se prueban como un grupo para ver si funcionan juntos según lo diseñado. En esta etapa, los desarrolladores buscan problemas con los componentes que interactúan entre sí y se pasan datos entre sí.
- Pruebas del sistema. Los desarrolladores prueban la aplicación completa, con todos los componentes integrados, para verificar que se desempeñe para cumplir con todos los requisitos principales definidos para el software y que su rendimiento esté optimizado.
- Pruebas de aceptación. A veces llamada prueba funcional, esta es la etapa final del ciclo de prueba de control de calidad. Evalúa si el software cumple los requisitos y si está listo para su lanzamiento a usuarios y clientes. Esta prueba se puede llevar a cabo con un grupo selecto de probadores utilizando una versión beta no completa, pero funcional del software. Al lanzar una versión beta, los equipos de desarrollo aumentan drásticamente el uso del software para ayudar a encontrar cualquier error todavía presente en el software.
En las últimas etapas de la verificación de software y las pruebas de aceptación, los equipos de pruebas de software pueden usar software y código de seguimiento de errores para escribir pruebas, errores de registro, correcciones y versiones actualizadas de software.
En algunos casos, se deben crear componentes falsos para proporcionar funcionalidad para las pruebas. Estos componentes suplentes permiten probar el software que está completo, incluso cuando los componentes a los que se conecta el software no lo están.
Terminología de pruebas de software
Las pruebas de control de calidad de software tienen su propio lenguaje y terminología únicos. Algunos términos notables se describen en la tabla siguiente.
Término |
Definición |
Caso de prueba |
Una sola prueba de un fragmento de código discreto. |
Conjunto de pruebas |
Un grupo de casos de prueba que pertenecen juntos para probar alguna funcionalidad. |
Accesorio de prueba |
El entorno (configuración de estado inicial y desmontaje de estado final) del estado del sistema o aplicación antes y después de la ejecución de la prueba. |
prueba de integración |
Cualquier prueba que incluya componentes fuera del componente de origen. |
prueba de interacción |
Cualquier prueba que compruebe cómo funcionan juntos los objetos. |
Prueba de estado |
Una prueba de los resultados producidos por una operación de código. |
Falso |
Objeto suplente que se utiliza en lugar de un objeto real. Por ejemplo, si una aplicación debe comunicarse con una base de datos para obtener datos, es posible que no se escriba el objeto de acceso a la base de datos, por lo que es posible que deba utilizar un objeto falso, como un objeto de acceso de hoja de cálculo. |
Talón |
Objeto falso que proporciona una dependencia específica requerida por la prueba. |
Simulacro |
Una falsificación utilizada para comprobar los resultados de una prueba. |