_UF2 Vts Flashcards
Diseño y realización de pruebas
B/N
- De caja blanca
- De caja negra
Estrategias de pruebas de software: automatización de pruebas
U-I-V-S
- Prueba de unidad
- Prueba de integración
- Prueba de validación
- Prueba de sistema
Tipos de anotaciones en JUnit
@Before
@After
@BeforeClass
@AfterClass
Pruebas parametrizadas con JUnit
@RunWith(Parameterized.class)
@Parameters
Pruebas de integración
-
Prueba de validación
A|B
- Pruebas alfa
- Pruebas beta (Técnicas caja negra)
Prueba del sistema
RSR
- Prueba de recuperación
- Prueba de seguridad
- Prueba de resistencia (stress)
Pruebas de código (caja blanca):
Cob-VL-Equiv
- Cobertura
- Valores límite
- Clases de equivalencia
Complejidad ciclomática
1) V(G) = número de regiones del grafo
2) V(G) = aristas - nodos + 2
3) V(G) = nodos predicado + 1
- Entre 1 y 10: programas o métodos sencillos, sin mucho riesgo.
- Entre 11 y 20: programas o métodos más complejos, riesgo moderado
- Entre 21 y 50: Programas o métodos complejos, alto riesgo.
- Mayor que 50: programas o métodos no testeables, muy alto riesgo.
Partición o clases de equivalencia (casos de prueba)
-
Tipos de pruebas
FER
- Funcionales
- Estructurales
- De regresión
Calidad del software (ISO/IEC 25000 SQuaRE
GMMRE-EEx
- ISO/IEC 2500n. Div GESTION de Calidad
- ISO/IEC 2501n. Div de MODELO de Calidad
- ISO/IEC 2502n. Div de MEDICIÓN de Calidad
- ISO/IEC 25030n. Div de REQUISITOS de Calidad
- ISO/IEC 25040n. Div de EVALUACIÓN de Calidad
- ISO/IEC 25050n-25099n. Estándares de Extensión SQuaRE
Medidas de calidad del software
n1: número de operadores únicos que aparecen en un programa
n2: número de operandos únicos que aparecen en un programa
N1: número total de ocurrencias de operadores
N2: número total de ocurrencias de operandos
- Longitud: N = N1 + N2
- Volumen: V = N * log2(n)
- Dificultad: D = ((n1 * N2)/(n2 * 2))
- Esfuerzo: E = V * D
- Nivel: L = 1 / D
Documentación y optimización:
Refactorización: concepto, limitaciones, patrones de refracción más usuales
-
Cuando refactorizar
- Código duplicado (duplicated code)
- Métodos muy largos (long method)
- Clases muy grandes (large class)
- Lista de parámetros extensa (long paremeter list)
- Cambio divergente (divergent change)
- Cirugía a tipo de pistola (shotgun surgery)
- Envidia de funcionalidad (feature envy)
- Clase de sólo datos (data class)
- Legado rechazado (refused bequest)