_UF2 Vts Flashcards

1
Q

Diseño y realización de pruebas

B/N

A
  • De caja blanca

- De caja negra

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Estrategias de pruebas de software: automatización de pruebas
U-I-V-S

A
  1. Prueba de unidad
  2. Prueba de integración
  3. Prueba de validación
  4. Prueba de sistema
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Tipos de anotaciones en JUnit

A

@Before
@After
@BeforeClass
@AfterClass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Pruebas parametrizadas con JUnit

A

@RunWith(Parameterized.class)

@Parameters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Pruebas de integración

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Prueba de validación

A|B

A
  • Pruebas alfa

- Pruebas beta (Técnicas caja negra)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Prueba del sistema

RSR

A
  • Prueba de recuperación
  • Prueba de seguridad
  • Prueba de resistencia (stress)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Pruebas de código (caja blanca):

Cob-VL-Equiv

A
  • Cobertura
  • Valores límite
  • Clases de equivalencia
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Complejidad ciclomática

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Partición o clases de equivalencia (casos de prueba)

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tipos de pruebas

FER

A
  • Funcionales
  • Estructurales
  • De regresión
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Calidad del software (ISO/IEC 25000 SQuaRE

GMMRE-EEx

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Medidas de calidad del software

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Documentación y optimización:

Refactorización: concepto, limitaciones, patrones de refracción más usuales

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cuando refactorizar

A
  • 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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Refactorización en Eclipse:

Aspectos importantes al refactorizar

A
  • Se reestructura el código sin que haya cambios significativos en él.
  • El IDE conoce las relaciones entre los métodos y las clases permitiendo hacer cambios.
  • Definir correctamente los casos de pruebas antes de refactorizar.
17
Q

Refactorización y pruebas:

Casos de pruebas

A
  • Automáticos.
  • Reportar los casos de fallo y errores que se encuentren.
  • Deben poder ejecutarse de forma independiente.
18
Q

Importancia de las pruebas al refactorizar:

Pruebas unitarias

A
  • Nos previenen de las pruebas de regresión
  • Facilitan refactorizar
  • Mejoran como está diseñada la implementación
19
Q

Ventajas e inconvenientes de refactorizar

A

Ventajas:

  • Facilita la comprensión de nuestro código
  • Favorece la detección de errores
  • Mayor rapidez en la programación
  • Mayor calidad durante el proceso

Inconvenientes:

  • Migraciones implican cambios estructurales en los datos.
  • El cambio de interfaz sin acceso al código fuente puede ser problemático.
20
Q

Patrones de diseño:

Estructura patrón

A
  • Nombre
  • Problema
  • Solución
  • Consecuencias
21
Q

Tipos de patrones

A
  • Estructurales
  • Comportamiento
  • Creacionales
22
Q

Control de versiones:
Estructura de las herramientas de control de versiones
(Estructura patrón)

A
  • Repositorio
  • Revisión o versión
  • Etiquetar o rotular (tag)
  • Tronco (trunk)
  • Rama o ramificar (Branch)
  • Desplegar (checkout)
  • Confirmar (commit o check-in)
  • Exportación (export)
  • Importación
  • Actualizar (update)
  • Fusión (update)
  • Conflicto
  • Resolver conflicto
23
Q

Repositorio

A
  • Branches
  • Trunk
  • Tag
24
Q

Tipos de herramientas de control de versiones

A
  • GIT
25
Q

Documentación: uso de comentarios, alternativas

A
- Especificaciones:
     > Introducción
     > Descripción de la información
     > Descripción funcional
     > Descripción del comportamiento
     > Criterios de validación
- Diseño
- Código fuente:
     > Todos los programas poseen errores
     > Todos los programas sufren modificaciones
- Usuario final
26
Q

Uso de etiquetas de documentación:

A

@author: Auto de la clase (sólo para clases)
@version: Versión de la clase (solo para clases)
@see: referencia a otra clase
@param: Descripción del parámetro (una etiqueta por cada parámetro)
@return: Descripción de lo que devuelve (solo si no es void)
@throws: Descripción de la excepción que puede propagar (habrá una etiqueta throws por cada tipo de excepción)
@since: número de versión del producto