Diseño y realización de pruebas
Calidad del software
Medidas o métricas de calidad del software
Algunas métricas de calidad son:
-Tolerancia a errores
Facilidad de expansión
Independencia de plataforma del hardware
Medularidad
Estandarización de los datos
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.
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.
Planificación de pruebas
Automatización de pruebas
Es necesario automatizar las pruebas o repetir las mismas pruebas tras realizar mantenimiento, modificaciones o correcciones del software.
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.
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 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.
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.
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.
Ejecución de las pruebas
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.
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.
Tipos de pruebas
Caja negra
Son aquellas que simplemente prueban la interfaz sin tener en cuenta el código.
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:
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.
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.
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.
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.
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.
Caja blanca
Pruebas de este tipo:
Pruebas de bucles
Se basa en la repetición de un numero especial de veces.
Pruebas de condiciones
Se necesitaran varios casos de prueba, tendrá un caso de prueba por cada operando lógico o comparación.
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.
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.
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.
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.
Funcionales
No funcionales
Son aquellas pruebas mas tecnicas que se realizan al sistemas, esta sigue siendo de caja negra.
Objetivo
Buscan la funcionalidad del sistema
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.
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.
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.