{"id":2309,"date":"2011-02-03T16:19:22","date_gmt":"2011-02-03T18:19:22","guid":{"rendered":"http:\/\/blog.ces.com.uy\/?p=28"},"modified":"2020-09-16T09:02:42","modified_gmt":"2020-09-16T12:02:42","slug":"pruebas-de-performance-en-protocolos-propietarios-caso-iso8583","status":"publish","type":"post","link":"https:\/\/wordpress-test.ces.com.uy\/?p=2309","title":{"rendered":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583)"},"content":{"rendered":"<p style=\"text-align: justify;\">En el laboratorio de <span style=\"color: #000000;\">Ensayos de Plataformas<\/span> del <a title=\"Centro de Ensayos de Software\" href=\"https:\/\/wordpress-test.ces.com.uy\" target=\"_blank\" rel=\"noopener noreferrer\">CES<\/a> realizamos usualmente Performance Testing a aplicaciones web que ejecutan sobre el\u00a0conocido protocolo abierto <em>HTTP<\/em>, para lo que utilizamos algunas herramientas, ya sean pagas o gratuitas, como ser <em>Microsoft Visual Studio Team System<\/em>, <em>JMeter<\/em>, <em>OpenSTA<\/em>, entre otras. Las pruebas de performance (a diferencia de las pruebas funcionales) necesitan manejarse a nivel de protocolo para poder ser m\u00e1s eficientes y simular cientos de usuarios en una sola m\u00e1quina.<\/p>\n<p style=\"text-align: justify;\">Pero, <strong>\u00bfqu\u00e9 sucede si queremos realizar pruebas de performance de aplicaciones que manejan protocolos distintos y quiz\u00e1s menos usuales que HTTP? <\/strong>En muchos casos, las herramientas que presentamos anteriormente pueden ser capaces de soportar directamente el protocolo, o al menos brindarnos la oportunidad de simularlo luego de algunas configuraciones adicionales. Si este no es el caso, no queda otra alternativa que entender en detalle las especificaciones del protocolo e implementar por cuenta propia m\u00f3dulos o herramientas que permitan establecer una comunicaci\u00f3n, y en particular para las pruebas de performance, que permitan generar cierta carga parametrizable mediante este protocolo.<\/p>\n<p style=\"text-align: justify;\">En varios proyectos del CES en el sector financiero nos hemos encontrado con un protocolo ampliamente difundido en estos entornos, este es el <em>ISO8583<\/em>. Este protocolo es utilizado para el intercambio de informaci\u00f3n financiera, principalmente por <em>ATM<\/em><span style=\"color: #000000;\"><em>s (Automatic Transaction Machine)<\/em> <\/span>y <em>P<\/em><span style=\"color: #000000;\"><em>OS (Point of \u00a0Sale)<\/em>.<\/span> En definitiva, cuando realizamos un retiro de un cajero autom\u00e1tico o una compra en un local de venta utilizando nuestra tarjeta de cr\u00e9dito\/d\u00e9bito, estamos estableciendo una comunicaci\u00f3n via <em>ISO8583<\/em> con una instituci\u00f3n financiera, cuyo sistema de administraci\u00f3n de tarjetas se encargar\u00e1 de procesar la petici\u00f3n recibida y enviar una respuesta indicando el resultado de la transacci\u00f3n. Este componente que procesa la informaci\u00f3n, t\u00edpicamente se llama <strong>Switch Financiero<\/strong>.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"size-medium wp-image-35 aligncenter\" title=\"ATMworking\" src=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/FakeATM2.jpg\" alt=\"\" width=\"205\" height=\"300\" \/><\/p>\n<p style=\"text-align: justify;\">Como mencionabamos previamente, debido a que ninguna de las herramientas disponibles en nuestro laboratorio fue capaz de soportar naturalmente el ISO8583, optamos por desarrollar nuestra propia herramienta generadora de carga, la cual fue <span style=\"color: #ff0000;\"><span style=\"color: #000000;\">desarrollada en <span style=\"color: #000000;\">Java<\/span><\/span><span style=\"color: #000000;\">. <\/span><\/span>Cabe comentar de todos modos que,\u00a0<span style=\"color: #000000;\">en el mundo <\/span>open source, se pueden encontrar diversas herramientas que implementan este protocolo, permitiendo enviar mensajes mediante el mismo hacia un switch financiero (problema\u00a0tambi\u00e9n\u00a0abordado en el CES y que comentaremos en futuros post sobre experiencias de Testing Funcional), pero ninguna de ellas cumple el requerimiento fundamental de toda prueba de performance: permitir la generaci\u00f3n autom\u00e1tica de carga masiva. Luego de varios meses en los cuales debimos entender la especificaci\u00f3n del est\u00e1ndar y desarrollar la aplicaci\u00f3n acorde al mismo, junto con posteriores modificaciones de mejora logramos obtener una herramienta estable capaz de soportar hasta 200 transacciones por segundo en una\u00a0\u00fanica\u00a0m\u00e1quina de escritorio, cifra m\u00e1s que aceptable en un principio.<\/p>\n<p style=\"text-align: justify;\">El contar con esta herramienta, y poder utilizarla en conjunto con otras para poder simular todos los puntos de entrada de un core financiero, nos ha permitido llevar adelante exitosamente m\u00faltiples <span style=\"color: #000000;\">proyectos en los cuales ha estado involucrado nuestro laboratorio, logrando generar la carga requerida para poder cumplir los objetivos primordiales de una prueba de performance. En posts subsecuentes estaremos describiendo en detalle cuales son estos objetivos.<\/span><\/p>\n<p style=\"text-align: right;\"><strong><a href=\"mailto:info@wordpress-test.ces.com.uy\">Matias Nassi<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el laboratorio de Ensayos de Plataformas del CES realizamos [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[11],"tags":[67,52,49],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES\" \/>\n<meta property=\"og:description\" content=\"En el laboratorio de Ensayos de Plataformas del CES realizamos [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\" \/>\n<meta property=\"og:site_name\" content=\"CES\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CESUruguay\" \/>\n<meta property=\"article:published_time\" content=\"2011-02-03T18:19:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-16T12:02:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/FakeATM2.jpg\" \/>\n<meta name=\"author\" content=\"Matias Nassi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ces_com_uy\" \/>\n<meta name=\"twitter:site\" content=\"@ces_com_uy\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matias Nassi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309#article\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\"},\"author\":{\"name\":\"Matias Nassi\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/62131c108e3af97f10f5d3cb99efcd81\"},\"headline\":\"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583)\",\"datePublished\":\"2011-02-03T18:19:22+00:00\",\"dateModified\":\"2020-09-16T12:02:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\"},\"wordCount\":548,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\"},\"keywords\":[\"Automatizaci\u00f3n de pruebas\",\"Sector financiero\",\"Testing de Performance\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2309#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\",\"name\":\"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#website\"},\"datePublished\":\"2011-02-03T18:19:22+00:00\",\"dateModified\":\"2020-09-16T12:02:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2309\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2309#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/wordpress-test.ces.com.uy\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#website\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/\",\"name\":\"CES\",\"description\":\"Centro de Ensayos de Software\",\"publisher\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordpress-test.ces.com.uy\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\",\"name\":\"CES Centro de Ensayos de Software\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png\",\"contentUrl\":\"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png\",\"width\":1080,\"height\":1080,\"caption\":\"CES Centro de Ensayos de Software\"},\"image\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/CESUruguay\",\"https:\/\/twitter.com\/ces_com_uy\",\"https:\/\/www.instagram.com\/ces_uruguay\/\",\"https:\/\/www.linkedin.com\/company\/ces-uruguay\/\",\"https:\/\/www.youtube.com\/channel\/UCRJrDBjRiXGU0hImjFNCAgw\",\"https:\/\/es.wikipedia.org\/wiki\/Centro_de_Ensayos_de_Software\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/62131c108e3af97f10f5d3cb99efcd81\",\"name\":\"Matias Nassi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"Matias Nassi\"},\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?author=7\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordpress-test.ces.com.uy\/?p=2309","og_locale":"es_ES","og_type":"article","og_title":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES","og_description":"En el laboratorio de Ensayos de Plataformas del CES realizamos [&hellip;]","og_url":"https:\/\/wordpress-test.ces.com.uy\/?p=2309","og_site_name":"CES","article_publisher":"https:\/\/www.facebook.com\/CESUruguay","article_published_time":"2011-02-03T18:19:22+00:00","article_modified_time":"2020-09-16T12:02:42+00:00","og_image":[{"url":"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/FakeATM2.jpg"}],"author":"Matias Nassi","twitter_card":"summary_large_image","twitter_creator":"@ces_com_uy","twitter_site":"@ces_com_uy","twitter_misc":{"Escrito por":"Matias Nassi","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309#article","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309"},"author":{"name":"Matias Nassi","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/62131c108e3af97f10f5d3cb99efcd81"},"headline":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583)","datePublished":"2011-02-03T18:19:22+00:00","dateModified":"2020-09-16T12:02:42+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309"},"wordCount":548,"commentCount":1,"publisher":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#organization"},"keywords":["Automatizaci\u00f3n de pruebas","Sector financiero","Testing de Performance"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2309#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309","url":"https:\/\/wordpress-test.ces.com.uy\/?p=2309","name":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583) &ndash; CES","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#website"},"datePublished":"2011-02-03T18:19:22+00:00","dateModified":"2020-09-16T12:02:42+00:00","breadcrumb":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2309"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2309#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/wordpress-test.ces.com.uy\/"},{"@type":"ListItem","position":2,"name":"Pruebas de Performance en protocolos menos usuales (caso sistema financiero ISO8583)"}]},{"@type":"WebSite","@id":"https:\/\/wordpress-test.ces.com.uy\/#website","url":"https:\/\/wordpress-test.ces.com.uy\/","name":"CES","description":"Centro de Ensayos de Software","publisher":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordpress-test.ces.com.uy\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wordpress-test.ces.com.uy\/#organization","name":"CES Centro de Ensayos de Software","url":"https:\/\/wordpress-test.ces.com.uy\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/","url":"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png","contentUrl":"https:\/\/wordpress-test.ces.com.uy\/wp-content\/uploads\/2021\/04\/Logo-vertical-grande.png","width":1080,"height":1080,"caption":"CES Centro de Ensayos de Software"},"image":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CESUruguay","https:\/\/twitter.com\/ces_com_uy","https:\/\/www.instagram.com\/ces_uruguay\/","https:\/\/www.linkedin.com\/company\/ces-uruguay\/","https:\/\/www.youtube.com\/channel\/UCRJrDBjRiXGU0hImjFNCAgw","https:\/\/es.wikipedia.org\/wiki\/Centro_de_Ensayos_de_Software"]},{"@type":"Person","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/62131c108e3af97f10f5d3cb99efcd81","name":"Matias Nassi","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"Matias Nassi"},"url":"https:\/\/wordpress-test.ces.com.uy\/?author=7"}]}},"_links":{"self":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2309"}],"collection":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2309"}],"version-history":[{"count":0,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2309\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}