Download pdf - EPS01 pruebas unitaria

Transcript

11

Propósito de la sesión• Describir la influencia de los

defectos en la calidad de software

• Realizar la prueba unitaria utilizando el Visual Studio.

Contenido de la sesión• Influencia de los defectos en

la calidad de software.• Pruebas unitarias.

Propósito y contenido de la sesión

¿Validación es igual a verificación?

Moderador
Notas de la presentación
Validación= Se construyo correctamente Verificación = Cumple con los requerimientos

33

• 3.1.35 validation:– The process of evaluating a system or component during or at the end of

the development process to determine whether it satisfies specified requirements.

– The process of providing evidence that the software and its associated products satisfy system requirements allocated to software at the end of each life cycle activity, solve the right problem (e.g., correctly model physical laws, implement business rules, use the proper system assumptions), and satisfy intended use and user needs.

• 3.1.36 verification:– The process of evaluating a system or component to determine whether the

products of a given development phase satisfy the conditions imposed at the start of that phase.

– The process of providing objective evidence that the software and its associated products conform to requirements (e.g., for correctness, completeness, consistency, accuracy) for all life cycle activities during each life cycle process (acquisition, supply, development, operation, and maintenance); satisfy standards, practices, and conventions during life cycle processes; and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities (e.g., building the software correctly).

Definiciones según IEEE 1012 – 2004

Inyección de defectos

Influencia de los defectos en la calidad de software

55

¿De dónde vienen los defectos?

66

Necesitamos: eliminar los defectos

77

Actividades para Remover los defectos inyectados Prevenir la inyección de defectos

Mientras más temprano mejor

Calidad en el Software

88

¿En qué etapa se inyectan los defectos?

99

¿Cuánto cuesta corregir un defecto?

1010

Verificación ¿Estamos construyendo el producto en forma

correcta? Orientado a Proceso

Validación ¿Estamos construyendo el producto correcto? Orientado a Producto

Proceso de remoción de defectos

1111

• 3.1.35 validation:– The process of evaluating a system or component during or at the end of

the development process to determine whether it satisfies specified requirements.

– The process of providing evidence that the software and its associated products satisfy system requirements allocated to software at the end of each life cycle activity, solve the right problem (e.g., correctly model physical laws, implement business rules, use the proper system assumptions), and satisfy intended use and user needs.

• 3.1.36 verification:– The process of evaluating a system or component to determine whether the

products of a given development phase satisfy the conditions imposed at the start of that phase.

– The process of providing objective evidence that the software and its associated products conform to requirements (e.g., for correctness, completeness, consistency, accuracy) for all life cycle activities during each life cycle process (acquisition, supply, development, operation, and maintenance); satisfy standards, practices, and conventions during life cycle processes; and successfully complete each life cycle activity and satisfy all the criteria for initiating succeeding life cycle activities (e.g., building the software correctly).

Definiciones según IEEE 1012 – 2004

1212

Proceso de V y V

1313

V y V Dinámica Ejercitar y observar comportamiento del

producto Normalmente = pruebas del sistema

VyV Estática Analizar representación estática del sistema Normalmente = revisiones de productos de

trabajo

Tipos de V y V

1414

Dónde se aplica la V y V

Casos de prueba

Pruebas unitarias

1616

Un proceso de pruebas

1717

• Plan de pruebas– Qué se va a probar del sistema

• Incluye tipos de pruebas a realizar– Dónde se va a probar– Cuándo se va a probar– Quién va a probar– Riesgos y contingencias

• Diseño de pruebas– Detalle de cómo se va a realizar CADA prueba,

o sea• Conjunto de casos de prueba

Plan vs. Diseño de Pruebas

1818

Caso de prueba

Detalle de cómo ejecutar una prueba

1919

Proceso de control de defectos

Probar la implementación que determina si un número es primo

Practica de laboratorio

public bool IsPrime(int Number){

bool _divisible = false;if (Number < 2) return false;for (int i = 2; i <= Number - 1; i++) {

if ((Number % i == 0)) _divisible = true;}return (!_divisible);

}

Implementación e C#

Un número primo es un número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1.

Revisando la teoría

Casos de prueba

Número Salida Comentario Observaciones0 Falso 0 no es primo Porque no es mayor a 11 True 1 no primo2 True 2 no primo3 True 3 no primo10 True 10 no primo99 Falso 99 no es primo111 true 111 es primo113 True 113 es primo130 Falso 130 no es primo133 true 133 es primo