Diseño y realización de pruebas

Procedimientos de pruebas

Indica que es lo que va a probarse y como, el objetivo no siempre es detectar errores. A veces se busca que el sistema tenga un rendimiento determinado.

Casos de prueba

En las fases de pruebas, se diseñan y preparan los casos de prueba, creados para encontrar fallos.

Hay que tener en cuenta que la prueba no debe ser muy sencilla ni muy compleja. Si es muy sencillo no aporta nada y si es muy compleja, quizá, sea difícil encontrar el origen.

Codificación de las pruebas

Se tienen que generar las condiciones necesarias para poder ejecutar los casos de prueba. Habrá que codificarlos en muchos casos generando set o conjunto de datos.

Tipos de pruebas

Funcionales

Objetivo

Buscan la funcionalidad del sistema

No funcionales

Son aquellas pruebas mas tecnicas que se realizan al sistemas, esta sigue siendo de caja negra.

Estructurales

Son pruebas de caja blanca, puesto que, en algún momento, se utilizan técnicas de análisis del código. Generalmente, para este tipo de pruebas, se utilizan herramientas especializadas.

Regresión

Se pueden considerar como el subconjunto de pruebas planificadas que se seleccionan para ser ejecutadas, generalmente de forma automática y periódicamente.

Caja blanca

Se tiene en cuenta el código que quiere probarse. Donde la persona que realiza las pruebas esta en contacto con el código fuente.

Pruebas de este tipo:

Pruebas de cubrimiento

El objetivo es ejecutar, al menos una vez, todas líneas del programa. para ello habrá que generar el suficiente numero de casos de prueba.

Pruebas de condiciones

Se necesitaran varios casos de prueba, tendrá un caso de prueba por cada operando lógico o comparación.

Pruebas de bucles

Se basa en la repetición de un numero especial de veces.

Caja negra

Prueba de clases de equivalencia de datos

Se deben establecer las clases de equivalencia para cada uno de los campos, tendrán que crearse clases validad y clases invalidas para cada campo.

Prueba de valores limite

Son complementarias a las pruebas de particiones. El objetivo es generar valores que puedan probar si la interfaz y el programa funcionan correctamente.

Pruebas de interfaces

Dependiendo las entradas, la interfaz proporcionara una salida determinada. Esa salida debería ser la esperada. y para ello se debe conocer su funcionalidad.

Pruebas para testear una interfaz:

Testear la usabilidad

evalúa si el producto generado va a resultar lo esperado por el usuario. para ello se trabaja desde el punto de vista del usuario.

Testear la accesibilidad

Consiste en comprobar que el software se adecua a los usuarios con discapacidad, pueden hacer su trabajo de forma efectiva y la satisfacción es buena.

Como testear una interfaz

Una primera prueba puede consistir en seguir el manual de usuario, donde el tester introduce datos como si fuera un usuario y comprobar que devuelve lo esperado.

Son aquellas que simplemente prueban la interfaz sin tener en cuenta el código.

Ejecución de las pruebas

Irán ejecutándose los casos de prueba uno a uno y, cuando se detecte algún error, hay que aislarlo y anotar la acción que estaba probándose, el caso, el modulo la fecha, la hora, los datos, etc.

Quien los realiza?

Tester (o ingeniero de pruebas)

Planifican y llevan a cabo pruebas de software para comprobar que funcionan correctamente. Identifican el riego de sufrir errore, los detectan y los comunican.

Herramientas de depuración de codigo

Puede diseñarse un test para programa o clase concreta y ejecutarlo tantas veces como sea necesario. La ventaja es que puede ejecutarse el test cada vez que se modifique algo del codigo.

Planificación de pruebas

La planificaciones pruebas es un punto importante en la toma de decisiones de un proyecto. Que tipo de prueba y cuando van a realizarse son preguntas que hay que tener en cuenta.

Pruebas unitarias

Suelen realizarse durante las primeras fases de diseño y desarrollo. no hay que demorar mucho en su realización ya que luego hay que integrar todo el software y los fallos va acumulándose y localizarlos se complica.

Pruebas de integracion

Tendrán que hacerse al final de la fase de diseño y también al final de la fase de codificación. Existen las ascendentes y descendentes. Puede probarse los módulos mas generales, y luego ir a los mas específicos o al contrario.

Pruebas de aceptación

Tratan de probar el sistema completo. Además de probar que los requisitos del programa se cumplen uno por uno, el equipo de pruebas mirara también si técnicamente el programa es estable y no tiene ningún fallo.

Automatización de pruebas

Es necesario automatizar las pruebas o repetir las mismas pruebas tras realizar mantenimiento, modificaciones o correcciones del software.

Calidad del software

El software tiene que estar libre de defectos y de errores y también tiene que adecuarse a los parámetros con los cuales se ha diseñado y desarrollado.

Para evaluar el software, es necesario contar con criterios adecuados que permitan analizar el software desde diferentes puntos de vista.

Medidas o métricas de calidad del software

Se definen los criterios de calidad de un software al principio de un proyecto y dichos criterios siguen teniéndose en cuenta durante toda su vida.

Generalmente, para evaluar los criterios de calidad, se realizan RTF o revisiones técnicas formales.

Algunas métricas de calidad son:

-Tolerancia a errores

Facilidad de expansión

Independencia de plataforma del hardware

Medularidad

Estandarización de los datos