La Auditora de Software
La Auditora de Software es un trmino general que se refiere a la investigacin y al proceso de entrevistas que determina cmo se adquiere, distribuye y usa el software en la organizacin. Conducir la auditora es una de las partes ms crticas de un Programa de Administracin de Software, porque la auditora ayuda a la organizacin a tomar decisiones que optimicen sus activos de software.
Ingeniera de Software
Ingeniera de Software
Hay muchos planteamientos a la hora de abordar el proceso de pruebas de software, pero para verificar productos complejos de forma efectiva requiere de un proceso de investigacin ms que seguir un procedimiento al pie de la letra. Una definicin de "testing" es: proceso de evaluacin de un producto desde un punto de vista crtico, donde el "tester" (persona que realiza las pruebas) somete el producto a una serie de acciones inquisitivas, y el producto responde con su comportamiento como reaccin.
Ingeniera de Software
Por supuesto, nunca se debe testear el software en un entorno de produccin. Es necesario testear los nuevos programas en un entorno de pruebas separado fsicamente del de produccin. Para crear un entorno de pruebas en una mquina independiente de la mquina de produccin es necesario crear las mismas condiciones que en la mquina de produccin. Existen a tal efecto varias herramientas vendidas por los mismos fabricantes de hardware (IBM, Sun, HP etc.). Esas utilidades reproducen automticamente las bases de datos para simular un entorno de produccin.
Ingeniera de Software
Tipos de pruebas
Pruebas unitarias Pruebas funcionales Pruebas de Integracin Pruebas de validacin Pruebas de sistema Caja blanca (sistemas) Caja negra (sistemas) Pruebas de aceptacin Pruebas de regresin Pruebas de carga Pruebas de prestaciones Pruebas de recorrido Pruebas de mutacin Pruebas concurrentes
Ingeniera de Software
Pruebas unitarias
una prueba unitaria es una forma de probar el correcto funcionamiento de un mdulo de cdigo. Esto sirve para asegurar que cada uno de los mdulos funcione correctamente por separado. Luego, con las Pruebas de Integracin, se podr asegurar el correcto funcionamiento del sistema o subsistema en cuestin. La idea es escribir casos de prueba para cada funcin no trivial o mtodo en el mdulo de forma que cada caso sea independiente del resto.
Ingeniera de Software
Pruebas funcionales
Una prueba funcional es una prueba basada en la ejecucin, revisin y retroalimentacin de las funcionalidades previamente diseadas para el software. La pruebas funcionales se hacen mediante el diseo de modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete informtico.
Ingeniera de Software
Pruebas de Integracin
Pruebas integrales o pruebas de integracin son aquellas que se realizan en el mbito del desarrollo de software una vez que se han aprobado las pruebas unitarias. nicamente se refieren a la prueba o pruebas de todos los elementos unitarios que componen un proceso, hecha en conjunto, de una sola vez. Consiste en realizar pruebas para verificar que un gran conjunto de partes de software funcionan juntos. Las pruebas de integracin (algunas veces llamadas integracin y testeo I&t) es la fase del testeo de software en la cual mdulos individuales de software son combinados y testeados como un grupo. Son las pruebas posteriores a las pruebas unitarias y preceden el testeo de sistema.
Ingeniera de Software
Pruebas de validacin
Las pruebas de validacin en la ingeniera de software son el proceso de revisin que el sistema de software producido cumple con las especificaciones y que cumple su cometido. Es normalmente una parte del proceso de pruebas de software de un proyecto, que tambin utiliza tcnicas tales como evaluaciones, inspecciones, y tutoriales. La validacin es el proceso de comprobar lo que se ha especificado es lo que el usuario realmente quera. Se trata de evaluar el sistema o parte de este durante o al final del desarrollo para determinar si satisface los requisitos iniciales
Ingeniera de Software
Pruebas de sistema
se realizan las funciones especificadas Pruebas relacionadas con el rendimiento del sistema: Rendimiento (tiempos de respuesta adecuados) Volumen (funcionamiento con grandes volmenes de datos) (umbral lmite de los recursos) Sobrecarga (funcionamiento en el Disponibilidad de datos (cuando se produce una recuperacin ante fallos) Facilidad de uso (usabilidad) de desarranque, actualizacin de Operacin e instalacin (operaciones software) Entorno (interacciones con otros sistemas) y comunicaciones Seguridad (control de acceso e intrusiones)
Ingeniera de Software
Ingeniera de Software
Pruebas de aceptacin
Estas pruebas las realiza el cliente. Son bsicamente pruebas funcionales, sobre el sistema completo, y buscan una cobertura de la especificacin de requisitos y del manual del usuario. Estas pruebas no se realizan durante el desarrollo, pues sera impresentable al cliente; sino que se realizan sobre el producto terminado e integrado o pudiera ser una versin del producto o una iteracin funcionad pactada previamente con el cliente. La experiencia muestra que an despus del ms cuidadoso proceso de pruebas por parte del desarrollador, quedan una serie de errores que slo aparecen cuando el cliente comienza a usarlo.
Ingeniera de Software
Pruebas de regresin
Se denominan Pruebas de regresin a cualquier tipo de pruebas de software que intentan descubrir las causas de nuevos errores (bugs), carencias de funcionalidad, o divergencias funcionales con respecto al comportamiento esperado del software, inducidos por cambios recientemente realizados en partes de la aplicacin que anteriormente al citado cambio no eran propensas a este tipo de error. Esto implica que el error tratado se reproduce como consecuencia inesperada del citado cambio en el programa. Este tipo de cambio puede ser debido a prcticas no adecuadas de control de versiones, falta de consideracin acerca del mbito o contexto de produccin final y extensibilidad del error que fue corregido (fragilidad de la correccin), o simplemente una consecuencia del rediseo de la aplicacin.
Ingeniera de Software
Pruebas de carga
son las pruebas que se realizan, desde una perspectiva, para determinar lo rpido que realiza una tarea un sistema en condiciones particulares de trabajo. Tambin puede servir para validar y verificar otros atributos de la calidad del sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. Las pruebas de rendimiento son un subconjunto de la ingeniera de pruebas, una prctica informtica que se esfuerza por mejorar el rendimiento, englobndose en el diseo y la arquitectura de un sistema, antes incluso del esfuerzo inicial de la codificacin.
Ingeniera de Software
Pruebas de prestaciones
Las pruebas de prestaciones, enmarcadas dentro de lo que se viene a llamar Calidad Operacional o Calidad de Servicio son, hoy en da, cada vez ms necesarias: los tiempos de respuesta por encima de lo aceptable, la excesiva variabilidad de los mismos en funcin de la carga del sistema y los problemas de fiabilidad o disponibilidad deben de considerarse errores tan graves como los de funcionalidad. Los problemas de rendimiento son provocados por causas que pueden clasificarse en dos categoras: predecibles e impredecibles
Ingeniera de Software
Pruebas de recorrido
Nunca se puede asegurar que una aplicacin funcionar correctamente siempre, pues es inviable econmicamente realizar pruebas de todos los componentes individuales y de todos los componentes como conjunto. Las pruebas deben ser diseadas para descubrir fallos y no para demostrar que el software funciona. Siendo ms razonable disear pruebas de aquellas partes en donde la probabilidad de fallo es mayor. Las pruebas deben ser diseadas por personas distintas a las personas que desarrollan el componente que se desea probar. De todos es bien sabido que conocemos los fallos de nuestros componentes y si el componente es ejecutado por las personas que lo desarrollan cuando lo ensean, no van a ser tan ingenuos de hacer que falle.
Ingeniera de Software
Pruebas de mutacin
Esta prueba esta basada en la introduccin deliberada de diferentes cdigos externos al programa (bugs) para reexaminar si estos bugs pueden ser detectados. Requiere gran disponibilidad de recursos de computacin.
Ingeniera de Software
Pruebas concurrentes
Esto viene al caso de que comnmente uno define los escenarios de Performance o de pruebas de Carga de la manera: La aplicacin debe soportar un mximo de 250 usuarios concurrentes poniendo implcitamente la cantidad e usuarios concurrentes como parmetro de entrada para las pruebas.
Ingeniera de Software