Anda di halaman 1dari 4

Universidad Nacional de Ingeniera Instituto de Estudios Superiores Ingeniera de Software III

La Confiabilidad La confiabilidad del software se refiere a la precisin con la que una aplicacin proporciona, sin errores, los servicios que se establecieron en las especificaciones originales. El diseo para favorecer la confiabilidad, adems de referirse al tiempo de funcionamiento de la aplicacin antes de que se produzca algn error, est relacionado tambin con la consecucin de resultados correctos y con el control de la deteccin de errores y de la recuperacin para evitar que se produzcan errores. Se producen errores en la aplicacin por distintos motivos: Comprobacin inadecuada Problemas relacionados con cambios en la administracin Falta de control y anlisis continuados Errores en las operaciones Cdigo poco consistente Ausencia de procesos de diseo de software de calidad Interaccin con aplicaciones o servicios externos Condiciones de funcionamiento distintas (cambios en el nivel de uso, sobrecargas mximas) Sucesos inusuales (errores de seguridad, desbordamientos en la difusin) Errores de hardware (discos, controladores, dispositivos de red, servidores, fuentes de alimentacin, memoria, CPU). Problemas de entorno (red elctrica, refrigeracin, incendios, inundaciones, polvo, catstrofes naturales) PROCEDIMIENTOS RECOMENDADOS PARA LA CONFIABILIDAD El objetivo de conseguir un software de calidad abarca todo el ciclo vital de desarrollo del programa. Se recomiendan los siguientes procedimientos para crear aplicaciones confiables: 1. Pensar en la confiabilidad: Las aplicaciones confiables han de ser compatibles con operaciones confiables y necesitan tambin procesos de implementacin confiables. Cntrese en el modo en que se proporciona el servicio y busque posibles problemas all donde las alternativas de diseo o de procedimiento permitan reducir las causas de error. 2. Invertir en personal: El personal de operaciones y los programadores deben conocer a fondo las prcticas de administracin del ciclo de vida y de la arquitectura, poniendo especial atencin en la prevencin de los errores ms comunes. Cree una referencia cultural de equipo en la que la confiabilidad sea un aspecto crtico. Proporcione educacin sobre los procedimientos de la compaa, las herramientas de programacin, las tecnologas de aplicacin y los conceptos de confiabilidad. 3. Eliminar los puntos con errores desde el diseo de aplicaciones: Un sistema confiable es ms fcil de mejorar que un sistema no confiable (con eventos de error ocultos y distribuidos por todo el programa), que es muy costoso cambiar. 4. Utilizar un sistema operativo consistente

5. Proporcionar supervisin de confiabilidad continua Todas las aplicaciones crticas para una misin deben proporcionar datos de supervisin. El anlisis de los datos recopilados desempea un papel importante en la observacin del estado, de los problemas actuales y de las tendencias de largo alcance de las aplicaciones crticas. 6. Invertir en procesos de diseo de software de calidad: Utilizar una metodologa de ciclo vital de desarrollo

Universidad Nacional de Ingeniera Instituto de Estudios Superiores Ingeniera de Software III

Uso de revisiones de cdigo y estndares de codificacin Desarrollo de procedimientos de recuperacin Uso de procedimientos de control de cambios probados

7. Utilizar pruebas inteligentes Los procesos de prueba de control de calidad debern proporcionar una respuesta a tres cuestiones importantes: Estn correctamente implementadas en la aplicacin las funciones descritas en las especificaciones? Satisface la aplicacin las situaciones de usuario previstas sin producir errores? Se ajusta el perfil de confiabilidad de la aplicacin a los requisitos originales o los supera? Cuando el nivel de calidad y confiabilidad no sea aceptable, deber corregirse el software hasta que se alcance el nivel deseado. 8. 9. Implementar cambios con cautela Prestar atencin al presupuesto

La comprobacin de la confiabilidad consiste en probar una aplicacin para descubrir y eliminar errores antes de que se implemente el sistema. Puesto que hay infinidad de combinaciones distintas de recorridos alternativos a lo largo de una aplicacin, no es muy probable que encuentre todos los errores posibles de una aplicacin compleja. No obstante, puede probar las situaciones ms probables bajo condiciones normales de uso y confirmar que la aplicacin proporciona el servicio previsto. Si dispone de tiempo suficiente, puede realizar pruebas ms complicadas para detectar defectos menos evidentes. Tipos de Pruebas de Confiabilidad

Pruebas de estrs Las pruebas de estrs consisten en la simulacin de grandes cargas de trabajo para observar de qu forma se comporta la aplicacin ante situaciones de uso intenso. Pruebas de estrs de componentes Con las pruebas de estrs de los componentes, se aslan los servicios y componentes que conforman el sistema, se infieren los mtodos de navegacin, de funcionamiento y de interfaz de estos servicios y componentes y se crea un cliente de prueba que llame a dichos mtodos. Para aquellos mtodos que tienen acceso a un servidor de base de datos o a cualquier otro componente, puede crear un cliente que proporcione datos simulados en el formato previsto. El equipo de prueba inserta datos simulados una y otra vez mientras observa los resultados. La idea es forzar cada componente de forma aislada ms de lo que la aplicacin podra experimentar en condiciones normales. Utilice, por ejemplo, un bucle de 1 10.000.000 lo ms rpidamente posible y

Universidad Nacional de Ingeniera Instituto de Estudios Superiores Ingeniera de Software III

