Técnicas Efectivas para Casos de Prueba y Principios de Acoplamiento y Cohesión en Software

Enviado por Chuletator online y clasificado en Otras materias

Escrito el en español con un tamaño de 3,84 KB

Técnicas para la Generación Efectiva de Casos de Prueba

Para obtener buenos valores en la generación de casos de prueba, se pueden emplear diversas técnicas:

Clases de Equivalencia

Se particiona el dominio de entrada en varias clases de equivalencia. Se asume que el programa mostrará el mismo comportamiento con cualquier valor perteneciente a una clase determinada.

Valores Límite

Se presta una consideración especial a los valores situados en los límites de las clases de equivalencia. La utilización de precondiciones y postcondiciones ofrece excelentes resultados en esta técnica.

Otras Consideraciones

  • Consideración especial del dominio de salida, no sólo del de entrada.
  • Conjetura de errores: Basada en la intuición y experiencia para identificar posibles errores.

Conceptos de Acoplamiento y Cohesión en el Diseño de Aplicaciones

En el diseño de una aplicación, es fundamental comprender y aplicar correctamente los conceptos de acoplamiento y cohesión para lograr un software mantenible y robusto.

Acoplamiento (Preferiblemente Bajo)

Definición de Acoplamiento

Es una medida de la fuerza con la que un elemento está conectado a, o tiene conocimiento de, otros elementos.

Problema

¿Cómo reducir el impacto del cambio en el software?

Solución

Asignar responsabilidades de manera que el acoplamiento permanezca bajo. Utilizar este principio para evaluar alternativas de diseño.

¿Por qué es deseable un Bajo Acoplamiento?

  • Un bajo acoplamiento tiende a reducir el tiempo, esfuerzo y defectos en la modificación del software.
  • El patrón Experto en Información nos guía hacia la elección que soporta un menor acoplamiento.
  • Un elemento está fuertemente acoplado si:
    1. Se resiente de los cambios en los elementos relacionados.
    2. Es difícil de entender de manera aislada.
    3. Es difícil de reutilizar (requiere también las clases con las que está acoplado).

Cohesión (Preferiblemente Alta)

Definición de Cohesión

Es una medida de la fuerza con la que se relacionan las responsabilidades internas de un elemento y su grado de focalización.

Nota: Una mala cohesión y un mal acoplamiento suelen ir de la mano.

Problema

¿Cómo mantener los objetos centrados, entendibles y manejables, y como efecto secundario, soportar un bajo acoplamiento?

Solución

Asignar responsabilidades de manera que la cohesión permanezca alta. Utilizar este principio para evaluar alternativas de diseño.

Características de la Cohesión

  • Un elemento con baja cohesión tiene muchas responsabilidades no relacionadas, lo que lo hace:
    1. Difícil de entender, reutilizar y mantener.
    2. Delicado y frágil (altas probabilidades de verse afectado por los cambios).
  • Niveles de Cohesión (de peor a mejor):
    • Muy baja cohesión: Clase responsable de realizar muchas tareas en áreas funcionales diversas (bases de datos, llamadas remotas, etc.).
    • Baja cohesión: Clase responsable de tareas muy complejas dentro de un área funcional específica.
    • Alta cohesión: Clase con responsabilidades moderadas y muy relacionadas dentro de un área funcional, que colabora con otras clases para completar una tarea.

Regla General

Una clase con alta cohesión tiene un número reducido de métodos, altamente relacionados funcionalmente, y no realizan una cantidad excesiva de trabajo por sí solos.

Entradas relacionadas: