Tema 2. Software Testing

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 2. Software Testing"

Transcripción

1 Tema 2. Software Testing Herramientas Avanzadas para el Desarrollo de Software Profesora: Alicia Villanueva DSIC, Escuela Técnica Superior de Ingeniería Informática Curso

2 Indice Indice Introducción Taxonomía Grado de Cobertura Generación automática de casos de prueba Generación aleatoria de pruebas Generación simbólica de pruebas

3 Introducción Objetivos Software Testing Comprender el papel de la prueba de programas dentro del desarrollo de software. Identificar los criterios y valores que determinan la calidad de los programas y de la prueba de programas. Identificar cuáles son los parámetros determinantes en el proceso de prueba de programas Conocer las técnicas básicas de generación automática de casos de prueba

4 Introducción Bibliografía Software Testing The Art of Software Testing. Glenford J. Myers. John Wiley & Sons, Inc Software Testing And Analysis: Process, Principles And Techniques. Mauro Pezze y Michal Young. Wiley & Sons Software Engineering with Student Project Guidance. Barbee Teasley Mynatt. Prentice-Hall International Editions, Software Testing Techniques. Boris Beizer. Van Nostrand Reinhold (N.Y.) 2nd Edition, Software Engineering: A Practitioner s Approach. Roger S. Pressman. McGraw-Hill Why Programs Fail. A Guide to Systematic Debugging. Andreas Zeller. Elsevier, Morgan Kaufmann Publishers, dponkt.verlag 2005.

5 Introducción Bibliografía Software Testing On Random and Partition Testing, S. Ntafos. International Symposium on Software Testing and Analysis, Constraint-Based Automatic Test Data Generation. R.A. DeMillo, A.J. Offutt. IEEE Transactions on Software Engineering, 17(9), Automated Software Test Data Generation, B. Korel. IEEE Transactions on Software Engineering, 16(8) Test-Data Generation Using Genetic Algorithms, R.P. Pargas, M.J. Harrols, R.R. Peck. The journal of software testing, verification and reliability, 9,1999. Gast: Generic Automated Software Testing, P.Koopman, A. Alimarine, J. Tretmans, R. Plasmeijer.

6 Introducción Motivación Prevenir o curar? Algunos datos: Barron 2002 Aproximadamente el 22 % de los PCs y el 25 % de los portátiles fallan cada año, en comparación al 9 % de los VCRs, el 7 % de las grandes pantallas de televisión, el 7 % de las secadoras de ropa, y el 8 % de las neveras. US 2002 Los defectos de software están costando a la economía de USA una estimación de 59.5 billones de dólares cada año (Estudio federal llevado a cabo por RTI). Beizer 1990 Del trabajo empleado para desarrollar un programa que funcione, normalmente el 50 % se utiliza en tareas de testing y depuración. ailpern 2002 Las actividades de validación (depuración, testing y verificación) pueden fácilmente abarcar desde el 50 % al 75 % del coste total de desarrollo Gould 1975 De un grupo de programadores experimentados, los tres mejores en tareas de depuración eran capaces de encontrar defectos en el 30 % de tiempo del empleado por los tres peores, y cometían solo un 40 % de los errores. RTI 2002 Los desarrolladores estiman que las mejoras en testing y depuración podrían reducir el coste de los errores de software en un tercio

7 Introducción Motivación Prevenir o curar? En general, cuando un programa falla, han ocurrido tres cosas: 1. El programador ha introducido un defecto en el código (bug) 2. El defecto causa una infección en el estado del programa 3. La infección causa un fallo: un error observable Debemos Prevenir la introducción de defectos Tener mecanismos para detectar estos defectos: identificación de fallos Automatizar las tareas mejora Eficacia Eficiencia

8 Introducción Qué es Software Testing? Software testing (ST) es una técnica usada para analizar la corrección, completitud y calidad de programas. proceso: ejecutar una serie de casos de prueba y evaluar el resultado evaluación: no sólo de la calidad del programa, sino también de la calidad de la prueba Software testing is the process of questioning a product in order to evaluate it.

9 Introducción Qué es Software Testing? ST no puede demostrar la corrección de un programa. Es un problema actual, objeto de innumerables investigaciónes El objetivo final es el de garantizar un nivel de calidad aceptable se debe definir qué es aceptable dependerá del tipo de programa que se esté probando

10 Introducción Qué es Software Testing? Reglas básicas del software testing (Zeller 2005) Especificar: Un programa no puede ser correcto por sí mismo, lo será con respecto a una especificación que describa su objetivo. Prueba temprana: No se debe esperar a que esté el sistema desarrollado completamente para probarlo. Prueba primero: Escribe los casos de prueba antes de implementar la unidad de código correspondiente. Los casos de prueba pueden servir como especificación. Prueba con frecuencia: Al menos se debe probar con cada entrega del software. Lo ideal es probar con cada cambio del programa ( automatización!). Prueba suficiente: Mide la cobertura de las pruebas. Que prueben otros: Las pruebas en busca de problemas desconocidos es un proceso destructivo. Una persona independiente podrá ser más objetivo a la hora de hacer las pruebas.

11 Introducción Atributos que determinan la calidad del software Funcionalidad: relacionados con las funciones del programa y sus propiedades. Fiabilidad: relacionados con la capacidad del programa de mantener su nivel de eficacia bajo determinadas condiciones exigentes y durante un periodo de tiempo concreto. madurez, capacidad de recuperación, tolerancia a fallos. Eficiencia: relacionados con el compromiso entre la eficiencia del programa y la cantidad de recursos usados bajo determinadas condiciones. comportamiento temporal, recursos usados.

12 Introducción Atributos que determinan la calidad del software Portabilidad: relacionados con la capacidad de un programa de ser transferido de un entorno a otro. instalación, conformidad, reemplazamiento, adaptabilidad. Mantenimiento: relacionados con el esfuerzo necesario para hacer determinados cambios en los programas. estabilidad, capacidad de ser analizado, maleabilidad. Amigabilidad: relacionados con el esfuerzo necesario para usar el programa. facilidad en el aprendizaje, facilidad de comprensión.

13 Introducción Tipos de pruebas Existen muchos tipos de pruebas de programa. cada tipo de prueba tiene un objetivo final distinto y se centra en una clase de errores o de programas ejemplo tipos de pruebas: pruebas unitarias, que pueden realizarse usando pruebas de caja blanca o pruebas de caja negra

14 Introducción Tipos de pruebas Existen muchos tipos de pruebas de programa. cada tipo de prueba tiene un objetivo final distinto y se centra en una clase de errores o de programas ejemplo tipos de pruebas: pruebas unitarias, que pueden realizarse usando pruebas de caja blanca o pruebas de caja negra Pruebas de caja blanca Objetivo: usando la estructura del código, intentar cubrir todas las posibles ejecuciones del programa con el menor número de casos de prueba Pruebas de caja negra Objetivo: encontrar errores funcionales, tomando como referencia los requisitos funcionales del programa.

15 Introducción Conceptos básicos Una prueba consiste en general en la ejecución de casos de prueba y su evaluación. Caso de prueba Consiste en una única ejecución del programa (a veces restringida a un único paso de ejecución) Parámetros que lo identifican: datos de entrada, identificador, orden de ejecución, requisitos adicionales, tipo de prueba, autor, resultado esperado.

