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