observe si hay problemas evidentes. La comprobacin de cada DLL ayuda a identificar errores ms importantes con el componente. Pruebas de estrs de integracin Despus de forzar cada componente individual, deber someter a una situacin de estrs a toda la aplicacin con todos sus componentes y servicios. Las pruebas de estrs de integracin estn ntimamente relacionadas con las interacciones con otras estructuras de datos, procesos y servicios tanto de los componentes internos como de otros servicios externos de la aplicacin. Las pruebas de integracin comienzan con una comprobacin bsica del funcionamiento. Es necesario que conozca los recorridos codificados y las situaciones a las que se enfrentan los usuarios, que comprenda lo que intentan hacer estos y que identifique todas las maneras en las que el usuario se mueve por la aplicacin. Las secuencias de comandos de prueba debern probar la aplicacin de acuerdo con el uso previsto. Por ejemplo, si la aplicacin muestra una pgina Web que un 99% de los clientes simplemente visitar y en la que slo un 1% comprar realmente, tiene sentido proporcionar secuencias de comandos de prueba que fuercen la bsqueda y las distintas funciones de exploracin. Por supuesto, la cesta de la compra tambin debe comprobarse, pero el uso previsto sugiere que la mayora de las pruebas deberan centrarse en las funciones de bsqueda. Intente prolongar siempre la duracin de las pruebas, tanto como se lo permitan el calendario y el presupuesto. En lugar de realizar pruebas durante unos cuantos das o una semana, prolongue el perodo de pruebas a un mes, un trimestre o un ao y observe cmo funciona la aplicacin durante un perodo de tiempo ms largo. Pruebas reales El software que es confiable de forma aislada en un entorno de prueba protegido puede no serlo en la implementacin real. Mientras que las pruebas aisladas son tiles en los primeros procesos de prueba de confiabilidad, un entorno de prueba real garantiza que las aplicaciones simultneas no interfieren entre s. En dichas pruebas es frecuente detectar interacciones con otras aplicaciones que producen errores imprevistos. Deber asegurarse de que la nueva aplicacin puede ejecutarse en el espacio del servidor, con la configuracin final, y con plena experiencia en el perfil de eventos del cliente previsto. El plan de pruebas debe incluir la ejecucin de la nueva aplicacin en el entorno de destino final o en un entorno lo ms cercano posible al entorno de destino. Esto ltimo puede realizarse normalmente con una replicacin parcial o compartiendo precavidamente el entorno final. Pruebas de destruccin aleatorias Una de las formas ms sencillas de probar la confiabilidad es utilizar datos de entrada aleatorios. Este tipo de pruebas intenta por todos los medios bloquear la aplicacin o que sta produzca errores; para ello, se proporcionan datos ilgicos y falsos. Los datos de entrada pueden ser eventos del mouse (ratn) o del teclado, secuencias de mensajes del programa, pginas Web, cachs de datos o cualquier otra condicin de entrada que pueda introducirse en la aplicacin. Deber utilizar pruebas de destruccin aleatorias para comprobar las rutas de errores importantes y poner de manifiesto errores de programacin del software. Este tipo de pruebas mejora la calidad del cdigo ya que da lugar a errores que permiten examinar el control de los errores devueltos. Las pruebas aleatorias pasan por alto de forma intencionada cualquier especificacin del comportamiento del programa. Si se interrumpe la aplicacin, no se ha superado la prueba. Si no se interrumpe la aplicacin, la prueba se ha superado.

Universidad Nacional de Ingeniera Instituto de Estudios Superiores Ingeniera de Software III

La cuestin aqu es que las pruebas aleatorias pueden tener un alto nivel de automatizacin porque nada tienen que ver con el modo en que se supone que funciona la aplicacin subyacente. Necesitar algn tipo de instrumento de prueba para realizar eventos de prueba caticos, fuera de toda lgica y de gran estrs en la interfaz de la aplicacin. Pruebas de Integracin Su objetivo es identificar errores introducidos por la combinacin de programas probados unitariamente. Adems Verificar que las especificaciones de diseo sean alcanzadas. Componentes individuales son combinados con otros componentes para asegurar que la comunicacin, enlaces y los datos compartidos ocurran apropiadamente. No son verdaderamente pruebas de sistema porque los componentes no estn implementados en el ambiente operativo. La fase de integracin requiere mayor planificacin y un conjunto de datos de prueba. Los sistemas grandes requieren varios pasos para realizar la integracin. Existen tres tipos bsicos de pruebas: Todo de una vez: provee una solucin til para realizar la integracin de problemas simples. Down-Top: Se empieza con los mdulos de nivel inferior, y se verifica que los mdulos de nivel inferior llaman a los de nivel superior de manera correcta, con los parmetros correctos. Top-Down: se empieza con los mdulos de nivel superior, y se verifica que los mdulos de nivel superior llaman a los de nivel inferior de manera correcta, con los parmetros correctos. Pruebas Estructurales Son tambin conocidas como "pruebas de caja blanca" o "pruebas basadas en cdigo", donde se enfocan en probar cada una de las estructuras de cdigo, para que su comportamiento sea el esperado. Son las pruebas donde se conoce la estructura interna del componente a probar, y se efecta una prueba sobre dicha estructura. En el caso de una aplicacin web tambin se revisa la estructura interna de los links y otros elementos.

ACTIVIDAD
1. 2. 3. 4. 5. 6. Qu es la Confiabilidad? Con sus palabras, Por que se producen errores en la aplicacin? Por qu el objetivo de conseguir un software de calidad abarca todo el ciclo vital de desarrollo? Explique brevemente los procedimientos recomendados para la confiabilidad Qu son las pruebas de Confiabilidad? Explique brevemente los tipos de pruebas de confiabilidad

Anda mungkin juga menyukai