16 Introducción Conceptos básicos Suite Conjunto de casos de prueba. Contiene además instrucciones para su ejecución y objetivos relacionados con la prueba. Puede contener descripciones de pruebas sucesivas Plan de pruebas Conjunto de casos de prueba pero con distinta información asociada: tipo de propiedades que se desean probar, cómo se debe interpretar el resultado, descripción detallada de la prueba.

17 Introducción Conceptos básicos Scripts Pequeños programas que automatizan la ejecución de los casos de prueba. normalmente usados para pruebas de caja blanca es necesario poder comparar de forma sencilla el resultado obtenido con la salida esperada. Mock object Objetos creados artificialmente que repiten acciones que previamente se han capturado simula el comportamiento de un objeto real reemplaza al objeto real durante el proceso de prueba

18 Introducción Conceptos básicos Escenario Definición de una prueba en base a una historia hipotética. El escenario ideal será una historia motivante, creíble y compleja, pero fácil de evaluar. Puede ser un diagrama o una descripción en lenguaje natural.

19 Introducción Ciclo de vida Dos reglas básicas: Cuándo parar la prueba de un programa? Regla pesimista: Se para cuando se acabe el presupuesto, el tiempo o cuando se agoten los casos de prueba. Regla optimista: Se para cuando la fiabilidad del programa alcance el nivel exigido por los requisitos o bien cuando el beneficio de seguir con la prueba no justifique el coste.

20 Taxonomía Taxonomía Existen muchos métodos de prueba. Distintos criterios de clasificación dan lugar a distintas clasificaciones. Clasificación según finalidad Pruebas de corrección Pruebas de rendimiento Pruebas de fiabilidad Pruebas de seguridad

21 Taxonomía Taxonomía Clasificación según alcance Pruebas de unidad Pruebas de componente Pruebas de integración Pruebas de sistema

22 Taxonomía Taxonomía Clasificación según ciclo de vida Pruebas de fase de requisitos Pruebas de fase de diseño Pruebas de fase de programa Evaluación de resultados de pruebas Pruebas de fase de instalación Pruebas de aceptación Pruebas de mantenimiento

23 Taxonomía Pruebas de corrección (finalidad) Objetivo: Garantizar una máxima corrección del producto. Lo mínimo que exigimos a un programa es que sea correcto. Recordad que no se puede garantizar una corrección total. Medimos la corrección con respecto a los requisitos del sistema (a cualquier nivel). Las pruebas de caja blanca y caja negra pueden ser útiles (entre otras cosas) para probar corrección

24 Taxonomía Pruebas de rendimiento (finalidad) Objetivo: Detectar posibles cuellos de botella en el código, además de comparar y evaluar el rendimiento del programa. No todos los programas tienen requisitos específicos en cuanto a rendimiento esperado. Método: usar benchmarks Atributos de rendimiento: Consumo de recursos, producción, tiempo de respuesta a estímulos, longitud de colas, etc. Recursos relacionados: Ancho de banda de la red, ciclos de CPU, espacio en disco, operaciones de acceso a disco, uso de memoria, etc.

25 Taxonomía Pruebas de fiabilidad (finalidad) Objetivo: Garantizar hasta un nivel determinado que un sistema no contiene operaciones que dan lugar a la aparición de errores. Está basado en el uso de un modelo de estimación para analizar los datos y estimar la fiabilidad actual y predecir la fiabilidad futura. En base al resultado se decide si sacar el programa al mercado Los usuarios pueden decidir si usar el producto o no.

26 Taxonomía Pruebas de seguridad (finalidad) Objetivo: Identificar y eliminar errores en el código que puedan dar lugar a violaciones de seguridad. Validar la efectividad de las medidas de seguridad tomadas en la fase de diseño y de desarrollo. La calidad, la fiabilidad y la seguridad de los programas están íntimamente relacionadas. Se pueden usar simulaciones de ataques para encontrar puntos vulnerables del sistema

27 Grado de Cobertura Grado de Cobertura de las pruebas Qué es? La cobertura permite medir lo buena o mala que ha sido una prueba en base a un criterio se debe elegir un criterio de cobertura se debe elegir un grado de cobertura aceptable dependerá del tipo de sistema que se esté probando, el número de usuarios que podrían verse afectados ante un fallo, etc.

28 Grado de Cobertura Grado de Cobertura de las pruebas Qué es? La cobertura permite medir lo buena o mala que ha sido una prueba en base a un criterio se debe elegir un criterio de cobertura se debe elegir un grado de cobertura aceptable dependerá del tipo de sistema que se esté probando, el número de usuarios que podrían verse afectados ante un fallo, etc. Distintos criterios de cobertura marcan distintos objetivos finales de las pruebas

29 Grado de Cobertura Grado de Cobertura de las pruebas Criterios de cobertura Cobertura de segmentos o de sentencias Un segmento es una secuencia de sentencias sin puntos de decisión Se harán pruebas para cada segmento Cobertura de ramas recorre todas las salidas de los puntos de decisión cobertura 100 % implica cobertura 100 % de segmentos necesita refinamiento en lenguajes que soportan excepciones: añadir pruebas que las provoquen Cobertura de condición/decisión trocea las expresiones booleanas complejas en sus componentes e intenta curbir todos los posibles valores de cada uno de ellos. mejora la cobertura de ramas

30 Grado de Cobertura Grado de Cobertura de las pruebas Criterios de cobertura Cobertura de bucles realiza pruebas según el tipo de bucle los bucles son segmentos controlados por decisiones para bucles tipo while: tres pruebas 1. caso en que no se ejecuta 2. caso en que se ejecuta una sola vez 3. caso en que se ejecuta más de una vez para bucles de tipo repeat: dos pruebas 1. caso en que se ejecuta una sola vez 2. caso en que se ejecuta más de una vez los bucles de tipo for: mismos casos que while Son seguros siempre y cuando: no se altere la variable de control en el interior del bucle no contengan sentencias exit, return o peor aún, goto cuando esto no ocurre debemos usar la cobertura de ramas

31 Grado de Cobertura Grado de Cobertura de las pruebas Qué es una buena cobertura? Una buena cobertura se define en función de lo crítico que sea el programa. se valora el riesgo (o coste) que implica un fallo durante su ejecución para software donde un fallo afecta sólo a la imagen dada (poco crítico), suelen bastar coberturas entre el 60 % y 80 % el número de usuarios también es determinante en la elección del grado de cobertura exigido

32 Generación automática de casos de prueba Generación Automática de pruebas Motivación La fase de diseño de casos de prueba de un sistema puede llegar a suponer el 50 % del coste del desarrollo de la prueba Las técnicas para automatizar la generación de casos de prueba puede reducir dicho coste a la vez que puede incrementar la calidad de las pruebas. El número de pruebas necesarios para probar el software puede ser infinito, por ello las técnicas para la generación de pruebas intentan encontrar un conjunto mínimo de pruebas sin pérdida de eficacia

33 Generación automática de casos de prueba Generación Automática de pruebas Paradigmas Generación aleatoria se generan entradas aleatoriamente hasta que se encuentra una útil según un determinado criterio cuanto más complejo es el programa, más difícil encontrar un caso útil. Generación de tests simbólicos estáticamente se asignan valores simbólicos a las variables búsqueda directa a través de la ejecución del programa a probar se usan técnicas de búsqueda metaheurísticas: algoritmos genéticos, recocido simulado o búsqueda tabú.

34 Generación aleatoria de pruebas Generación aleatoria de pruebas La generación aleatoria de casos de prueba es una técnica muy fácil y rápida de implementar aunque muchos científicos cuestionan la calidad de la prueba que se obtiene. a priori no se necesita información adicional sobre el código del programa se deben generar casos de prueba útiles es posible guiar la generación para obtener más cantidad de casos útiles

