03 10 20 Testing Mantenibilidad - MatRJ08/Portafolio_DatosII GitHub Wiki
Temas
- Testing
Apuntes
Testing
Se usa para control de calidad
- Se debería aplicar durante todo el proceso de programación
- Es caro hacerlo, pero es mas caro hacerlo al final
Test-Driven Design
- Define casos de prueba (y que pasa si...)
White-box testing vs black-box testing
- White, se como funciona el sistema interno
- Examinar la estructura interna del curso
- Examinar la lógica y estructura del programa
- Se enfoca en ejecutar la mayoría del código al menos una vez
- Black, no se como funciona y tengo una experiencia de usuario final
- Evaluar el comportamiento y la estructura del programa sin ver la parte interna
- Si se obtienen las salidas esperadas a los requerimientos. Se evalúa si el programa trabaja de la forma establecida
- Nos enfocamos en usar la menor cantidad de casos de prueba para obtener la cantidad máxima de errores
- Input ->Black-box-> Output : se evalúa el resultado obtenido
Dentro del white y black existen muchos tipos de tests
- Instalación
- Compatibilidad
- Regrecion
- Aceptación
- Alfa
- beta
- funcional
- accesibilidad
- seguridad
Niveles de testing
- Unit testing
- White box
- Enfocada en testear un modulo del software
- se prueba una parte del código que llama varias partes del código
- una unidad es un método o función
- Características de un buen unit test
- Que se automaticen y se pueda reutilizar
- Fácil de implementar
- Cualquiera debe de poder usarla
- Debe de correr rápido
- Integración
- Interfaz de componentes
- sistema
Mantenibilidad
-
Características para saber que el software va empezar a apestar
-
Rigidez: los cambios por mas sencillos se vuelven difícil
-
Fragilidad: tendencia de un sistema a romperse a la hora de hacer cambios
-
Inmovilidad: Partes del sistema reusables, que dependen de otras partes
-
Viscosidad: Hacer cosas mal hechas es al fácil que hacerlo bien
-
Complejidad innecesaria: contienen elementos que no son "useful"
-
Repetición innecesaria: modulo que se usa muchas veces
-
Opacidad: Código difícil de entender
Como evitar que apeste