Uso de propiedades y modelos para las pruebas de sistemas distribuidos basados en la integración de componentes heterogéneos
|
|
- Agustín Blanco Fernández
- hace 8 años
- Vistas:
Transcripción
1 Uso de propiedades y modelos para las pruebas de sistemas distribuidos basados en la integración de componentes heterogéneos Miguel A. Francisco 1 Laura M. Castro 2 1 Interoud Innovation S.L. (Spain) miguel.francisco@interoud.com 2 MADS Group Dept. Computer Science University of A Coruña (Spain) lcastro@udc.es 17 de Septiembre 2013, Madrid
2 VoDKATV Interoud es una compañía gallega (A Coruña) nacida en Marzo de Desarrollo de software para entornos IPTV/OTT (hospitality, telcos, etc): middleware, STB y back-end. VoDKATV es el prinicipal producto de Interoud. VoDKATV es un middleware IPTV/OTT que ofrece una experiencia interactiva al usuario a través de su televisión, PC o dispositivo móvil (smartphones, tablets, dispositivos Android, etc)
3 Interoud Pruebas de unidad Pruebas de componente Servicios VoDKATV VoDKATV ofrece una serie de servicios al usuario: Videoclub. Canales IPTV. PVR (grabación). Navegación por Internet. Juegos. etc. Pruebas de integración Conclusiones
4 Pruebas Software implementado usando diferentes lenguajes de programación: Erlang, Java, C, JavaScript, etc. Las pruebas del software permiten validar el correcto funcionamiento de nuestros sistemas. Sin embargo, muchas veces las pruebas son omitidas. Para muchos programadores, las pruebas son: Un proceso tedioso Algo para lo que nunca sobra tiempo Buscar nuevas técnicas de prueba que puedan paliar estos inconvenientes.
5 Pruebas Participación en proyectos europeos relacionados con las pruebas del software: ProTest ( ): Property-Based Testing Prowess ( ): Property-Based Testing for Web Services El rol de Interoud (anteriormente LambdaStream) es proporcionar casos de estudio reales en donde se apliquen y evalúen las técnicas y aproximaciones para probar el software. Las nuevas técnicas están basadas en el uso de propiedades Property-Based Testing.
6 Property-Based Testing (PBT) Tradicionalmente el código fuente se prueba escribiendo casos de prueba manualmente: Example remove(i: Integer, L: List<Integer>):List<Integer> Se escriben casos de prueba y se comprueba si el resultado es el correcto: Caso de prueba lists:delete(i, L) I = 5, L = [5] lists:delete(5, [5]) = [] I = 0, L = [1, 2] lists:delete(0, [1, 2]) = [1, 2]......
7 Property-Based Testing (PBT) En Property-Based Testing, las pruebas se especifican como una serie de propiedades que el software debe cumplir. Las propiedades describen los requisitos del sistema a probar. Los casos de prueba no se escriben manualmente, sino que existen herramientas que generan casos de prueba a partir de las propiedades. Example remove(i: Integer, L: List<Integer>):List<Integer> La operación remove borra todas las ocurrencias del entero I de una lista de enteros L: {I, L} {int(), list(int())}, I / remove(i, L)
8 QuickCheck QuickCheck es una herramienta de Property-Based Testing, implementada en Erlang, que automatiza la generación, ejecución y evaluación de casos de prueba. prop_remove()->?forall({i, L}, {int(), list(int())}, not lists:member(i, lists:delete(i, L))). Caso de prueba lists:delete(i, L) Propiedad I = 0, L = [] lists:delete(0, []) = [] true I = 0, L = [0, 1] lists:delete(0, [0, 1]) = [1] true I = 1, L = [1,6,1] lists:delete(1, [1, 6, 1]) = [6,1] false Cuando QuickCheck encuentra un error, intenta obtener el caso mínimo que provoca el mismo error (shrinking): {1,[1,1]}
9 Test Driven Development Test Driven Development consiste en repetir iterativamente las siguientes fases: 1 Añadir una prueba simple. 2 Ejecutar las pruebas y comprobar que falla. 3 Implementar funcionalidad hasta pasar las pruebas.
10 Test Driven Development Example Implementar una función string que reemplace las ocurrencias de los elementos por valores concretos. [{"nombre", "Miguel"}]) = "Hola Miguel"
11 Test Driven Development El primer paso consiste en implementar una prueba para dicha función (todavía sin implementación). Example?assertEqual( "Hola Miguel", lstd_template:string( "Hola [{"nombre", "Miguel"}])).
12 Test Driven Development A continuación ejecutamos la prueba: Example test: string_test (module test )...*failed* ::error:undef in function lstd_template:string/2 called as ["nombre","miguel"]) in call from test: -string_test/0-fun-0- /1 in call from test:string_test/0 =================================================== Failed: 1. Skipped: 0. Passed: 0. error
13 Test Driven Development Finalmente implementamos la función para que pase la prueba: Example string(string, Subs) -> "Hola Miguel".
14 Test Driven Development Ejecutamos de nuevo la prueba: Example Test passed. ok
15 Test Driven Development Seguimos añadiendo más pruebas: Example?assertEqual( "Hola Miguel", lstd_template:string( "Hola [{"nombre", "Miguel"}])).?assertEqual( "Hola Laura", lstd_template:string( "Hola [{"nombre", "Laura"}])).
16 Test Driven Development Ejecutamos las pruebas y refinamos la implementación: Example test: string2_test...*failed* ::error:{assertequal_failed, [{module,test}, {line,15}, {expression, "lstd_template : string ( [ \"nombre\", \"Laura\" ] )"}, {expected,"hola Laura"}, {value,"hola Miguel"}]} in function test: -string2_test/0-fun-0- /1 =================================================== Failed: 1. Skipped: 0. Passed: 1. error
17 Test Driven Development + Property Based Testing Qué casos de prueba usar? Textos vacíos: "" Textos Textos con líneas en blanco: \n etc. Hay demasiados casos límites, incluso para módulos sencillos. Usando Property Based Testing, los casos de prueba son generados automáticamente.
18 Test Driven Development + Property Based Testing Example prop_string_empty_list() ->?FORALL( S, string(), S =:= lstd_template:string(s, [])). Caso de prueba String = Â/e", Subs = [] String = [], Subs = [] String = "U", Subs = [] String = "ðqa", Subs = []...
19 Test Driven Development + Property Based Testing specify requirement [incorrect specification] transform requirement into property test implementation against properties modify implementation [bug in property] [bug in implementation] [ok] [test fail] analyze failure [bug in specification]
20 Arquitectura de VoDKATV: integraciones Las integraciones entre componentes se realiza mayoritariamente a través de servicios web. Admin Core Backend AdminGUI Third-party app HTTP/XML VoDKATV-server HTTP/JSON EPG-server Java Asset-Manager HTTP/XML Client HTTP/JSON Erlang Device JDBC Database Third-party app Third-party app HED-STB PC Tablet
21 API de integración Los componentes provee de una API de integración. Uso de Property Based Testing para probar APIs de integración. En concreto, uso de máquinas de estado QuickCheck para especificar cómo debe funcionar el protocolo de comunicación.
22 API de integración Una API de integración está formada por una serie de operaciones: API = {op 1, op 2,..., op o } Cada operación op i : recibe una serie de parámetros devuelve un resultado tiene una serie de precondiciones que deben ser válidas para poder ejecutar la operación tiene una serie de postcondiciones que deben ser válidas después de ejecutar la operación
23 Servicios web Cuando la API de integración es un servicio web, cada operación es una URI. Petición: Método: GET, POST, PUT, HEAD, DELETE. Cabeceras (Accept-Language, Cookie, Date, etc). Parámetros. Respuesta: Cabeceras (Location, Pragma, Set-Cookie, etc). Cuerpo de la respuesta (XML, JSON).
24 Servicios web Por ejemplo: POST <?xml version="1.0" encoding="utf-8"?> <room> <roomid>room_id</roomid> <description>description</description> </room> GET GET GET
25 Pruebas de servicios web SUT QuickCheck State Machine WS Connector HTTP WS
26 La máquina de estados QuickCheck -behaviour(eqc_statem).... % Definir la lista de operaciones command(s) -> oneof( [{call,?module, createroom, [gen_room()]}] ++ [{call,?module, findroombyid, [gen_roomid()]}] ++ [{call,?module, findallrooms, []}] precondition(s, {call,?module, createroom, Room})->... % Normalmente true postcondition(s, {call,?module, createroom, Room}, R)-> % Chequear postcondición para la operación createroom createroom(room)-> % Invocar GET findroombyid(roomid)-> % Invocar GET
27 La máquina de estados QuickCheck QuickCheck genera automáticamente secuencias de operaciones cumpliendo las precondiciones. QuickCheck ejecuta las secuencias de operaciones, comprobando las postcondiciones para cada operación. GET POST <?xml version="1.0" encoding="utf-8"?> <room> <roomid>a</roomid> </room> GET GET GET GET GET GET
28 La máquina de estados QuickCheck Generación automática de la máquina de estados QuickCheck a partir de una descripción del servicio web a probar. WSDL + OCL Generator SUT QuickCheck State Machine WS Connector HTTP WS
29 Pruebas de integración Los componentes software suelen estar estructurados en diferentes módulos. Las interacciones entre los módulos también deben ser probada. QuickCheck module SUT <<use>> Other component
30 Pruebas de integración Con Property Based Testing es posible generar secuencias de operaciones que nos permitan comprobar que se están realizando las llamadas correctas en otros módulos. La prueba de integración no requiere el uso del componente real integrado: se evitan efectos colaterales. QuickCheck module SUT <<use>> Mock component
31 Conclusiones El uso de Property Based Testing nos permite probar más casos de prueba escribiendo menos código de pruebas. El uso de Test Driven Development junto con Property Based Testing nos permite aumentar la cobertura de nuestras pruebas. Uso de QuickCheck como herramienta de Property Based Testing. Uso de Erlang como lenguaje de especificación de pruebas.
32 Uso de propiedades y modelos para las pruebas de sistemas distribuidos basados en la integración de componentes heterogéneos Miguel A. Francisco 1 Laura M. Castro 2 1 Interoud Innovation S.L. (Spain) miguel.francisco@interoud.com 2 MADS Group Dept. Computer Science University of A Coruña (Spain) lcastro@udc.es 17 de Septiembre 2013, Madrid
Demo. TDD desde Cero. Acceptance Test Driven Development. www.iwt2.org formacion@iwt2.org
Demo TDD desde Cero Acceptance Test Driven Development www.iwt2.org formacion@iwt2.org Objetivos Objetivos Conocer cómo desarrollar un sistema software combinando pruebas de aceptación y TDD. Aprender
Más detallesVisual Studio Team System 2010
Visual Studio Team System 2010 5. Pruebas Automatizadas con Visual Studio 6. Pruebas codificadas de interfaz de usuario 7. Pruebas Web de desempeño Identificación de candidatos para la automatización Visual
Más detallesArquitectura de Aplicaciones
1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento
Más detallesIntroducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com
Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.
Más detallesAplicateca API Validador de Móviles Certificados SMS -
Aplicateca API Validador de Móviles Certificados SMS - Manual de integración Versión 1.3 DIDIMO Servicios Móviles Contenido 1. Servicios SMS... 2 2. Créditos... 2 3. Credenciales... 2 4. Funcionalidades...
Más detallesTécnicas Avanzadas de Testing Automático
Técnicas Avanzadas de Testing Automático Marcelo Frias ITBA - Buenos Aires, Argentina CONICET Preliminares: Calidad Validación y Verificación Especificaciones y V&V Análisis estático y dinámico Inspecciones
Más detallesTema 4: Tecnologías Web Java
Tema 4: Tecnologías Web Java Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono
Más detallesService Oriented Architecture
Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez josecarlos.cortizo@uem.es http://www.esp.uem.es/jccortizo D. Sistemas Informáticos
Más detallesANEXO 1. ANEXO TÉCNICO
ANEXO 1. ANEXO TÉCNICO DESCRIPCIÓN DEL CANAL DE COMUNICACIÓN PUNTOS DE ATENCIÓN DIGITAL, TRÁMITES Y SERVICIO- KIOSKOS El sistema de la aplicación móvil cuenta con una serie de funciones que deberán ser
Más detallesIntroducció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 detallesAplicaciones Web. Introducción. David Cabrero Souto. Grupo MADS (http://www.grupomads.org/) Universidade da Coruña
Aplicaciones Web Introducción David Cabrero Souto Grupo MADS (http://www.grupomads.org/) Universidade da Coruña Ingredientes principales Arquitectura Cliente/Servidor Protocolos y estándares Web HTTP,
Más detallesCapacitación Rational Funcional Tester
Capacitación Rational Funcional Tester Clínica Alemana Santiago, 28 de abril de 2009 Introducción La presente exposición es sobre las principales características de Rational Functional Tester Describiendo
Más detallesAnexo B. Comunicaciones entre mc y PC
Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación
Más detallesTema 1 HTTP y aplicaciones web
Tema 1 HTTP y aplicaciones web Indice 1. HTTP para sitios web estáticos 2. HTTP básico para aplicaciones web 3. Aplicaciones AJAX 4. APIs REST 1.1. HTTP para sitios web estáticos Petición/respuesta HTTP
Más detallesPRUEBAS FUNCIONALES Y DE ACEPTACIÓN
PRUEBAS FUNCIONALES Y DE ACEPTACIÓN Por: Julián Camilo Ortega Muñoz Pontificia Universidad Javeriana 2013 INTRODUCCIÓN Este documento tiene como propósito demostrar que las funcionalidades de la aplicación
Más detallesTEMA 5. Otras arquitecturas distribuidas IV. Web Services
TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:
Más detallesIngeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Tipos de prueba Estrategias de prueba
Pruebas Pruebas en el PUD Las pruebas del software Diseño de casos de prueba Tipos de prueba Estrategias de prueba 1 2 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos
Más detallesSistema en Terreno SmartPhone Android
Sistema en Terreno SmartPhone Android INTRODUCCION Sin lugar a dudas, los Smartphones y las Tablets Android se están convirtiendo en un aliado indispensable de nuestro trabajo cotidiano, ya que estos dispositivos
Más detallesTema 6: Comparativa CORBA/Servicios Web
Tema 6: Comparativa CORBA/Servicios Web Introducción Para establecer una comparativa, es preciso tener en cuenta CORBA se introdujo en 1991 y Servicios Web en el 2000 CORBA es una solución más madura y
Más detallesTema 4: Diseño e Implementación de la Capa Web
Tema 4: Diseño e Implementación de la Capa Web Índice 4.1 Tutorial de Servlets y JSPs 4.2 Tutorial de Tapestry 4.3 Caso de Estudio: Diseño e Implementación de la Capa Web de MiniBank 4.4 Caso de estudio:
Más detallesINTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA
INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Más detallesTé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 detallesCopyright. INSTRUCTIVO DE CONFIGURACIÓN DE PC s DE CLIENTES CASH MANAGEMENT
Copyright Este es un documento con DERECHOS DE AUTOR RESERVADOS. PROHIBIDA SU REPRODUCCIÓN O UTLIZACIÓN TOTAL O PARCIAL, sin autorización escrita del Gerente General de Banco General Rumiñahui S.A. NOTA
Más detallesSi usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber
LIMINAL Si usted quiere desarrollar con Bluevia y Java, esto es lo primero que debe saber Mario Linares Vásquez mario.linares@liminal-it.con Junio 30 de 2011 Network as a Service - NaaS Que información
Más detallesIntroducción al lenguaje Java Práctica Editor de Línea
Introducción al lenguaje Java Práctica Editor de Línea (Diciembre 2006) 1 Introducción al lenguaje Java Práctica Editor de Línea Dpto. LSIIS. Unidad de Programación Normas y Objetivos Objetivo: el objetivo
Más detallesDesarrollar el concepto del producto. Asignar requisitos de hardware y software. 1 1.1 1.2 2 2.1 2.2 3.. N
Fase de Análisis de Requerimientos Desarrollar el concepto del producto. Asignar requisitos de hardware y software. Realizar estudios de mercado. Sugerencia: www.anuies.mx para saber cuantas instituciones
Más detallesEn el presente capítulo se describe la programación del instrumento virtual y cómo
Capítulo 6. Instrumentación virtual En el presente capítulo se describe la programación del instrumento virtual y cómo éste controla el circuito de captura de señales, la llamada telefónica y escribe los
Más detallesPROGRAMACIÓN PÁGINAS WEB CON PHP
PROGRAMACIÓN PÁGINAS WEB CON PHP Curso de desarrollo de aplicaciones web. Para ello se estudia la programación de la parte cliente con JavaScript y la programación de la parte servidor con la tecnología
Más detallesDocumentación Técnica Conector
Documentación Técnica Conector Torre Ejecutiva Sur Liniers 1324, piso 4 Montevideo Uruguay Tel/Fax: (+598) 2901.2929* Email: contacto@agesic.gub.uy www.agesic.gub.uy Indice 1 Introducción...4 2 Casos
Más detallesInvocación por protocolo de aplicaciones nativas desde páginas Web
Invocación por protocolo de aplicaciones nativas desde páginas Web Qué es la invocación por protocolo? Es un funcionamiento universal que los sistemas operativos mantengan una serie de asociaciones entre
Más detallesSistemas 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 detallesPráctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP
Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero
Más detallesSSTQB. 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 detallesAplicación de técnicas de pruebas automáticas basadas en propiedades a los diferentes niveles de prueba del software
Aplicación de técnicas de pruebas automáticas basadas en propiedades a los diferentes niveles de prueba del software Autor: Miguel Ángel Francisco Fernández Directora: Laura M. Castro Souto Tesis doctoral
Más detallesTFM Comunicación, Redes y Gestión de Contenidos
TFM Comunicación, Redes y Gestión de Contenidos Aplicación móvil hibrida para control de asistencia y servicio técnico a domicilio y gestión de partes de trabajo Autor: Patricia Paguay Lara Tutorizado
Más detallesRESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014
RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES
Más detalles1. 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 detallesDiseño de aplicaciones móviles seguras en Android. alvaro.ospina@upb.edu.co aospina@gmail.com
Diseño de aplicaciones móviles seguras en Android alvaro.ospina@upb.edu.co aospina@gmail.com Agenda Que es Android? Historia? Arquitectura Herramientas Medidas de seguridad Que es Android? Pila de software
Más detallesPatrones de Alto nivel: Patrones de Arquitectura Patrones de nivel medio: Patrones de Diseño Patrones de bajo nivel: Idioms
Patrones Patrones Es una solución reusable de problemas comunes. Los patrones solucionan problemas que existen en muchos niveles de abstracción. desde el análisis hasta el diseño y desde la arquitectura
Más detallesPruebas de unidad con JUnit
Pruebas de unidad con JUnit Cuando se implementa software, resulta recomendable comprobar que el código que hemos escrito funciona correctamente. Para ello, implementamos pruebas que verifican que nuestro
Más detallesDesarrollo de apps para móviles Android. Entorno de desarrollo
Desarrollo de apps para móviles Android Entorno de desarrollo Entorno de desarrollo Las aplicaciones Android van a ser implementadas en Java usando Android SDK. El software necesario para realizarlas es
Más detallesINSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS
Página 1 de 20 INSTALACIÓ N A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc
Más detallesTOPICOS IV: ING. YIM APESTEGUI FLORENTINO
1 2 MIGRACIÓN DE DATOS E INTEGRACIÓN ENTRE SISTEMAS. Actividades propias de la INGENIERÍA DE SISTEMAS E INF. Se requiere conocimientos técnicos y fundamentales. Planificación y Ejecución. 3 PROCESO DE
Más detallesDesarrollo y servicios web
Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2014-2 Qué vimos la clase pasada? Introducción a Big Data Introducción a bases de datos NOSQL Características bases de datos NOSQL MongoDB como motor
Más detallesDefiniciones. Tema 21_Módulos Menú 1
Definiciones Un menú es una lista de opciones o de órdenes que forman parte de un mismo título, mediante los cuales se podrán seleccionar determinadas operaciones de la aplicación. El conjunto de todos
Más detallesIntroducción a la extensión de scripting en gvsig 2.0
Introducción a la extensión de scripting en gvsig 2.0 2012 gvsig Association Este documento se distribuye con la licencia Creative Commons 1 2 Índice de contenido 1 Introducción... 3 Instalación de la
Más detallesAPACHE 2. Pablo Allietti pablo@lacnic.net Mérida Venezuela Octubre 2003. WALC - 2003 Merida Venezuela
APACHE 2 Pablo Allietti pablo@lacnic.net Mérida Venezuela Octubre 2003 Introducción Un Servidor es un computador que brinda servicios a otros equipos (clientes) mediante requerimientos Un Servidor WEB
Más detallesCONCLUISIONES Y RECOMENDACIONES
CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio
Más detalles1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).
1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada
Más detallesQué son los Web Services?
III. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción: WSDL 3.3. Protocolo: SOAP 3.4. Registro de servicios:
Más detallesPortafolio de servicios
Portafolio de servicios Calle 613 No. 175 Oficina J, Col. Aragón 4ª y 5ª Sección, México, D.F. Teléfonos: 63.85.75.55 y 63.83.06.37 www.aztecsoluciones.com Aztec Soluciones Tecnológicas, S.A. de C.V. es
Más detallesGenerador de casos de prueba genético
Generador de casos de prueba genético Álvaro Galán Piñero Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 42 Índice 1 Motivación y contexto 2 Planificación
Más detalles5.1 Introducción a Servicios Web
5.1 Introducción a Servicios Web Introducción Continuando con el ejemplo de intercambio de información de películas... => Actualmente ya no es necesario implementar la solución sugerida a mano Se han estandarizado
Más detallesLa interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la
Servicios web Introducción Un servicio web es un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes
Más detallesMÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario. www.iddero.com 131212-01
MÓDULO DE EXPANSIÓN DW-GSM Manual de usuario www.iddero.com 131212-01 TABLA DE CONTENIDOS 1 INTRODUCCIÓN... 3 2 CARACTERÍSTICAS PRINCIPALES... 3 3 INSTRUCCIONES DE USO... 3 3.1 Ejecución de acciones y
Más detallesSesión 17. Servicios web RESTful
Sesión 17. Servicios web RESTful Luisa Fernanda Rincón Pérez 2015-1 Qué vimos la sesión pasada? 1. Consumir servicio web SOAP desde JAVA 2. Consumir servicio web en PHP 3. Exponer servicio web en PHP Qué
Más detallesLas pruebas unitarias se crean en una carpeta raíz del symfony: Test/Unit/EjemploTest.php
Pruebas Unitarias Las pruebas unitarias realizadas para la aplicación Courier UCAB fueron desarrolladas para probar las reglas del negocio del sistema; las cuales consisten en las pruebas de los métodos
Más detallesTECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB
TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB Existen varios tipos de tecnologías para los Servidores Web, estas tecnologías se pueden dividir en 4 grupos principales que son: Tecnologías al lado del cliente
Más detallesCENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES
CENTRO DE CONTACTO CON EL CLIENTE MÓDULO DE GESTIÓN DE ACTIVIDADES E INTERACCIONES El asesor comercial tiene como principal misión mantener un contacto personalizado con sus clientes potenciales y actuales.
Más detallesRed de Recargas Centro de Clearing
Red de Recargas Centro de Clearing Introducción RdR es la Red de Recargas de tarjetas inteligentes para el transporte de viajeros diseñado por Busmatick El sistema RdR cuenta en la actualidad con más de
Más detallesServicio de interfaces gráficas para entornos distribuidos. Autor: Sergio de Mingo Gil Tutor: Francisco J. Ballesteros
Servicio de interfaces gráficas para entornos distribuidos Autor: Sergio de Mingo Gil Tutor: Francisco J. Ballesteros Índice Introducción Objetivos Metodología y requisitos Servidor de widgets Servidor
Más detallesPRUEBAS 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 detallesE-Government con Web Services
E-Government con Web Services Fernando Leibowich Beker * Uno de los grandes avances que produjeron las Nuevas Tecnologías de la Información y la Comunicación es la posibilidad de generar redes de computadoras
Más detallesTema 1. Conceptos fundamentales de los Sistemas Operativos
Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.
Más detallesTEMA 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 detalles13es Jornades Catalanes d Informació i Documentació
3es Jornades Catalanes d Informació i Documentació VII Jornada de Documentació Audiovisual Dispositius mòbils i serveis d internet: estat de l art Ramón de Cózar ramon.decozar@dnovae.com ÍNDICE INTRODUCCIÓN:
Más detallesCapítulo 5. Cliente-Servidor.
Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor
Más detallesMICROSITIOS. Perfiles
MICROSITIOS Perfiles API para el consumo de servicios encargados de la creación, visualización, edición, eliminación y demás operaciones sobre los perfiles de usuarios de Metaportal. METAPORTAL 18/07/2014
Más detallesLABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO
UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO PRÁCTICA 4: Implementación de un Cliente de Correo
Más detallesJAVA EE 5. Arquitectura, conceptos y ejemplos.
JAVA EE 5. Arquitectura, conceptos y ejemplos. INTRODUCCIÓN. MODELO DE LA APLICACIÓN JEE5. El modelo de aplicación Java EE define una arquitectura para implementar servicios como lo hacen las aplicaciones
Más detallesUnidad II. Interfaz Grafica
Clase:004 1 Unidad II Interfaz Grafica Basado en https://developer.apple.com/library/ios/#referencelibrary/gettingstar ted/roadmapios/chapters/introduction.html 2 Agenda Desarrollo de Apps para IOS. Diseño
Más detallesTutorial BMS Server Studio UDP
Tutorial BMS Server Studio UDP ÍNDICE Página 0. Introducción...3 1. Configuración del puerto UDP...4 2. Ejemplos...6 2.1 Configuración manual...6 2.1.1 Configuración SocketTest...6 2.1.2 Configuración
Más detallesEl 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 detallesCAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO
CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios
Más detallesINSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS
INSTALACIÓN A3ERP INTRODUCCIÓN La instalación de a3erp v9 ha sufrido una trasformación importante respecto a sus versiones anteriores. Cualquier instalación exige la existencia de un pc al que le asignaremos
Más detallesCreación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4
Creación de materiales didácticos Aplicaciones para dispositivos móviles Lección 4 Bases de datos Índice de contenido Introducción...3 Bases de datos locales: TinyDB... 4 Compartir datos: TinyWebDB...
Más detalles4 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 detallesGLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.
GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.
Más detallesEspecificación WebService para:
Especificación WebService para: Bandeja de salida Carga masiva Consulta de reportes Bogotá, Diciembre 2010 Modelo Unico de Ingresos, Servicio y Control Automatizado Contenido Procedimiento y Especificación
Más detallesComunicación entre procesos
Comunicación entre procesos Patrones de comunicación Comunicación cliente-servidor En la que los mensajes de petición y respuesta proporcionan la base para la invocación remota de métodos o de procedimientos.
Más detallesTema: Detección de billetes con OpenCV en Android.
TRABAJO FINAL PARA APROBACION DEL CURSO DE POSTGRADO: INTRODUCCION AL PROCESAMIENTO DIGITAL DE IMAGENES. UN ENFOQUE TEORICO - PRACTICO UTILIZANDO OPEN CV. FACULTAD DE INGENIERÍA. 2013. Autor: Vera, José
Más detallesMuestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS
KIT DE HERRAMIENTAS DEL COMPRADOR DE BPMS Muestra de solicitud para una propuesta de un conjunto de aplicaciones de Gestión de Procesos de Negocio Parte 1 del kit completo de herramientas del comprador
Más detallesApp para realizar consultas al Sistema de Información Estadística de Castilla y León
App para realizar consultas al Sistema de Información Estadística de Castilla y León Jesús M. Rodríguez Rodríguez rodrodje@jcyl.es Dirección General de Presupuestos y Estadística Consejería de Hacienda
Más detallesIntel Learning Series Theft Deterrent Sistema disuasivo de robos y administrador de activos
Intel Learning Series Theft Deterrent Sistema disuasivo de robos y administrador de activos Cómo usar? 1. Inicio de sesión Para iniciar sesión en el servidor de theft deterrent se debe teclear en el navegador
Más detallesJavaScript como Orientación a Objetos
Gustavo Lacoste (gustavo@lacosox.org) October 2012 Resumen El objetivo de las siguientes notas es generar una estructura en JavaScript que nos permita reutilizar de manera limpia las funciones creadas
Más detallesAyuda Aplicación SIGI
Ayuda Aplicación SIGI Versión 1.0 Autor Secretaría General Técnica Fecha Inicio 17/03/2013 12:33:00 Fecha último cambio 19/03/2013 11:38:00 Fecha: 19/03/2013 Página 1 de 17 Índice 1. PRESENTACIÓN 3 2.
Más detallesTema 5: Integración de Datos Distribuidos
Tema 5: Integración de Datos Distribuidos Integración de Datos Distribuidos El problema de la integración de datos distribuidos consiste en integrar datos de fuentes distribuidas, heterogéneas y posiblemente
Más detallesMantSoft AE. Método para el mantenimiento de Software de Alhambra-Eidos. Gestión de incidencias en el mantenimiento correctivo.
MantSoft AE Método para el mantenimiento de Software de Alhambra-Eidos Gestión de incidencias en el mantenimiento correctivo. Introducción Este documento describe el tratamiento específico que se le da
Más detallesCurso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Más detallesWEB APP VS APP NATIVA
WEB APP VS APP NATIVA Agosto 2013 Por Jesús Demetrio Velázquez 1 Ya decidió hacer su aplicación en Web App o App Nativa? Debido a que surgieron varias preguntas relacionadas con nuestro artículo Yo Mobile,
Más detallesLenguaje Java Avanzado
Lenguaje Java Avanzado Sesión 4: Pruebas con JUnit 2012-2013 Depto. Ciencia de la Computación e IA Índice Introducción a JUnit Implementación de las pruebas Ejecución de pruebas Pruebas con excepciones
Más detallesAlgoritmos y Diagramas de Flujo 2
Algoritmos y Diagramas de Flujo 2 Programación Java NetBeans 7.0 RPC Contenido 2.1 Algoritmo...1 Fase de creación de un algoritmo...1 Herramientas de un algoritmo...2 2.2 Diagrama de Flujo...2 Símbolos
Más detallesPráctica 7. Pruebas. Introducir conceptos básicos de pruebas unitarias en sistemas orientados a objetos.
Objetivos Introducir conceptos básicos de pruebas unitarias en sistemas orientados a objetos. Material Necesario - Pruebas de caja negra con Junit. www.junit.org Viene integrado en Eclipse, pero al crear
Más detallesResumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva
de la solución SAP SAP Technology SAP Afaria Gestión de la movilidad empresarial para mayor ventaja competitiva Simplificar la gestión de dispositivos y aplicaciones Simplificar la gestión de dispositivos
Más detallesSERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO
SERVICE ORIENTED ARCHITECTURE (SOA) CONTENIDO Introducción:...1 Service Oriented Architecture...2 Elementos de una Service Oriented Architecture...2 Application frontends...2 Servicios...2 Contrato:...3
Más detallesPorque hacemos Testing? BY: ALFREDO ALVAREZ
Porque hacemos Testing? BY: ALFREDO ALVAREZ Base para nuestra conversación Cual es el trabajo de un tester? En el pasado-> Mantener la calidad y encontrar Bugs. En estos días-> Mantener el equipo al tanto
Más detallesIntroducción a las Redes de Computadoras. Obligatorio 2 2011
Introducción a las Redes de Computadoras Obligatorio 2 2011 Facultad de Ingeniería Instituto de Computación Departamento de Arquitectura de Sistemas Nota previa - IMPORTANTE Se debe cumplir íntegramente
Más detallesPresentación de BlackBerry Collaboration Service
Presentación de Collaboration Service Presentación de Collaboration Service Remitente Servidor de mensajería instantánea Collaboration Service Dispositivo con 10 Destinatario 1 de 13 Presentación de Collaboration
Más detallesMi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:
Propósito del prototipo: Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades: 1º. Mostrar noticias y eventos propios del grupo de personas que administren la Web.
Más detalles