35 Generación simbólica de pruebas Generación simbólica de pruebas Idea La idea de los métodos simbólicos es la de generar los casos de prueba a partir de información estática del programa. PROBLEMAS tenemos problemas cuando la sintaxis del lenguaje de programación permite poder definir estructuras de datos (por ejemplo matrices) cuya dimensión depende de algún parámetro de entrada podría ser necesario probar todas las posibles dimensiones de las estructuras de datos

36 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones Método introducido por DeMillo y Offutt, con el que usando técnicas de mutación del código, definen un conjunto de restricciones y, a partir de ellas se generan conjuntos de datos que las satisfacen.

37 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones NOTACIÓN Dada una función F, llamamos P al programa que la modela P(t) es el valor de la función en el punto t, el conjunto de los puntos en los que P está definido es el dominio D de P

38 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones NOTACIÓN Dada una función F, llamamos P al programa que la modela P(t) es el valor de la función en el punto t, el conjunto de los puntos en los que P está definido es el dominio D de P Adecuación Un conjunto de pruebas T D es adecuado para P y F si, para todos los programas Q, si Q(D) F(D) t T.Q(t) P(t)

39 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones En general, es imposible calcular de forma eficaz un conjunto de pruebas adecuado para un programa, por ello se define: Mutation Adequacy Dado un conjunto finito de programas Φ, un conjunto de pruebas T D es adecuado para P con respecto a Φ si para todo programa Q Φ, si Q(D) F(D) t T.Q(t) P(t)

40 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones Relacionado con las técnicas de mutación del código tenemos acceptor, accp(p,t) que devuelve true si T es adecuado para P con respecto a un Φ dado generator, gen(p) que genera un conjunto T adecuado para P con respecto a un dado Φ los generadores usan operadores de mutación que producen programas casi idénticos al original

41 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones Relacionado con las técnicas de mutación del código tenemos acceptor, accp(p,t) que devuelve true si T es adecuado para P con respecto a un Φ dado generator, gen(p) que genera un conjunto T adecuado para P con respecto a un dado Φ los generadores usan operadores de mutación que producen programas casi idénticos al original Mothra Mothra es un sistema capaz de generar variantes de programas FORTRAN o C usando 22 y más de 70 operadores de mutación respectivamente

42 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones Los operadores de mutación deben definirse para modelar los errores que los programadores cometen con más frecuencia teniendo en cuenta criterios como valores límite, cobertura de ramas, etc.

43 Generación simbólica de pruebas Generación simbólica de pruebas Método basado en restricciones Los operadores de mutación deben definirse para modelar los errores que los programadores cometen con más frecuencia teniendo en cuenta criterios como valores límite, cobertura de ramas, etc. Mutante Un mutante es un programa generado a partir de un operador de mutación. en nuestro contexto representará un programa incorrecto, perteneciente al conjunto Φ

44 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones CONSTRAINT-BASED TESTING El método define de forma automática condiciones, expresadas como restricciones algebraicas, bajo las cuales un programa mutante fallaría (es decir, daría un resultado distinto al esperado). A partir de las restricciones, se generan automáticamente casos de prueba que satisfacen dichas restricciones. Es un método aproximado!

45 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones Dado el programa: Se generan los mutantes: EJEMPLO: CONJUNTO DE MUTANTES FUNCTION MAX (M,N) 1 MAX = M 2 if (N > M) MAX = N 3 return FUNCTION MAX (M,N) 1 MAX = N 2 if (N > M) MAX = N 3 return FUNCTION MAX (M,N) 1 MAX = M 2 if (N < M) MAX = N 3 return FUNCTION MAX (M,N) 1 MAX = abs(m) 2 if (N > M) MAX = N 3 return FUNCTION MAX (M,N) 1 MAX = M 2 if (N M) MAX = N 3 return

46 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones DEFINICIÓN DE RESTRICCIONES Noción de necesidad Dado un programa P y un mutante M, que consiste en cambiar la sentencia S de P, para que un caso de prueba t sea capaz de eliminar el mutante M, es necesario que el estado de M tras la ejecución de S sea distinto al estado de P en ese mismo punto de ejecución No es una condición suficiente!

47 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones EJEMPLO: RESTRICCIONES NECESARIAS FUNCTION MAX (M,N) 1 MAX = M MAX = N M N MAX = abs(m) M < 0 2 if (N > M) MAX = N if (N < M) MAX = N (N>M) (N<M) if (N M) MAX = N (N>M) (N M) 3 return

48 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones Plantillas (incompleta) para la definición de las restricciones según Mothra: sustitución de un array por otro A(e 1 ) B(e 2 ) sustitución de un array por una constante C A(e 1 ) sustitución de un operador aritmético e 1 ρe 2 e 1 φe 2 e 1 ρe 2 e 1 e 1 ρe 2 e 2 e 1 ρe 2 Mod(e 1, e 2 ) sustitución de una constante por un array A(e 1 ) C sustitución de una variable por un escalar X C sustitución de conector lógico por otro e 1 ρe 2 e 1 φe 2 sustitución de operador relacional por otro e 1 ρe 2 e 1 φe 2 sustitución de variables escalares X Y

49 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones CALIDAD: MÉTODO ITERATIVO En todo momento tenemos un conjunto de mutantes antes de añadir un caso de prueba al conjunto generado se ejecuta un caso de prueba en el programa original se ejecuta el caso de prueba en cada mutante y se comparan los resultados con el esperado si el resultado es distinto, entonces se elimina el mutante del conjunto de mutantes

50 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones Una vez termina el método iterativo, se obtienen dos resultados: la cantidad de mutantes eliminados del conjunto generado Cuantos más mutantes se hayan eliminado, mejor es el conjunto de casos de prueba Los mutantes no eliminados nos indican vulnerabilidades del programa

51 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones Una vez termina el método iterativo, se obtienen dos resultados: la cantidad de mutantes eliminados del conjunto generado Cuantos más mutantes se hayan eliminado, mejor es el conjunto de casos de prueba Los mutantes no eliminados nos indican vulnerabilidades del programa El objetivo final es el de eliminar todos los mutantes de Φ

52 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones En general, es imposible definir restricciones suficientes, pero existen mejoras a las restricciones de necesidad. Restricciones de predicado Unidas a las restricciones de necesidad, mejoran la precisión de los casos de prueba generados Tratan de diferenciar predicados distintos, generando para cada mutante e la restricción e e

53 Generación simbólica de pruebas Estrategia Generación simbólica de pruebas Método basado en restricciones EJEMPLO: RESTRICCIONES DE PREDICADO Expresión original: if (I+K J) then... Mutante: if (3+K J) then... Restricción de necesidad: I 3 Caso de prueba: I=7, J=9, K=7 se satisface I 3 I+K=14 J y 3+K=10 J no distinguimos el mutante Restricción de predicado: (I+K J) (3+K J) true true NO se satisface

54 Metaheurísticas Metaheurísticas aplicadas a pruebas de caja blanca Algoritmos genéticos Jones, Stharner y Eyres McGraw, Michael y Schatz Pargas, Harrold y Peck Lin y Yeh. Búsqueda tabú Díaz y Tuya. Recocido Simulado Tracey, Clark y Mander

55 Método de Korel: TESTGEN Método de Korel Método dinámico basado en la ejecución real del programa, en métodos de minimización de funciones y en análisis del flujo de datos Idea Buscar valores de los parámetros de entrada que fuercen la ejecución de un determinado camino del código

