Logo Studenta

Notas de clase Pruebas 2022

¡Estudia con miles de materiales!

Vista previa del material en texto

1 
 
Ingeniería del Software 
4k1-4k2 
 
 
UNIDAD 3: Aseguramiento de calidad de proceso y de producto 
3.1 Conceptos de calidad – La tendencia de la calidad 
3.2 Calidad del software – Modelos de calidad existentes (CMMI – ISO) 
3.3 Revisiones del software – Revisiones técnicas formales 
3.4 Fiabilidad del software - El plan de SQA. 
3.5 Diseño del plan de pruebas: pruebas unitarias y de integración 
3.6 Pruebas del Sistema. 
Bibliografía para consultar y abarca los siguientes temas de la unidad 3: 
3.1 Conceptos de calidad – La tendencia de la calidad 
3.5 Diseño del plan de pruebas: pruebas unitarias y de integración 
[1] Sommerville Ian. Ingeniería del Software. 9 na Edición 
Capítulo 8: “Pruebas de Software” 
[2] Pressman Roger. Ingeniería del Software. 7ma Edición 
 Capítulo 15: Concepto de calidad 
Capítulo 18:” Prueba de aplicaciones convencionales” 
Repaso de los conceptos sobre pruebas del software 
• Pregunta participativa (realizada durante la clase) 
Antes de iniciar el tema respondan la siguiente pregunta: dada la siguiente clase Cliente, decir 
o explicar 
¿Cómo realizarían la prueba de la clase Cliente? 
1. public class Cliente_cuenta_corriente { 
2. public static final String EL_MONTO_A_PAGAR_EXCEDE_LA_DEUDA = "el monto 
a pagar excede la deuda"; 
3. private static int DEUDA_MAXIMA = 100; 
 
4. private String nombre; 
5. private String apellido; 
6. public double deuda = 0; 
 
7. public Cliente_cuenta_corriente (String nombre, String apellido) { 
8. this.nombre = nombre; 
9. this.apellido = apellido; 
10. } 
 
11. public boolean esMorosx() { 
12. return deuda > 0; 
13. } 
 
14. public void pagar(double monto) { 
15. if (deuda < monto) {throw new RuntimeException 
(EL_MONTO_A_PAGAR_EXCEDE_LA_DEUDA); 
16. } 
17. deuda = deuda - monto; 
18. } 
 
2 
 
 
• Respuestas obtenidas: 
Tener una instancia de la clase Cliente 
Ingreso un dato sobre la deuda 
Hay dos métodos para probar: pagar, 
esMorosx 
Ejecuto el método esMorosox 
Valido (o compruebo) que el resultado 
obtenido coincide con el resultado esperado 
según el dato que ingrese para deuda 
 
Considerando las respuestas, el método seleccionado para realizar la prueba a la clase 
Cliente es el método de caja negra. Es así, porque no se ha tenido en cuenta las estructuras de 
control del código fuente, específicamente de los dos métodos (esMorosx() y pagar()) y se ha 
centrado la atención en el dominio de la información o los datos que se usan en los métodos, 
para el ejemplo en el método esMorosx(). 
Otro método para realizar las pruebas se denomina prueba de caja blanca. En este enfoque 
se usa el conocimiento de la estructura del código fuente del programa y sus componentes para 
diseñar pruebas de defecto. El acceso al código fuente es esencial para las pruebas de caja blanca 
porque se deben revisar todas las decisiones lógicas en sus dos lados verdadero y falso, se 
revisan todas las estructuras de datos internas para garantizar su validez y se garantiza que se 
ejecuten toda la ruta lógica al menos una vez. 
¿Cómo voy a realizar la prueba? Usando métodos para realizar las pruebas 
Los métodos de caja negra y caja blanca para realizar las pruebas son las formas en que 
se realizan las pruebas aplicando un conjunto de técnicas o estrategias. La siguiente tabla 
muestra algunos ejemplos de técnicas o estrategias a aplicar: 
Vistas de las pruebas Los métodos y sus 
técnicas 
Bibliografía 
Vista externa 
• Pruebas de caja negra o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.6 
Prueba partición o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.6.2 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.1.2 
Análisis de los 
valores límites 
o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.6.3 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.1.2 
 
Vista interna 
• Pruebas de caja 
blanca 
o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.3 
Prueba de 
trayectoria básica 
o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.4 
Prueba de bucles o Pressman Roger. Ingeniería del 
Software. 7ma Edición. Sección 
18.5.3 
 
 
3 
 
 
Las pruebas del programa, donde el sistema se ejecuta a través de datos de prueba 
simulados y/o reales, son la principal técnica de validación y verificación. 
Los errores en los componentes del programa pueden salir a la luz durante las pruebas. En 
consecuencia, el proceso de pruebas es iterativo. 
Entonces ahora nos surge otra pregunta: 
¿Cuándo realizo las pruebas? 
 Para responder esta pregunta, vamos a vincular el proceso de pruebas con las etapas del 
ciclo de desarrollo usando el modelo conocido como modelo en V (V&V). Podemos ver el 
modelo en V en la siguiente figura: 
 
 
 
 
 
 
Sommervile Ian. Ingeniería del Software. 9na Edición. Figura: 2.7 
 
Tal como podemos observar en el modelo en V, las pruebas se realizan en varias 
etapas de desarrollo. También se conocen como niveles de las pruebas o estrategias de las 
pruebas. 
 
Etapas del ciclo 
de vida 
Nivel Breve descripción y bibliografía 
Codificación • Prueba de unidad • Se prueban unidades individuales de un 
software. El propósito es validar que cada 
unidad del software funcione según lo 
diseñado. 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.1.1. 
o Pressman Roger. Ingeniería del 
Software. Sección 17.3.1. 
 
Diseño detallado 
y Diseño del 
sistema 
• Prueba de 
integración 
• Las unidades individuales se combinan y 
prueban como un grupo. El propósito de 
este nivel de prueba es exponer fallas en la 
interacción entre unidades integradas. 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.1.3. 
o Pressman Roger. Ingeniería del 
Software. Sección 17.3.1. 
Diseño de 
sistema y 
Especificación de 
sistema 
• Pruebas del 
sistema 
• Se prueba un sistema completo e integrado. 
El propósito de esta prueba es evaluar el 
cumplimiento del sistema con los requisitos 
especificados. 
4 
 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.1.4 
 
Especificación de 
requerimientos 
• Pruebas de 
aceptación 
• Se prueba la aceptabilidad de un sistema. 
El propósito de esta prueba es evaluar el 
cumplimiento del sistema con los requisitos 
comerciales y evaluar si es aceptable para 
la entrega. 
o Sommerville Ian. Ingeniería del 
Software. Sección 8.4. 
 
 
 
 
 
 
 
 
 Pressman Roger. Ingeniería del Software. Figura 17.2. 
 
¿Qué otras características voy a probar? 
 Las pruebas que se enfocan en las características específicas del sistema de software 
Pruebas de versión 
 Pruebas de requerimiento 
 Pruebas de escenario 
 Pruebas de rendimiento 
Pruebas del usuario 
 Pruebas alfa 
Pruebas beta 
Pruebas de aceptación 
Pruebas de seguridad 
Pruebas de usabilidad 
 
Concepto de calidad 
¿Cómo se define la calidad del software? 
En un sentido general, la calidad del software se define como: Proceso eficaz de 
software que se aplica de manera que crea un producto útil que proporciona valor 
medible a quienes lo producen y a quienes lo utilizan. Pressman Roger. Ingeniería del Software. 
Sección 14.2.

Continuar navegando