Contenidos
Pruebas de software ausbildung
Las pruebas de software son el acto de examinar los artefactos y el comportamiento del software bajo prueba mediante la validación y la verificación. Las pruebas de software también pueden proporcionar una visión objetiva e independiente del software para permitir a la empresa apreciar y comprender los riesgos de la implementación del software. Las técnicas de prueba incluyen, entre otras, las siguientes:
Aunque las pruebas de software pueden determinar la corrección del software bajo el supuesto de algunas hipótesis específicas (véase la jerarquía de la dificultad de las pruebas más adelante), las pruebas no pueden identificar todos los fallos del software[2], sino que proporcionan una crítica o comparación que compara el estado y el comportamiento del producto con los oráculos de prueba, es decir, los principios o mecanismos por los que alguien podría reconocer un problema. Estos oráculos pueden incluir (pero no se limitan a) las especificaciones, los contratos,[3] los productos comparables, las versiones anteriores del mismo producto, las inferencias sobre el propósito previsto o esperado, las expectativas de los usuarios o clientes, las normas pertinentes, las leyes aplicables u otros criterios.
Plantilla de casos de prueba
Es fácil que un probador novel se sienta intimidado por la enorme cantidad de pruebas de software que existen. El volumen de material, información y pruebas disponibles en Internet puede resultar abrumador. Para poner un poco de orden en este caos, hemos dividido las cosas en dos secciones: Niveles de pruebas y Tipos de pruebas de software. Para que todo quede aún más claro, también hemos incluido algunos ejemplos prácticos de cada prueba. Si se siente un poco perdido con los nombres y categorías del mundo de las pruebas – ¡esto es exactamente lo que necesita leer!
Las pruebas de componentes (o unitarias) necesitan conocer el código y los requisitos de los componentes. Su objetivo principal es encontrar defectos en componentes o unidades de software. Los módulos, componentes y clases pueden probarse por separado. Como esto requiere acceso al código fuente, suele implicar al desarrollador. Escribir este tipo de pruebas suele ser fácil y rápido.
Después de que las pruebas unitarias hayan asegurado que los trozos de código funcionan correctamente de forma aislada, las pruebas de integración nos aseguran que los submódulos de la aplicación se integrarán y comunicarán entre sí de la forma descrita por los casos de uso y el diseño del sistema.
Pruebas funcionales
Cada vez dependemos más de la tecnología en nuestro día a día, por lo que las pruebas de software adquieren un papel cada vez más importante en el desarrollo de aplicaciones informáticas. Si el software no es fiable, los usuarios acaban teniendo más problemas que soluciones.
Las pruebas unitarias se utilizan para probar bloques individuales (unidades) de funcionalidad. Proporcionan tranquilidad en torno a los bloques de construcción de un sistema, pueden automatizarse fácilmente y son relativamente baratas de ejecutar y mantener.
Un ejemplo de un escenario real que podría ser cubierto por una prueba de unidad es la comprobación de que la puerta de su coche puede ser desbloqueada, donde se comprueba que la puerta se desbloquea con la llave de su coche, pero no se desbloquea con la llave de su casa, el mando de la puerta del garaje, o la llave de su vecino (que casualmente tiene el mismo coche que usted). Otra situación que podría tener una prueba unitaria equivalente es la aplicación de un descuento en la caja del supermercado por llevar tu propia bolsa; el descuento debería aplicarse si llevas una bolsa vendida por la cadena, pero no por llevar una bolsa vendida por otro supermercado.
Pruebas no funcionales
Cada vez dependemos más de la tecnología en nuestro día a día, por lo que las pruebas de software adquieren un papel cada vez más importante en el desarrollo de aplicaciones informáticas. Si el software no es fiable, los usuarios acaban teniendo más problemas que soluciones.
Las pruebas unitarias se utilizan para probar bloques individuales (unidades) de funcionalidad. Proporcionan tranquilidad en torno a los bloques de construcción de un sistema, pueden automatizarse fácilmente y son relativamente baratas de ejecutar y mantener.
Un ejemplo de un escenario real que podría ser cubierto por una prueba de unidad es la comprobación de que la puerta de su coche puede ser desbloqueada, donde se comprueba que la puerta se desbloquea con la llave de su coche, pero no se desbloquea con la llave de su casa, el mando de la puerta del garaje, o la llave de su vecino (que casualmente tiene el mismo coche que usted). Otra situación que podría tener una prueba unitaria equivalente es la aplicación de un descuento en la caja del supermercado por llevar tu propia bolsa; el descuento debería aplicarse si llevas una bolsa vendida por la cadena, pero no por llevar una bolsa vendida por otro supermercado.