56 Método de Korel: TESTGEN Método de Korel GRAFO DE FLUJO El grafo de flujo del programa Q es un grafo dirigido C = (N, A, s, e) donde N es el conjunto de nodos, A es una relación binaria entre nodos s es el nodo de entrada, perteneciente a N e es el nodo de salida, perteneciente a N

57 Método de Korel: TESTGEN Método de Korel GRAFO DE FLUJO los nodos representan las partes ejecutables más pequeñas del código con una única entrada y salida los arcos representan cambios de control entre las instrucciones representadas por los dos nodos de la relación si el arco está relacionado con un punto de decisión del programa, se le llama rama

58 Método de Korel: TESTGEN Método de Korel EJEMPLO: GRAFO DE FLUJO var A: array[1..100] of integer; low, high, step: integer; min, max: integer; i: integer; begin 1 input(low,high,step,a); 2 min := A[low]; 3 max := A[low]; 4 i:= low+step; 5 while i<high do begin 6,7 if max < A[i] then max:=a[i]; 8,9 if min > A[i] then min:=a[i]; 10 i:=i+step; end 11 output(min,max); end;

59 Método de Korel: TESTGEN Método de Korel EJEMPLO: GRAFO DE FLUJO (a completar)

60 Método de Korel: TESTGEN Método de Korel En lenguajes estructurados como C, el grafo de flujo es fácil de construir Problemas para la construcción del grafo: Saltos y go tos Saltos indirectos (dependientes de una variable) Llamada dinámica Excepciones Dependencias: de datos o de flujo / de lectura o de escritura Herramienta (análisis estático, slicing) CODESURFER

61 Método de Korel: TESTGEN Método de Korel EJEMPLO: CAMINO A RECORRER Dado el camino P = s, 1, 2, 3, 4, 5, 6, 8, 10, 5, 6, 8, 9, 10, 5, 11, encontrar los valores de entrada low, high, step y los elementos de A que hacen que P se ejecute. Valores iniciales: low = 39 high = 93 step = 12 A[1] = 1; A[2] = 2;... ; A[100] = 100

62 Método de Korel: TESTGEN Método de Korel EJEMPLO: TRAZA INICIAL (a completar)

63 Método de Korel: TESTGEN Método de Korel Normalmente, a partir de los datos de entrada iniciales no se cubre todo el camino. Cuando se queda bloqueado Para superar el punto de ejecución donde falla, se define una función objetivo y se intenta minimizar variando los valores de los parámetros de entrada.

64 Método de Korel: TESTGEN Método de Korel Las funciones serán de tipo Funcion Relación 0 siguiendo la plantilla: Código Función Relación E 1 > E 2 E 2 E 1 < E 1 E 2 E 2 E 1 E 1 < E 2 E 1 E 2 < E 1 E 2 E 1 E 2 E 1 = E 2 abs(e 1 E 2 ) = E 1 E 2 abs(e 1 E 2 ) E 1 y E 2 son expresiones aritméticas

65 Método de Korel: TESTGEN Método de Korel EJEMPLO: TRAZA (a completar)

66 Método de Korel: TESTGEN Método de Korel Factores determinantes en la eficiencia del algoritmo: proceso de incremento/decremento de los valores de los parámetros, una vez detectada la dirección buena análisis del flujo de datos para determinar el orden de moficación de las variables mejoras para manejar estructuras de datos dinámicas o punteros

67 Método de Jones et al. Método de Jones et al. Automatic structural testing using genetic algorithms. B. Jones, H. Sthamer y D. Eyers. The Software Engineering Journal 11, primera aplicación a generación automática de pruebas el objetivo es maximizar la cobertura de ramas usando el grafo de control de flujo del programa. usa como función objetivo el recíproco de la distancia de Hamming

68 Método de Jones et al. Método de Jones et al. Los algoritmos genéticos están basados en la teoría de la evoluciónd e Darwin: Idea Combinar muestras de la población para obtener individuos mejores, que aumente la calidad de la población Parámetros a decidir: representación de los individuos número de miembros de la población: fijo? población inicial método de cruce y mutación función objetivo método de selección de padres

69 Método de Jones et al. Método de Jones et al. CRUCE Cruce sencillo: Dados dos miembros (cadenas de bits), se elige de forma aleatoria un punto de la cadena que los representa y se intercambian las colas de las cadenas a partir de dicho punto. Cruce doble: Dados dos miembros, se eligen dos puntos de forma aleatoria de las cadenas y se intercambia la parte entre dichos dos puntos. Variantes: Intercambiar los elementos de las cadenas con una probabilidad dada (0.5).

70 Método de Jones et al. Método de Jones et al. MUTACIÓN Dado un miembro de la población, se elige de forma aleatoria un punto de la cadena y, con una probabilidad determinada, se cambia el valor del elemento en ese punto de la cadena si la cadena contiene datos binarios, la mutación consistirá en cambiar el valor de 0 a 1 o viceversa.

71 Método de Jones et al. Método de Jones et al. Algunas consideraciones generales: es necesario introducir cierta aleatoriedad en la elección de los padres para favorecer la diversidad de la población Es necesario definir de forma adecuada qué miembros serán los supervivientes tras un cruce o mutación, introduciendo aquí también un factor aleatorio La aleatoriedad permite que el algoritmo no se bloquee en mínimos locales.

72 Método de Jones et al. Método de Jones et al. ESQUEMA GENERAL DE UN ALGORITMO GENÉTICO Inicializar poblacion loop Determinar el ajuste de la poblacion Seleccionar los padres del cruce Obtener los miembros nuevos, mutar y determinar su ajuste si se alcanza el objetivo entonces salir is si se alcanzado limite de iteracion entonces salir is Seleccionar los supervivientes de la poblacion y los nuevos miembros Formar la nueva poblacion end loop

73 Método de Jones et al. Método de Jones et al. EJEMPLO: ESTRUCTURA SIMPLE if D=0 then C1 else C2 end if D es una función, dependiente de las variables x 1 y x 2 C1 y C2 son expresiones del lenguaje de programación hay que probar el caso en el que D=0 y el caso en el que D 0

74 Método de Jones et al. Método de Jones et al. EJEMPLO: ESTRUCTURA SIMPLE x 1 x 2 ajuste padres hijos x 1 x 2 ajuste descripción cruce en posición cruce en posición cruce en posición cruce en posición y mutación en 5

75 Método de Jones et al. Método de Jones et al. Cuando tratamos con un programa entero y no sólo con una expresión: se recurre al mantenimiento de un árbol o grafo de flujo de control el algoritmo considera de forma sucesiva todos los puntos de decisión del grafo o árbol, intentando que todas las ramas del grafo estén cubiertas por casos de prueba (miembros de la población).

76 Método GADGET, McGraw et al. Método GADGET, McGraw et al. Generating software test data by evolution. G. McGraw, C. Michael, M. Schatz. Technical Report RSTR , RST Corporation, el objetivo es maximizar la cobertura de ramas y de condición-decisión. la generación automática se hace usando su propio sistema GADGET (Genetic Algorithm Data Generation Tool) diseñado para trabajar con programas grandes escritos en C y C++. no limita el conjunto de construcciones de C válidas. busca un camino para alcanzar el punto del código donde se quiere que el criterio de cobertura sea satisfecho y convertir ese criterio en una función que pueda ser minimizada.

