TAC
Auditoría Informática
[INTEGRACIÓN, VERIFICACIÓN Y VALIDACIÓN DEL SISTEMA] TAC
INTRODUCCIÓN
AUDITORÍA INFORMÁTICA
También permiten detectar de forma sistemática el uso de los recursos y los flujos de
información dentro de una organización y determinar qué información es critica para
el cumplimiento de su misión y objetivos, identificando necesidades, duplicidades,
costes, valor y barreras, que obstaculizan flujos de información eficientes.
Eficiencia
Eficacia
Rentabilidad
Seguridad
Consiste en realizar pruebas para verificar que un gran conjunto de partes de software
funcionan juntos.
Las pruebas de integración (algunas veces llamadas integración y testeo I&t) es la fase
del testeo de software en la cual módulos individuales de software son combinados y
testeados como un grupo. Son las pruebas posteriores a las pruebas unitarias y
preceden el testeo de sistema.
VERIFICACIÓN
VALIDACIÓN
SITUACIÓN ACTUAL
Los modelos de desarrollo de software son distintos paradigmas que nos indican cómo
realizar el ciclo de vida del software.
DESARROLLO EN ESPIRAL
Especificación conceptual
Análisis de requerimientos
Diseño inicial
Diseño detallado, codificación, depuración y liberación
- Plan operativo: Etapa donde se define el problema a resolver, las metas del
proyecto, las metas de calidad y se identifica cualquier restricción aplicable al
proyecto.
En lo único que si suelen coincidir todos es en que la integración es una fase aparte
dentro del ciclo de vida del software.
La ESA ha escrito una amplia serie de documentos sobre cómo se debe de desarrollar
el software de es esta agencia y utilidades para mejorarlo.
Dentro de todos los documentos que esta agencia provee nos centraremos en ECSS-E-
40
Verificación:
Validación:
Objetivo final:
HERRAMIENTAS, WORKBENCH
TIPOS DE TÉCNICAS
ERROR/FIABILIDAD
El error:
- Descubrir un error
Técnicas de fiabilidad
- Test estadístico
- Se emplea para determinar el rendimiento y la fiabilidad del programa.
- Se realiza sobre las condiciones reales de trabajo y con las frecuencias de
entrada y salida reales.
- Después de la ejecución de los test, se realiza un análisis de los fallos o defectos
encontrados para determinar la fiabilidad del sistema (cuantas veces se ha
colgado, no necesariamente errores de código).
ANÁLISIS/MEDIDA
Análisis
Medida
- Planificación:
- Overview:
- Preparación:
El tiempo que pueda llevar esta etapa va a depender de cuan familiarizado esté
el inspector con el trabajo que debe analizar.
- Examen:
- Retrabajo:
- Seguimiento:
WALKTHROUGS
WALKTHOUGHT COGNITIVO
Es un walkthrougt (ver tema anterior) pero guiado solo a través del análisis de
los pasos de un GUI.
AUDITORIAS
ANÁLISIS DE CONFIANZA
- Análisis de los peligros - implica el uso de guías para identificar peligros, sus
raíces y posibles contramedidas.
- Análisis del riesgo - Yendo más allá, identifica las consecuencias y la
probabilidad de que ocurra.
EJECUCIÓN SIMBÓLICA
PRUEBAS FORMALES
TRACEABILIDAD
CHECKLIST
MÉTODOS DE PRUEBAS
PRINCIPIOS
A medida que se van haciendo las pruebas y se recogen los datos de los errores,
se pueden emplear los perfiles de fallos para dar prioridad y categorizar los
errores descubiertos La prioridad indica la severidad del problema.
FACILIDAD DE LA PRUEBA
TIPOS
En cuanto a su propósito:
o Prueba de defectos
o Análisis de la fiabilidad
Estrategias
Big-bang
Incrementales – Descendente
- Se van sustituyendo los módulos dummy por los reales uno a uno
- Se sigue una estrategia de regresión
- Tipos:
o Primero en profundidad
o Primero en anchura
Ascendente
- Los módulos inferiores (las hojas del arbol) se asocian en grupos por función.
- A estos grupos se les añade un controlador
- Y se sigue el proceso hacia arriba
Delegación de culpabilidad
Prueba de recuperación:
Prueba de seguridad:
Prueba de resistencia
- Pruebas de carga
- Situaciones anormales
- Prueba de sensibilidad
- Prueba de rendimiento
PROBLEMA
A día de hoy la auditoría de sistemas es una que se aplica de forma muy diferente
dependiendo del sistema y que cuenta con muy pocas herramientas que permitan
realizar tareas de forma automática.
Es por tanto un proceso engorroso en el que la calidad con la que se realice dependerá
de la capacidad del personal que la hace.
Otro de los mayores problemas es que los procesos de validación y verificación hacen
que el desarrollo del software sea proporcionalmente más lento según el rigor con el
que se realicen la validación y la verificación.
CONCLUSIONES
A día de hoy y según se va madurando el desarrollo de software cabría esperar que las
empresas gastasen más recursos en asegurar que su software es de calidad y tuviesen
un mayor rigor en cuanto al ciclo de vida del software se refiere.
También se podría esperar que existiesen unas herramientas intuitivas para realizar la
validación y verificación del software.
Existen muchos ejemplos sobre esta tendencia y el más próximo a todos sería el
Windows Vista que desde primer momento se noto que era un sistema operativo a
medio terminar y que todas las novedades que iba a traer se quedaron en novedades
visuales.
Yo creo que los procesos de verificación y validación han sido sustituidos por las
actualizaciones y por desgracia para todos el papel de los auditores recae ahora en los
usuarios que en vez de cobrar se encuentran con un “trabajo” a medias por el que han
pagado.
REFERENCIAS
http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
http://es.wikipedia.org/wiki/Pruebas_de_integraci%C3%B3n
http://es.wikipedia.org/wiki/Auditor%C3%ADa_inform%C3%A1tica
http://es.wikipedia.org/wiki/Modelo_en_cascada
http://es.wikipedia.org/wiki/Desarrollo_en_espiral
http://www.fceia.unr.edu.ar/ingsoft/unidad21-4.pdf
http://es.wikipedia.org/wiki/Desarrollo_por_etapas
http://www.esa.int/TEC/Software_engineering_and_standardisation/TECBUCUXBQE_
2.html
http://www.math.unipd.it/~tullio/IS-1/ECSS-E-40A.pdf
http://standards.ieee.org/reading/ieee/std_public/description/se/1012-
1998_desc.html
http://bmrc.berkeley.edu/purify/docs/html/installing_and_gettingstarted/3-
pureCov.html
http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html#SEC2