Técnicas tradicionales de diseño de pruebas. 

 

Es el proceso creativo de transformación del problema en una solución. Una vez que se analizan y especifican los requisitos, el diseño es la siguiente actividad técnica a realizar. Es independiente del modelo de procesos que se use. El diseño se centra en 4 áreas importantes:

  • Datos
  • Arquitecturas
  • Interfaces
  • Componentes
El diseño es la etapa, en la que se fomenta la calidad. Sin diseño se corre riesgo de construir un sistema inestable, y difícil de probar.

El diseño deberá implementar todos los requisitos explícitos del modelo de análisis y deberá ajustarse a los requeridos por el cliente. El diseño tiene que ser una guía comprensible para los que implemente en software y consecuentemente, los que den soporte al mismo.

Es tanto un proceso como un modelo. Es un proceso porque es una secuencia de pasos que el diseñador describe con el fin de construir el diseño del software. Es un modelo porque comienza con la totalidad, y luego refina.


Evaluación de Tipos de diseño

Diseño de datos: Transforma el modelo del dominio obtenido del análisis, en estructuras de datos, objetos, relaciones, etc. Por ejemplo un diagrama de entidad relación.

Diseño arquitectónico: Define la relación entre los componentes más importantes del software para lograr los requisitos del sistema. La información puede derivarse de la especificación, del modelo de análisis y de la interacción de las subsistemas definidos.

Diseño a nivel de componentes: Transforma los elementos estructurales de la arquitectura en una descripción procedimental de los componentes del software. La información obtenida del diseño de datos, sirven como base.

Diseño de interface: Describe la forma de comunicación dentro del mismo sistema, con otros sistemas y con las personas. Una interface implica flujo de información (datos o control) y comportamiento.

Automatización de pruebas

La Automatización de pruebas son entornos internos y externos programados donde se ensaya la aplicación y sus comportamientos a los distintos entorno de Prueba. Es un modelo que permite reducir tiempos cuando se ponen integran mas componentes de la aplicación. Evita que se pruebe de forma manual cada uno de sus componentes. En un diseño de pruebas es fundamental para aplicaciones muy complejas. Dentro de este día a día, me da cada vez más la impresión, de que al igual que ocurre con la calidad de software en general, en ciertas ocasiones no se tiene muy claro qué implica la automatización de pruebas. En los entornos de automatización de prueba se tiene que verificar los tipos de pruebas que se desea evaluar.

Tipos de pruebas de software

Todos los tipos de pruebas de software que existen, básicamente, se pueden agrupar en dos grupos: las pruebas funcionales y las pruebas no funcionales.

Sin embargo, seguramente has escuchado hablar de más tipos de pruebas, por ejemplo, pruebas unitarias, pruebas de integración o pruebas de aceptación, pero estos tipos se pueden agrupar dentro de los dos grupos anteriores.

Dentro de las pruebas funcionales tenemos:


  • Pruebas unitarias.
  • Pruebas de aceptación.
  • Pruebas de integración.
  • Pruebas de regresión.

Las pruebas no funcionales son:


  • Pruebas de carga.
  • Pruebas de estrés.
  • Pruebas de escalabilidad.
  • Pruebas de portabilidad.

Evaluación de Herramientas de pruebas de software

En este  proceso se elaboran todas las etapas en el proceso del desarrollo de software  que son sumamente relevantes, pero, quizás la etapa de pruebas o testing sea la menos sistematizada y tenida en cuenta en ese proceso. Existen numerosas herramientas, muchas de ellas Free/Open Source, o de suscripciones de pago  orientadas a facilitar las actividades al grupo que realiza las pruebas, pero la incorporación de las mismas es en sí misma es una tarea adicional que involucra no sólo el uso sino también la evaluación de muchas herramientas que ocupan el poco tiempo destinado a esta actividad.

Se tiene que mirar que entorno de el software se quiere evaluar para poder tener claro su  funcionalidad y pues el uso de la aplicación.