77 Método GADGET, McGraw et al. Método GADGET, McGraw et al. Como novedades, el sistema GADGET incorpora: además de poder usar un algoritmo genético tradicional, puede usar también el Differential Genetic Algorithm en el que el cruce se define de forma diferente

78 Método GADGET, McGraw et al. Método GADGET, McGraw et al. Como novedades, el sistema GADGET incorpora: además de poder usar un algoritmo genético tradicional, puede usar también el Differential Genetic Algorithm en el que el cruce se define de forma diferente DIFFERENTIAL GENETIC ALGORITHM se genera una población inicial aleatoria para cada elemento I de la población se eligen de forma aleatoria tres compañeros: A, B y C pueden coincidir con el mismo I

79 Método GADGET, McGraw et al. Método GADGET, McGraw et al. DIFFERENTIAL GENETIC ALGORITHM Dada una probabilidad p y un valor α, parámetros del algoritmo, se genera un nuevo elemento I : por cada elemento I i de la cadena que representa al elemento I, se define I i = I i con una probabilidad p con probabilidad 1 p, definimos I i = A i + α(b i C i ) Si el individuo I tiene una función objetivo mejor que I, se elimina I de la población y se introduce en su lugar el nuevo individuo I.

80 Método GADGET, McGraw et al. Método GADGET, McGraw et al. EJEMPLO Supongamos que p = 2/3 y que α = 0,4, entonces podríamos tener la siguiente situación: I = A B C I

81 Método GADGET, McGraw et al. Método GADGET, McGraw et al. COBERTURA Una vez definidos los parámetros del algoritmo Se inicializa una tabla de cobertura que contendrá los requisitos que deben ser cubiertos por los casos de prueba una lista de todas las condiciones y decisiones que aparecen en el código Empieza el bucle iterativo

82 Método GADGET, McGraw et al. Método GADGET, McGraw et al. En cada iteración del programa, se elige un requisito de la tabla, el cual intentará cubrir el algoritmo cada vez que un caso de prueba nuevo (un nuevo individuo) cubre un requisito cualquiera de la tabla, se marca en la tabla como cubierto cuando se cubre el requisito elegido, se inicia una nueva iteración si se alcanza el número máximo de iteraciones sin que se cubra el objetivo, se marca como intento fallido y se inicia una nueva iteración

83 Método GADGET, McGraw et al. Método GADGET, McGraw et al. El algoritmo termina cuando: todos los requisitos de la tabla han sido cubiertos no todos los requisitos se han cubierto, pero los no cubiertos se han intentado La calidad del conjunto de casos de prueba puede medirse según el número de requisitos que ha sido capaz de cubrir

84 Método TGEN, Pargas et al. Método TGEN, Pargas et al. Test data generation using genetic algorithms. R.P. Pargas, M.J. Harrold yr.r Peck. The journal of software testing, verification and reliability, 9, describe el sistema TGEN maximiza la cobertura de ramas y de sentencias usando el grafo de control de dependencias, en el que los nodos representan sentencias y los arcos representan las dependencias entre sentencias (predicados). la función objetivo compara el conjunto de predicados actual con el conjunto de predicados que tienen que cumplirse para llegar al nodo objetivo. una solución que cubre la mayoría de los predicados tendrá una evaluación alta de la función objetivo.

85 Método TGEN, Pargas et al. Método TGEN, Pargas et al. GRAFO DE DEPENDENCIAS Puede definirse a partir del grafo de flujo. Sean V y W dos nodos del grafo de flujo, decimos que W está post-dominado por V si todo camino dirigido que va de W a la salida, pasa obligatoriamente por V Dados dos nodos V e W del grafo de flujo de control, decimos que V es control-dependiente de W si y sólo si: 1. existe un camino dirigido de V a W que cumple que todos sus nodos Z están post-dominados por W, y 2. V no está post-dominado por W

86 Método TGEN, Pargas et al. Método TGEN, Pargas et al. GRAFO DE DEPENDENCIAS Puede definirse a partir del grafo de flujo. Sean V y W dos nodos del grafo de flujo, decimos que W está post-dominado por V si todo camino dirigido que va de W a la salida, pasa obligatoriamente por V Dados dos nodos V e W del grafo de flujo de control, decimos que V es control-dependiente de W si y sólo si: 1. existe un camino dirigido de V a W que cumple que todos sus nodos Z están post-dominados por W, y 2. V no está post-dominado por W Los nodos representan sentencias y los arcos dependencias entre sentencias

87 Método TGEN, Pargas et al. Método TGEN, Pargas et al. EJEMPLO: GRAFO DE DEPENDENCIAS Dado el siguiente programa escrito en pseudocódigo integer i, j, k 1 read i, j, k 2 if (i<j) 3 if (j<k) 4 i = k; 5 else k = i; endif endif 6 print i, j, k Obtenemos el grafo de flujo y de dependencias

88 Método TGEN, Pargas et al. Método TGEN, Pargas et al. EJEMPLO: GRAFO DE FLUJO (a completar)

89 Método TGEN, Pargas et al. Método TGEN, Pargas et al. EJEMPLO: GRAFO DE DEPENDENCIAS (a completar)

90 Método TGEN, Pargas et al. Método TGEN, Pargas et al. A partir del grafo de dependencias: cada camino acícliclo del grafo de dependencias contiene los predicados (arcos) que tienen que satisfacerse para llegar a ejecutar una determinada sentencia (nodo) Objetivo Cubrir con los casos de prueba generados (individuos del algoritmo genético), todos los predicados que aparecen en el grafo de dependencias

91 Método TGEN, Pargas et al. Método TGEN, Pargas et al. Función de aceptación (objetivo): número de predicados que son cubiertos Nótese que el objetivo de cubrir todos los predicados irá cambiando conforme se vayan cubriendo objetivos parciales

92 Método TGEN, Pargas et al. Método TGEN, Pargas et al. ALGORITMO (1/2) a partir del grafo de dependencias se generan los predicados que deben ser cubiertos por los casos de prueba se define un conjunto inicial de individuos se inicializan las estructuras de datos auxiliares que almacenan predicados ya cubiertos, etc. inicia el bucle iterativo

93 Método TGEN, Pargas et al. Método TGEN, Pargas et al. ALGORITMO (2/2) En cada iteración del bucle se elige un objetivo: obtiene un conjunto de casos de prueba mediante el algoritmo genético se calcula el grado de aceptación de la población se ordenan los individuos según su aceptación se seleccionan los padres de los nuevos individuos se cruza (método tradicional) o muta (se asigna un valor aleatorio a uno de los elementos de la cadena elegido aleatoriamente también) la proporción de cruces es del 90 % y de mutaciones 10 % si se alcanza un número límite de iteraciones sin poder cubrir el objetivo, se para y se marca el objetivo como inalcanzable

94 Método TGEN, Pargas et al. Método TGEN, Pargas et al. EJEMPLO Supongamos que en un momento dado tenemos la siguiente población: test Entrada (i, j, k) Sentencias t1 1, 6, 9 t2 0, 1, 4 t3 5, 0, 1 t4 2, 2, 3 Qué sentencia falta cubrir? Cuál es nuestra función objetivo?

95 Método TGEN, Pargas et al. Método TGEN, Pargas et al. EJEMPLO determinar el grado de aceptación de cada individuo con respecto al objetivo asignar probabilidad a cada elemento para ser elegido como padre de un cruce en función del grado de aceptación elegir los padres en el conjunto de padres puede repetirse un elemento generar nueva población determinar si satisface el objetivo o no

