{"id":2308,"date":"2011-02-18T12:59:07","date_gmt":"2011-02-18T14:59:07","guid":{"rendered":"http:\/\/blog.ces.com.uy\/?p=25"},"modified":"2020-09-16T09:00:51","modified_gmt":"2020-09-16T12:00:51","slug":"metodologia-de-pruebas-de-performance-del-ces","status":"publish","type":"post","link":"https:\/\/wordpress-test.ces.com.uy\/?p=2308","title":{"rendered":"Metodolog\u00eda de pruebas de Performance del CES"},"content":{"rendered":"<p>Desde hace unos a\u00f1os venimos utilizando una metodolog\u00eda propia para llevar adelante proyectos de pruebas de performance que nos ha dado muy buenos resultados.<\/p>\n<p>Hemos tenido el agrado de escribir varias publicaciones al respecto y presentarlas en diferentes eventos (<a href=\"https:\/\/wordpress-test.ces.com.uy\/images\/stories\/docs\/expoqa08.pdf\">Expo QA 2008<\/a>,\u00a0<a href=\"https:\/\/wordpress-test.ces.com.uy\/images\/stories\/docs\/sepgla2008.pdf\">SEPGLA 2008<\/a>) \u00a0recibiendo un muy buen feedback.<\/p>\n<p>La metodolog\u00eda es lo suficientemente amplia para abarcar varios tipos de proyectos pero a su vez da una gu\u00eda muy \u00fatil a la hora de abordar estos temas.<\/p>\n<p>En este post me gustar\u00eda comentar brevemente las diferentes estapas de la metodolog\u00eda y cu\u00e1l es el objetivo de cada una.<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"alignnone\" title=\"Etapas de pruebas de performance\" src=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/images.jpg\" alt=\"Etapas de pruebas de performance\" width=\"234\" height=\"216\" \/><\/p>\n<h1><strong>Etapa inicial<\/strong><\/h1>\n<p>Se busca entender el contexto en el cual surge el proyecto y los objetivos que se persiguen. Se busca tambi\u00e9n, dimensionar el proyecto de testing de performance, acotando su alcance. Se requieren en general pruebas de concepto para analizar que herramientas se adecuan mejor al contexto y al sistema que se tiene que probar. Al finalizar esta etapa tenemos que tener una idea clara del esfuerzo necesario para llevar adelante el proyecto, \u00a0perfiles de gente se a involucrar, los recursos \u00a0materiales se van a necesitar, etc.<\/p>\n<h1><strong>Etapa de Relevamiento<\/strong><\/h1>\n<p>Es una de las etapas fundamentales del proyecto. Se busca definir un modelo que simule de la manera m\u00e1s adecuada posible la realidad a la cual se va a enfrentar el sistema. En esta etapa debemos integrar personas con distintos perfiles (usuarios, analistas funcionales, desarrolladores, administradores, etc.) para definir qu\u00e9 transacciones se incluir\u00e1n, cu\u00e1ntos usuarios virtuales se ejecutar\u00e1n, cada cu\u00e1nto tiempo, c\u00f3mo se simularan otros sistemas, etc. Se deben tener en cuenta todos estos factores para reproducir las condiciones bajo las cuales se quiere estudiar el sistema.<\/p>\n<p>Tambi\u00e9n se deben detallar otros aspectos importantes como ser: la infraestructura que se utilizar\u00e1 para las pruebas, como se monitorizar\u00e1 la misma, los datos a utilizar en las pruebas, etc.<\/p>\n<h1><strong>Etapa de Automatizaci\u00f3n<\/strong><\/h1>\n<p>En general en las pruebas de performance debemos programar para simular el modelo definido en la etapa anterior. Este modelo en general incluye la necesidad de ejecutar funcionalidades con alta concurrencia. Para poder lograr esto, en general, las herramientas trabajan a nivel de protocolo. Para protocolos abiertos y ampliamente difundidos como HTTP existe una variedad importante de herramientas gratuitas y pagas, pero para protocolos propietarios es m\u00e1s complicado encontrar herramientas gratuitas (tal como comentamos en un <a title=\"Pruebas de performance en ISO8583\" href=\"http:\/\/blog.ces.com.uy\/?p=28\">post anterior<\/a>).<\/p>\n<p>Al finalizar esta etapa se contar\u00e1 con todos los artefactos de prueba necesarios para recrear el modelo definido.<\/p>\n<h1><strong>Etapa de Armado de la Infraestructura definitiva<\/strong><\/h1>\n<p>Luego que se ha dedicado mucho esfuerzo definiendo y programando la automatizaci\u00f3n, es hora de dejar el ambiente de pruebas listo para comenzar las ejecuciones. Esta etapa en general ocurre luego de la etapa de automatizaci\u00f3n debido a que por lo general los servidores a utilizar en las pruebas tienen un costo alto y se intenta minimizar el uso de los mismos. Las etapas anteriores se pueden realizar con un ambiente similar al que se va a utilizar en las pruebas.<\/p>\n<p>Al finalizar esta etapa se tiene toda la infraestructura lista para la ejecuci\u00f3n, eso incluye la monitorizaci\u00f3n (tanto de los servidores como de las generadoras de carga), procesos de backup\/restore en caso de que sean necesarios, etc.<\/p>\n<h1><strong>Etapa de Ejecuci\u00f3n<\/strong><\/h1>\n<p>En esta etapa se comienza a obtener los resultados. Generalmente las ejecuciones las comenzamos con las llamadas l\u00edneas bases (baselines) las cuales consisten en ejecutar cada transacci\u00f3n sin concurrencia ninguna (con la totalidad de los recursos disponibles) para obtener el mejor tiempo posible de cada una. Estos tiempos nos servir\u00e1n luego como puntos de comparaci\u00f3n. Al comenzar las pruebas se recomienda asignar un porcentaje de carga bajo (por ejemplo un 20% de la carga que se desea soportar), si todo funciona seg\u00fan lo esperado subir al 40%, y as\u00ed hasta llegar al 100% o 200% si se desea. La raz\u00f3n fundamental para tomar esta\u00a0estrategia\u00a0es encontrar con un nivel de complejidad menor los problemas m\u00e1s gruesos, atacarlos y luego pasar al siguiente escal\u00f3n. Si se ejecutar\u00eda de primera el escenario objetivo puede pasar que ocurran varios problemas al mismo tiempo, agregando complejidad \u00a0al an\u00e1lisis de los mismos.<\/p>\n<p>Luego de varias iteraciones de ejecuci\u00f3n, reportes y correcciones (l\u00f3gica, configuraci\u00f3n, re-dise\u00f1o, etc.) se llega a una versi\u00f3n del sistema que cumple con los desaf\u00edos planteados, o no se llega y se aprende sobre los puntos en los cu\u00e1les se debe mejorar.<\/p>\n<p>Es muy importante tener en cuenta que durante esta etapa el objetivo es mejorar el sistema y por este motivo se deben involucrar tanto los testers como los desarrolladores, los expertos en el DBMS, en el sistema operativo, en el balanceador de carga, en el servidor web, en el storage, etc, etc.<\/p>\n<h1><strong>Etapa de Finalizaci\u00f3n<\/strong><\/h1>\n<p>Luego que se terminan las ejecuciones es aconsejable hacer un informe final en el cual se\u00a0cuente \u00a0el desarrollo del proyecto, qu\u00e9 mejoras se hicieron qu\u00e9 sugerencias quedan por implementar para mejorar la performance, etc. Tambi\u00e9n es aconsejable hacer una evaluaci\u00f3n postmortem en la cual se vean los puntos a mejorar y ajustar para el pr\u00f3ximo proyecto.<\/p>\n<p>Esperamos les sea \u00fatil esta informaci\u00f3n y pueda contribuir en la mejora de la performance de sus sistemas.<\/p>\n<p style=\"text-align: right;\"><strong><a href=\"mailto:mrein@wordpress-test.ces.com.uy\">Mat\u00edas Reina<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proceso de pruebas de performance desarrollado en el Centro de Ensayos de Software<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[11],"tags":[48,49],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Metodolog\u00eda de pruebas de Performance del CES &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=2308\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Metodolog\u00eda de pruebas de Performance del CES &ndash; CES\" \/>\n<meta property=\"og:description\" content=\"Proceso de pruebas de performance desarrollado en el Centro de Ensayos de Software\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\" \/>\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-18T14:59:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-16T12:00:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/images.jpg\" \/>\n<meta name=\"author\" content=\"Matias Reina\" \/>\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 Reina\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 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=2308#article\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\"},\"author\":{\"name\":\"Matias Reina\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/476f463423993dfae76a26a8b044f1d4\"},\"headline\":\"Metodolog\u00eda de pruebas de Performance del CES\",\"datePublished\":\"2011-02-18T14:59:07+00:00\",\"dateModified\":\"2020-09-16T12:00:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\"},\"wordCount\":903,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#organization\"},\"keywords\":[\"Metodolog\u00eda\",\"Testing de Performance\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2308#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\",\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\",\"name\":\"Metodolog\u00eda de pruebas de Performance del CES &ndash; CES\",\"isPartOf\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/#website\"},\"datePublished\":\"2011-02-18T14:59:07+00:00\",\"dateModified\":\"2020-09-16T12:00:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordpress-test.ces.com.uy\/?p=2308\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordpress-test.ces.com.uy\/?p=2308#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/wordpress-test.ces.com.uy\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Metodolog\u00eda de pruebas de Performance del CES\"}]},{\"@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\/476f463423993dfae76a26a8b044f1d4\",\"name\":\"Matias Reina\",\"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 Reina\"},\"url\":\"https:\/\/wordpress-test.ces.com.uy\/?author=6\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Metodolog\u00eda de pruebas de Performance del CES &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=2308","og_locale":"es_ES","og_type":"article","og_title":"Metodolog\u00eda de pruebas de Performance del CES &ndash; CES","og_description":"Proceso de pruebas de performance desarrollado en el Centro de Ensayos de Software","og_url":"https:\/\/wordpress-test.ces.com.uy\/?p=2308","og_site_name":"CES","article_publisher":"https:\/\/www.facebook.com\/CESUruguay","article_published_time":"2011-02-18T14:59:07+00:00","article_modified_time":"2020-09-16T12:00:51+00:00","og_image":[{"url":"https:\/\/wordpress-test.ces.com.uy\/web\/wp-content\/uploads\/2011\/02\/images.jpg"}],"author":"Matias Reina","twitter_card":"summary_large_image","twitter_creator":"@ces_com_uy","twitter_site":"@ces_com_uy","twitter_misc":{"Escrito por":"Matias Reina","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308#article","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308"},"author":{"name":"Matias Reina","@id":"https:\/\/wordpress-test.ces.com.uy\/#\/schema\/person\/476f463423993dfae76a26a8b044f1d4"},"headline":"Metodolog\u00eda de pruebas de Performance del CES","datePublished":"2011-02-18T14:59:07+00:00","dateModified":"2020-09-16T12:00:51+00:00","mainEntityOfPage":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308"},"wordCount":903,"commentCount":0,"publisher":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#organization"},"keywords":["Metodolog\u00eda","Testing de Performance"],"articleSection":["Blog"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2308#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308","url":"https:\/\/wordpress-test.ces.com.uy\/?p=2308","name":"Metodolog\u00eda de pruebas de Performance del CES &ndash; CES","isPartOf":{"@id":"https:\/\/wordpress-test.ces.com.uy\/#website"},"datePublished":"2011-02-18T14:59:07+00:00","dateModified":"2020-09-16T12:00:51+00:00","breadcrumb":{"@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordpress-test.ces.com.uy\/?p=2308"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wordpress-test.ces.com.uy\/?p=2308#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/wordpress-test.ces.com.uy\/"},{"@type":"ListItem","position":2,"name":"Metodolog\u00eda de pruebas de Performance del CES"}]},{"@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\/476f463423993dfae76a26a8b044f1d4","name":"Matias Reina","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 Reina"},"url":"https:\/\/wordpress-test.ces.com.uy\/?author=6"}]}},"_links":{"self":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2308"}],"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\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2308"}],"version-history":[{"count":0,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=\/wp\/v2\/posts\/2308\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress-test.ces.com.uy\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}