Prueba de confiabilidad
La prueba de confiabilidad es un proceso de prueba de software que verifica si el software puede realizar una operación sin fallas durante un período de tiempo específico en un entorno particular. El propósito de las pruebas de confiabilidad es asegurar que el producto de software esté libre de errores y sea lo suficientemente confiable para su propósito esperado.
Fiabilidad significa "rendir lo mismo", en otros términos, la palabra "confiable" significa que algo es confiable y que dará el mismo resultado en todo momento. Lo mismo ocurre con las pruebas de confiabilidad.
En este tutorial, aprenderá:
- ¿Qué son las pruebas de confiabilidad?
- Ejemplo de prueba de confiabilidad
- Factores que influyen en la confiabilidad del software
- Por qué realizar pruebas de confiabilidad
- Tipos de pruebas de confiabilidad
- Cómo realizar pruebas de confiabilidad
- Métodos de ejemplo para pruebas de confiabilidad
- Herramientas de prueba de confiabilidad
Ejemplo de prueba de confiabilidad
La probabilidad de que una PC en una tienda esté funcionando durante ocho horas sin fallar es del 99%; esto se conoce como confiabilidad.
Las pruebas de confiabilidad se pueden clasificar en tres segmentos,
- Modelado
- Medición
- Mejora
La siguiente fórmula es para calcular la probabilidad de falla.
Probabilidad = Número de casos fallidos / Número total de casos bajo consideración
Factores que influyen en la confiabilidad del software
- El número de fallas presentes en el software.
- La forma en que los usuarios operan el sistema
- Las pruebas de confiabilidad son una de las claves para una mejor calidad del software. Esta prueba ayuda a descubrir muchos problemas en el diseño y la funcionalidad del software.
- El propósito principal de las pruebas de confiabilidad es verificar si el software cumple con los requisitos de confiabilidad del cliente.
- Las pruebas de confiabilidad se realizarán en varios niveles. Los sistemas complejos se probarán a nivel de unidad, ensamblaje, subsistema y sistema.
Por qué realizar pruebas de confiabilidad
Las pruebas de confiabilidad se realizan para probar el rendimiento del software en las condiciones dadas.
El objetivo detrás de la realización de pruebas de confiabilidad es,
- Encontrar la estructura de fallas repetidas.
- Para encontrar el número de fallas que ocurren es la cantidad de tiempo especificada.
- Para descubrir la principal causa del fracaso.
- Para realizar pruebas de rendimiento de varios módulos de la aplicación de software después de corregir el defecto
También después del lanzamiento del producto, podemos minimizar la posibilidad de que se produzcan defectos y, por lo tanto, mejorar la confiabilidad del software. Algunas de las herramientas útiles para esto son: análisis de tendencias, clasificación de defectos ortogonales y métodos formales, etc.
Tipos de pruebas de confiabilidad
Las pruebas de confiabilidad del software incluyen pruebas de funciones, pruebas de carga y pruebas de regresión
Prueba de funciones: -
Las pruebas destacadas verifican la función proporcionada por el software y se llevan a cabo en los siguientes pasos: -
- Cada operación en el software se ejecuta al menos una vez.
- Se reduce la interacción entre las dos operaciones.
- Cada operación debe ser verificada para su correcta ejecución.
Prueba de carga:-
Por lo general, el software funcionará mejor al comienzo del proceso y, después de eso, comenzará a degradarse. La prueba de carga se realiza para comprobar el rendimiento del software con la carga de trabajo máxima.
Test de regresión:-
Las pruebas de regresión se utilizan principalmente para comprobar si se han introducido nuevos errores debido a la corrección de errores anteriores. La prueba de regresión se realiza después de cada cambio o actualización de las características del software y sus funcionalidades.
Cómo realizar pruebas de confiabilidad
Las pruebas de confiabilidad son costosas en comparación con otros tipos de pruebas. Por lo tanto, se requiere una planificación y gestión adecuadas al realizar las pruebas de confiabilidad. Esto incluye el proceso de prueba que se implementará, datos para el entorno de prueba, programa de prueba, puntos de prueba, etc.
Para comenzar con las pruebas de confiabilidad, el probador debe seguir las cosas,
- Establecer metas de confiabilidad
- Desarrollar perfil operativo
- Planificar y ejecutar pruebas
- Utilice los resultados de las pruebas para tomar decisiones
Como comentamos anteriormente, hay tres categorías en las que podemos realizar las Pruebas de Confiabilidad: Modelado, Medición y Mejora .
Los parámetros clave involucrados en las pruebas de confiabilidad son: -
- Probabilidad de funcionamiento sin fallos
- Duración del funcionamiento sin fallos
- El entorno en el que se ejecuta
Paso 1) Modelado
La técnica de modelado de software se puede dividir en dos subcategorías:
1. Modelado de predicciones
2. Modelado de estimación
- Se pueden obtener resultados significativos aplicando modelos adecuados.
- Se pueden hacer suposiciones y abstracciones para simplificar los problemas y ningún modelo único será adecuado para todas las situaciones.
Las principales diferencias de dos modelos son: -
Cuestiones | Modelos de predicción | Modelos de estimación |
---|---|---|
Referencia de datos | Utiliza datos históricos | Utiliza datos actuales del desarrollo del software. |
Cuando se usa en el ciclo de desarrollo | Por lo general, se creará antes de las fases de desarrollo o prueba. | Por lo general, se utilizará en la etapa posterior del ciclo de vida del desarrollo de software. |
Periodo de tiempo | Predecirá la fiabilidad en el futuro. | Predecirá la fiabilidad en el momento presente o en el futuro. |
Paso 2) Medición
La confiabilidad del software no se puede medir directamente y, por lo tanto, se consideran otros factores relacionados para estimar la confiabilidad del software. Las prácticas actuales de medición de la confiabilidad del software se dividen en cuatro categorías: -
1. Métricas del producto: -
Las métricas de producto son la combinación de 4 tipos de métricas:
- Tamaño del software : - Line of Code (LOC) es un enfoque inicial intuitivo para medir el tamaño del software. En esta métrica solo se cuenta el código fuente, y no se contarán los comentarios y otras declaraciones no ejecutables.
- Métrica del punto de función : - Función Pont Metric es el método para medir la funcionalidad del desarrollo de software. Considerará el recuento de entradas, salidas, archivos maestros, etc. Mide la funcionalidad entregada al usuario y es independiente del lenguaje de programación.
- Complejidad : - Está directamente relacionado con la confiabilidad del software, por lo que representar la complejidad es importante. La métrica orientada a la complejidad es un método para determinar la complejidad de la estructura de control de un programa, simplificando el código en una representación gráfica.
- Métricas de cobertura de prueba : - Es una forma de estimar fallas y confiabilidad al realizar la prueba completa de productos de software. La confiabilidad del software significa que es la función de determinar que el sistema ha sido completamente verificado y probado.
2. Métricas de gestión de proyectos
- Los investigadores se han dado cuenta de que una buena gestión puede resultar en mejores productos.
- Una buena gestión puede lograr una mayor confiabilidad mediante el uso de un mejor proceso de desarrollo, proceso de gestión de riesgos, proceso de gestión de la configuración, etc.
3. Métricas de proceso
La calidad del producto está directamente relacionada con el proceso. Las métricas del proceso se pueden utilizar para estimar, monitorear y mejorar la confiabilidad y calidad del software.
4. Métricas de fallas y fallas
Las métricas de fallas y fallas se utilizan principalmente para verificar si el sistema está completamente libre de fallas. Tanto los tipos de fallas detectadas durante el proceso de prueba (es decir, antes de la entrega) como las fallas informadas por los usuarios después de la entrega se recopilan, resumen y analizan para lograr este objetivo.
La confiabilidad del software se mide en términos de tiempo medio entre fallas (MTBF) . MTBF consta de
- Media a falla (MTTF): es la diferencia de tiempo entre dos fallas consecutivas
- Tiempo medio de reparación (MTTR): es el tiempo necesario para reparar la falla.
MTBF = MTTF + MTTR
La confiabilidad de un buen software es un número entre 0 y 1.
La confiabilidad aumenta cuando se eliminan los errores o errores del programa.
Paso 3) Mejora
La mejora depende completamente de los problemas ocurridos en la aplicación o sistema, o bien de las características del software. Según la complejidad del módulo de software, la forma de mejora también será diferente. Dos limitaciones principales de tiempo y presupuesto, que limitarán los esfuerzos, se ponen en la mejora de la confiabilidad del software.
Métodos de ejemplo para pruebas de confiabilidad
La prueba de confiabilidad consiste en ejercitar una aplicación para que las fallas se descubran y eliminen antes de implementar el sistema.
Hay principalmente tres enfoques utilizados para las pruebas de confiabilidad
- Fiabilidad test-retest
- Fiabilidad de formularios paralelos
- Consistencia de decisiones
A continuación, intentamos explicar todo esto con un ejemplo.
Fiabilidad test-retest
Para estimar la confiabilidad de prueba-reprueba, un solo grupo de examinados realizará el proceso de prueba con solo unos pocos días o semanas de diferencia. El tiempo debe ser lo suficientemente corto para que se puedan evaluar las habilidades de los examinados en el área. Se estima la relación entre los puntajes del examinado de dos administraciones diferentes, mediante correlación estadística. Este tipo de confiabilidad demuestra hasta qué punto una prueba puede producir puntajes estables y consistentes a lo largo del tiempo.
Fiabilidad de formularios paralelos
Muchos exámenes tienen múltiples formatos de preguntas, estas formas paralelas de examen brindan seguridad. La confiabilidad de las formas paralelas se estima administrando ambas formas del examen al mismo grupo de examinados. Los puntajes de los examinados en los dos formularios de prueba están correlacionados para determinar qué tan similar funcionan los dos formularios de prueba. Esta estimación de confiabilidad es una medida de cuán consistentes se pueden esperar los puntajes de los examinados en todos los formularios de prueba.
Consistencia de decisiones
Después de realizar Test-Retest Reliability y Parallel Form Reliability, obtendremos un resultado de los examinados aprobaron o reprobaron. Es la confiabilidad de esta decisión de clasificación lo que se estima en la confiabilidad de la consistencia de la decisión.
Importancia de las pruebas de confiabilidad
Se requiere una evaluación exhaustiva de la confiabilidad para mejorar el rendimiento del producto y proceso de software. Probar la confiabilidad del software ayudará en gran medida a los administradores y profesionales del software.
Para comprobar la fiabilidad del software mediante pruebas: -
- Se debe ejecutar una gran cantidad de casos de prueba durante un período de tiempo prolongado para averiguar cuánto tiempo se ejecutará el software sin fallas.
- La distribución de los casos de prueba debe coincidir con el perfil operativo real o planificado del software. Cuanto más a menudo se ejecuta una función del software, mayor es el porcentaje de casos de prueba que deben asignarse a esa función o subconjunto.
Herramientas de prueba de confiabilidad
Algunas de las herramientas de prueba de confiabilidad utilizadas para la confiabilidad del software son:
1. WEIBULL ++: - Análisis de datos de vida útil de confiabilidad
2. RGA: - Análisis de crecimiento de confiabilidad
3. RCM: -Mantenimiento centrado en la fiabilidad
Resumen:
Las pruebas de confiabilidad son la parte importante de un programa de ingeniería de confiabilidad. Más correctamente, es el alma del programa de ingeniería de confiabilidad.
Además, las pruebas de confiabilidad están diseñadas principalmente para descubrir modos de falla particulares y otros problemas durante las pruebas de software.
En ingeniería de software, las pruebas de confiabilidad se pueden clasificar en tres segmentos,
- Modelado
- Medición
- Mejora
Factores que influyen en la confiabilidad del software
- El número de fallas presentes en el software.
- La forma en que los usuarios operan el sistema