96 Método de Recocido Simulado Método de Recocido Simulado Automated program flaw finding using simulated annealing. N. Tracey, J. Clark y K. Mander. International Symposium on software testing and analysis, ACM/SIGSOFT, usa la técnica de recocido simulado para dos cosas: generar los casos de prueba en base a las especificaciones de un sistema probar condiciones que elevan excepciones en un programa no se usa para la generación de pruebas de cobertura. el recocido simulado es un método de búsqueda local que trata de encontrar un conjunto de posibles soluciones, reduciendo la posibilidad de quedarse atascado en un óptimo local malo mediante movimientos a soluciones inferiores controlados por un esquema aleatorio.

97 Método de Recocido Simulado Método de Recocido Simulado La función objetivo se define en base a la precondición y postcondición de un determinado fragmento de código El cálculo del valor de la función objetivo depende de la precondición y la postcondición negada se contará el número de componentes de la condición anterior expresada en forma normal disyuntiva que son satisfechas

98 Método de Recocido Simulado Método de Recocido Simulado La función objetivo se define en base a la precondición y postcondición de un determinado fragmento de código El cálculo del valor de la función objetivo depende de la precondición y la postcondición negada se contará el número de componentes de la condición anterior expresada en forma normal disyuntiva que son satisfechas EJEMPLO pasa a ser A (B (C D)) A B (C D)

99 Método de Recocido Simulado Método de Recocido Simulado El algoritmo buscará en la vecindad posibles casos de prueba que sean mejores en términos de la función objetivo que los actuales, hablando de variables reales, la vecindad puede ser un rango superior e inferior de valores Habrá un mecanismo de selección por el que casos de prueba peores podrán ser seleccionados, sobre todo en la fase inicial de la ejecución. este mecanismo permite evitar quedarse bloquado en un mínimo local

Comparación de técnicas metaheurísticas para la generación automática de casos de prueba que obtengan una cobertura software

Comparación de técnicas metaheurísticas para la generación automática de casos de prueba que obtengan una cobertura software Comparación de técnicas metaheurísticas para la generación automática de casos de prueba que obtengan una cobertura software Eugenia Díaz, Raquel Blanco, Javier Tuya Departamento de Informática, Universidad

Más detalles

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE Técnicas de prueba El desarrollo de Sistemas de software implica la realización de una serie de actividades predispuestas a incorporar errores (en la etapa de definición de requerimientos, de diseño, de

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

1. Descripción y objetivos

1. Descripción y objetivos Pruebas 1 1. Descripción y objetivos Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar: El correcto funcionamiento de los componentes del sistema.

Más detalles

CLASE # 5 TÉCNICAS DE CAJA BLANCA

CLASE # 5 TÉCNICAS DE CAJA BLANCA CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente

Más detalles

Programación Genética

Programación Genética Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010

SSTQB. Nivel Fundamentos. Examen ejemplo. Programa de estudios 2010 SSTQB Nivel Fundamentos Examen ejemplo Página 1 de 12 Fecha publicación: 28 - octubre - 2015 Índice Preguntas... 3 Respuestas... 12 Página 2 de 12 Fecha publicación: 28 - octubre - 2015 Preguntas 1 2 Una

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS

ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS ETSIINGENIO 2009 DIBUJO DE GRAFOS MEDIANTE ALGORITMOS GENÉTICOS EtsiIngenio Inteligencia Artificial 1 Raposo López Alejandro Sánchez Palacios Manuel Resumen dibujo de grafos mediante algoritmos genéticos

Más detalles

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A.

Sistemas de Información Administrativo - Universidad Diego Portales. Cátedra : Sistemas de Información Administrativa S.I.A. Cátedra : Sistemas de Información Administrativa S.I.A. Escuela de Contadores Auditores Tema: Ingeniería del Software Estrategias de Pruebas Relator: Sr. Eduardo Leyton G Pruebas del Software (Basado en

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net 2012 Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net Servinet Sistemas y Comunicación S.L. www.softwaregestionproyectos.com Última Revisión: Febrero

Más detalles

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia. DISCOS RAID Raid: redundant array of independent disks, quiere decir conjunto redundante de discos independientes. Es un sistema de almacenamiento de datos que utiliza varias unidades físicas para guardar

Más detalles

ESTRUCTURA DE DATOS: ARREGLOS

ESTRUCTURA DE DATOS: ARREGLOS ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción

Más detalles

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWARE CICLO DE VIDA DEL SOFTWARE 1. Concepto de Ciclo de Vida 2. Procesos del Ciclo de Vida del Software 3. Modelo en cascada 4. Modelo incremental 5. Modelo en espiral 6. Prototipado 7. La reutilización en

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

Más detalles

Ingeniería en Informática

Ingeniería en Informática Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

Técnicas Avanzadas de Testing Automatizado

Técnicas Avanzadas de Testing Automatizado Técnicas Avanzadas de Testing Automatizado Criterios de cobertura: Caja blanca/caja negra Clases de Equivalencia Valores de borde Cobertura basada en flujo de control CodeCover Mutación Jumble Criterios

Más detalles

Testing. Tipos, Planificación y Ejecución de Pruebas

Testing. Tipos, Planificación y Ejecución de Pruebas Testing Tipos, Planificación y Ejecución de Pruebas Contenido Definiciones del Testing de Software Objetivos, conceptos Tipos de Test Testing a-la RUP Rol del Testing en el proceso Artefactos Trabajadores

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

Más detalles

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler Bizagi Process Modeler Copyright 2011 - Bizagi Tabla de Contenido CRM- Gestión de Oportunidades de Venta... 4 Descripción... 4 Principales Factores en la Construcción del Proceso... 5 Modelo de Datos...

Más detalles

Análisis y cuantificación del Riesgo

Análisis y cuantificación del Riesgo Análisis y cuantificación del Riesgo 1 Qué es el análisis del Riesgo? 2. Métodos M de Análisis de riesgos 3. Método M de Montecarlo 4. Modelo de Análisis de Riesgos 5. Qué pasos de deben seguir para el

Más detalles

PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE

PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE VI PRUEBAS, CALIDAD Y MANTENIMIENTO DEL SOFTWARE 6.1 PRUEBAS DEL SOFTWARE Una vez generado el código el software debe ser probado para descubrir el máximo de errores posibles antes de su entrega al cliente.

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008) Unidades temáticas de Ingeniería del Software Fases del proceso de desarrollo 4ª edición (2008) Facultad de Informática organización del desarrollo El ciclo de vida del software abarca el proceso de desarrollo,

Más detalles

Introducción al Proceso de Pruebas.

Introducción al Proceso de Pruebas. Introducción al Proceso de Pruebas. Javier Gutiérrez / javierj@us.es Introducción al proceso de pruebas Objetivo: repasar las ideas principales sobre las pruebas del software y, en concreto, las que usaremos

Más detalles

DISEÑO DE FUNCIONES (TRATAMIENTOS)

DISEÑO DE FUNCIONES (TRATAMIENTOS) DISEÑO DE FUNCIONES (TRATAMIENTOS) Diseño Estructurado. Estrategias para Derivar el Diagrama de Estructura. Diseño de Módulos Programables. 1. DISEÑO ESTRUCTURADO El Diseño es el proceso por el cual se

Más detalles

GENERACIÓN DE CÓDIGO

GENERACIÓN DE CÓDIGO GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes: 1. Proporcionar una guía de actividades para el trabajo en equipo. (Guía detallada para el desarrollo

Más detalles

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática Metodología Evolutiva Incremental Mediante Prototipo y Técnicas Orientada a Objeto (MEI/P-OO)

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

INTRODUCCION A LA PROGRAMACION DE PLC

INTRODUCCION A LA PROGRAMACION DE PLC INTRODUCCION A LA PROGRAMACION DE PLC Esta guía se utilizará para estudiar la estructura general de programación de um PLC Instrucciones y Programas Una instrucción u orden de trabajo consta de dos partes

Más detalles

Plan de estudios ISTQB: Nivel Fundamentos

Plan de estudios ISTQB: Nivel Fundamentos Plan de estudios ISTQB: Nivel Fundamentos Temario 1. INTRODUCCIÓN 2. FUNDAMENTOS DE PRUEBAS 3. PRUEBAS A TRAVÉS DEL CICLO DE VIDA DEL 4. TÉCNICAS ESTÁTICAS 5. TÉCNICAS DE DISEÑO DE PRUEBAS 6. GESTIÓN DE

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Tarea 4.2 Memoria Virtual

Tarea 4.2 Memoria Virtual 1 Tarea 4.2 1. Cuál es la diferencia entre paginación simple y paginación en memoria virtual? En memoria virtual no es necesario que todas las páginas estén en marcos de la memoria principal. Las páginas

Más detalles

Tema 4. Gestión de entrada/salida

Tema 4. Gestión de entrada/salida Tema 4. Gestión de entrada/salida 1. Principios de la gestión de E/S. 1.Problemática de los dispositivos de E/S. 2.Objetivos generales del software de E/S. 3.Principios hardware de E/S. 1. E/S controlada

Más detalles

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, 15009 A CORUÑA Telf: 981 133 207 / 616 145 723 info@spuch.

Soluciones Informáticas para la Gestión de la Calidad c/vicente Aleixandre nº 10 4º H, 15009 A CORUÑA Telf: 981 133 207 / 616 145 723 info@spuch. MANUAL DE USUARIO Índice Índice... 2 Introducción... 2 Pantalla inicial... 3 Conectar las bases de datos... 4 Periodicidad de sincronización... 6 Reglas de sincronización... 7 Ejecutar consultas SQL...

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

2 EL DOCUMENTO DE ESPECIFICACIONES

2 EL DOCUMENTO DE ESPECIFICACIONES Ingeniería Informática Tecnología de la Programación TEMA 1 Documentación de programas. 1 LA DOCUMENTACIÓN DE PROGRAMAS En la ejecución de un proyecto informático o un programa software se deben de seguir

Más detalles

SISTEMAS Y MANUALES DE LA CALIDAD

SISTEMAS Y MANUALES DE LA CALIDAD SISTEMAS Y MANUALES DE LA CALIDAD NORMATIVAS SOBRE SISTEMAS DE CALIDAD Introducción La experiencia de algunos sectores industriales que por las características particulares de sus productos tenían necesidad

Más detalles

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.

ANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos. ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones

Más detalles

Copyright 2011 - bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler

Copyright 2011 - bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler Copyright 2011 - bizagi Gestión de Cambios Bizagi Process Modeler Tabla de Contenido Gestión de Cambios... 4 Descripción... 4 Principales factores en la Construcción del Proceso... 5 Modelo de Datos...

Más detalles

Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes

Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes Conseguir una alta eficiencia de los activos es un reto importante ya que tiene un impacto significativo sobre los beneficios. Afecta

Más detalles

Gestión de Oportunidades

Gestión de Oportunidades Gestión de Oportunidades Bizagi Suite Gestión de Oportunidades 1 Tabla de Contenido CRM Gestión de Oportunidades de Negocio... 4 Elementos del Proceso... 5 Registrar Oportunidad... 5 Habilitar Alarma y

Más detalles

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral Plan de Gestión de Configuración Universidad Nacional de la Patagonia Austral Temario 1. Gestión de Configuración de Software 1.1 Definición 2. Plan de SCM 2.1 Estructura Organizacional 2.2 Actividades

Más detalles

Gestión y Desarrollo de Requisitos en Proyectos Software

Gestión y Desarrollo de Requisitos en Proyectos Software Gestión y Desarrollo de Requisitos en Proyectos Software Ponente: María Jesús Anciano Martín Objetivo Objetivo Definir un conjunto articulado y bien balanceado de métodos para el flujo de trabajo de Ingeniería

Más detalles

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos.

El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos Duración: 45 horas Objetivos: El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Contenidos:

Más detalles

Gestión de proyectos

Gestión de proyectos Gestión de proyectos Horas: 45 El objetivo principal del presente curso es proporcionar a sus alumnos los conocimientos y las herramientas básicas para la gestión de proyectos. Gestión de proyectos El

Más detalles

El Proceso de Pruebas de acuerdo a los estandares y la experiencia.

El Proceso de Pruebas de acuerdo a los estandares y la experiencia. El Proceso de Pruebas de acuerdo a los estandares y la experiencia. Logo@Copyright 1 Objetivos 1. Compartir conocimiento adquirido en distintos proyectos con la comunidad de Testing. 2. Generar un espacio

Más detalles

Planificación en Team Foundation Server 2010

Planificación en Team Foundation Server 2010 Planificación en Team Foundation Server 2010 Planificación y Seguimientos en Proyectos Agile con Microsoft Visual Studio Team Foundation Server 2010 Dirigido a: Todos los roles implicados en un proyecto

Más detalles

5.- ANÁLISIS DE RIESGO

5.- ANÁLISIS DE RIESGO 5.- ANÁLISIS DE RIESGO El módulo de Análisis de Riesgo se caracteriza por desarrollar una herramienta formativa para la gestión, que permite al usuario identificar, analizar y cuantificar el riesgo de

Más detalles

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322 Nicole García Gómez 2830047-6 Diego Riquelme Adriasola 2621044-5 RESUMEN.- La minería de datos corresponde a la extracción

Más detalles

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar CAPITULO 4 Requerimientos, Análisis y Diseño El presente capítulo explica los pasos que se realizaron antes de implementar el sistema. Para esto, primero se explicarán los requerimientos que fueron solicitados

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

La Tecnología líder en Simulación

La Tecnología líder en Simulación La Tecnología líder en Simulación El software de simulación Arena, es un "seguro de vida" para las empresa: le ayuda a predecir el impacto en las organizaciones de nuevas ideas, estrategias y políticas

Más detalles

ASIS Technology Partners. www.asistp.com 1

ASIS Technology Partners. www.asistp.com 1 ASIS Technology Partners www.asistp.com 1 Organización para el Testing de Software www.asistp.com 2 Por qué Testing? A nivel mundial cada año se pierden más de 500 billones de dólares en fallas de software

Más detalles

Q-flow Patrones básicos de Workflow

Q-flow Patrones básicos de Workflow How to Q-flow Patrones básicos de Workflow Versión: 2.0 Fecha de publicación 28-03-2011 Aplica a: Q-flow 3.0 y Q-flow 3.1 Índice Introducción... 3 Patrones de control... 4 Patrón: Secuencia... 4 Patrón:

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

Este documento proporciona la secuencia de pasos necesarios para la construcción de un Diagrama de Flujo. www.fundibeq.org

Este documento proporciona la secuencia de pasos necesarios para la construcción de un Diagrama de Flujo. www.fundibeq.org DIAGRAMA DE FLUJO 1.- INTRODUCCIÓN Este documento proporciona la secuencia de pasos necesarios para la construcción de un Diagrama de Flujo. Muestra la importancia de dos aspectos clave en este proceso:

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

Generación automática de casos de prueba mediante búsqueda dispersa

Generación automática de casos de prueba mediante búsqueda dispersa Generación automática de casos de prueba mediante búsqueda dispersa Raquel Blanco, Eugenia Díaz, Javier Tuya Departamento de Informática, Universidad de Oviedo {rblanco madiaz tuya}@uniovi.es Abstract

Más detalles

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado.

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado. DIAGRAMA DE AÁRBOL 1.- INTRODUCCIÓN Este documento describe el proceso de construcción de un Diagrama de Árbol, mediante el cual se dispone de una metodología simple y sistemática para la identificación

Más detalles

4 Pruebas y análisis del software

4 Pruebas y análisis del software 4 Pruebas y análisis del software En este capítulo se presentan una serie de simulaciones donde se analiza el desempeño de ambos sistemas programados en cuanto a exactitud con otros softwares que se encuentran

Más detalles

Hoy terminamos caja blanca

Hoy terminamos caja blanca Hoy terminamos caja blanca Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Blanca/Otros enfoques Blanca A. Vargas Govea vargasgovea@itesm.mx Marzo 22, 2013 Contenido Pruebas

Más detalles

TEMA 2: DESARROLLO DEL SOFTWARE

TEMA 2: DESARROLLO DEL SOFTWARE TEMA 2: DESARROLLO DEL SOFTWARE EDI I Curso 2007/08 Escuela Politécnica Superior Universidad Autónoma de Madrid TEMA 2: DESARROLLO DEL SOFTWARE 2.1. Ciclo de vida del Software 2.2. Corrección de errores

Más detalles

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA BizAgi Process Modeler TABLA DE CONTENIDO PROCESO DE MESA DE AYUDA INTERNA... 3 1. DIAGRAMA DEL PROCESO... 4 2. MODELO DE DATOS... 5 ENTIDADES DEL SISTEMA...

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Registro (record): es la unidad básica de acceso y manipulación de la base de datos. UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.

Más detalles

Introducción En los años 60 s y 70 s cuando se comenzaron a utilizar recursos de tecnología de información, no existía la computación personal, sino que en grandes centros de cómputo se realizaban todas

Más detalles

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE

ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE ISO 9001:2000 DOCUMENTO INFORMATIVO DOCUMENTO ELABORADO POR CHRISTIAN NARBARTE PARA EL IVECE MARZO 2007 Este documento contesta las preguntas más frecuentes que se plantean las organizaciones que quieren

Más detalles

Resolución de Problemas

Resolución de Problemas Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver

Más detalles

Testing. Ingeniería del Software I. Ejecución del testing. Cómo se hace testing? Cómo seleccionar datos Datos de producción

Testing. Ingeniería del Software I. Ejecución del testing. Cómo se hace testing? Cómo seleccionar datos Datos de producción Ingeniería del Software I Testing Martina Marré martina@dc.uba.ar Testing Es el proceso de ejecutar un producto para verificar que satisface los requerimientos o para identificar diferencias entre el comportamiento

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Empresa Financiera Herramientas de SW Servicios

Empresa Financiera Herramientas de SW Servicios Empresa Financiera Herramientas de SW Servicios Resulta importante mencionar que ésta es una empresa cuya actividad principal está enfocada a satisfacer las necesidades financieras de los clientes, a través

Más detalles

+ Cómo ahorrar dinero con Software Quality

+ Cómo ahorrar dinero con Software Quality + Cómo ahorrar dinero con Software Quality Qué es Software Quality Assurance? Porqué facilita el ahorro de dinero? Introducción El objetivo de este documento es explicar qué es Software Quality Assurance,

Más detalles

Gestión de Configuración del Software

Gestión de Configuración del Software Gestión de Configuración del Software Facultad de Informática, ciencias de la Comunicación y Técnicas Especiales Herramientas y Procesos de Software Gestión de Configuración de SW Cuando se construye software

Más detalles

Software Criptográfico FNMT-RCM

Software Criptográfico FNMT-RCM Software Criptográfico FNMT-RCM ÍNDICE 1. DESCARGA E INSTALACIÓN DEL SOFTWARE 2. EXPORTACIÓN DE CERTIFICADOS EN MICROSOFT INTERNET EXPLORER 3. IMPORTACIÓN DEL CERTIFICADO A LA TARJETA CRIPTOGRÁFICA -2-

Más detalles

2. Entorno de trabajo y funcionalidad en Arquímedes

2. Entorno de trabajo y funcionalidad en Arquímedes 2. Entorno de trabajo y funcionalidad en Arquímedes 2.9. Presupuestos comparativos. Cómo contrastar ofertas... 1 2.9.1. Análisis de los datos del comparativo de presupuestos... 4 2.9.2. Ejemplo de comparativo

Más detalles

Capítulo 9. Archivos de sintaxis

Capítulo 9. Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

Mesa de Ayuda Interna

Mesa de Ayuda Interna Mesa de Ayuda Interna Documento de Construcción Mesa de Ayuda Interna 1 Tabla de Contenido Proceso De Mesa De Ayuda Interna... 2 Diagrama Del Proceso... 3 Modelo De Datos... 4 Entidades Del Sistema...

Más detalles

Parte I: Introducción

Parte I: Introducción Parte I: Introducción Introducción al Data Mining: su Aplicación a la Empresa Cursada 2007 POR QUÉ? Las empresas de todos los tamaños necesitan aprender de sus datos para crear una relación one-to-one

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un INSTRODUCCION Toda organización puede mejorar su manera de trabajar, lo cual significa un incremento de sus clientes y gestionar el riesgo de la mejor manera posible, reduciendo costes y mejorando la calidad

Más detalles

ESTIMACIÓN. puntual y por intervalo

ESTIMACIÓN. puntual y por intervalo ESTIMACIÓN puntual y por intervalo ( ) Podemos conocer el comportamiento del ser humano? Podemos usar la información contenida en la muestra para tratar de adivinar algún aspecto de la población bajo estudio

Más detalles

Test de intrusión (Penetration Test) Introducción

Test de intrusión (Penetration Test) Introducción Test de intrusión (Penetration Test) Introducción Nos encontramos en una época en donde las empresas están sufriendo ataques informáticos cada vez en forma más asidua, basta con ver los informes anuales

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 Estándares para planes de calidad de software Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008 DIFERENCIA ENTRE PRODUCIR UNA FUNCION Y PRODUCIR UNA FUNCION

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Sobre la lectura y escritura de datos en FORTRAN.

Sobre la lectura y escritura de datos en FORTRAN. Sobre la lectura y escritura de datos en FORTRAN. 1. Las sentencias READ /WRITE Uno de los elementos básicos de la programación e cualquier lenguaje es la lectura y/o escritura de datos. En el lenguaje

Más detalles

Administración de proyectos. Organizar, planificar y programar los proyectos de software

Administración de proyectos. Organizar, planificar y programar los proyectos de software Administración de proyectos Organizar, planificar y programar los proyectos de software Administración de proyectos Trata de las actividades que hay que realizar para asegurar que el software se entregará

Más detalles

5.4. Manual de usuario

5.4. Manual de usuario 5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin

Más detalles

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE)

Parámetros con la ventana de selección de usuario, reglas, texto y descomposición (IVE) QUÉ SON CONCEPTOS PARAMÉTRICOS? Los conceptos paramétricos de Presto permiten definir de una sola vez una colección de conceptos similares a partir de los cuales se generan variantes o conceptos derivados

Más detalles