{"id":2247,"date":"2014-01-21T10:00:07","date_gmt":"2014-01-21T10:00:07","guid":{"rendered":"http:\/\/10.1.1.67:8116\/2015\/07\/24\/169-revision-v1\/"},"modified":"2023-10-11T09:44:27","modified_gmt":"2023-10-11T09:44:27","slug":"pruebas-de-rendimiento-quality-assurance","status":"publish","type":"post","link":"https:\/\/fractaliasystems.com\/en\/pruebas-de-rendimiento-quality-assurance\/","title":{"rendered":"Pruebas de Rendimiento. QUALITY ASSURANCE \u201cQA\u201d (2\/2)"},"content":{"rendered":"<p>En el anterior post definimos el conjunto de pruebas de QA y os indicamos algunas recomendaciones \u00fatiles si queremos emplear herramientas software para la realizaci\u00f3n de pruebas funcionales. En este post nos centraremos en las pruebas de rendimiento y mostraremos algunos consejos que pueden ayudar a los usuarios en la ejecuci\u00f3n \u00a0de dichas pruebas.<\/p>\n<p>Las pruebas de rendimiento son un conjunto de pruebas no funcionales que se realizan, para determinar la velocidad de ejecuci\u00f3n de una tarea concreta en un sistema bajo condiciones particulares de trabajo.<!--more--><\/p>\n<p>Los objetivos de estas pruebas son:<\/p>\n<ul>\n<li>Validar y verificar atributos de la calidad del sistema: uso de los recursos,\u00a0escalabilidad y\u00a0fiabilidad.<\/li>\n<li>Comparaci\u00f3n de sistemas para encontrar cu\u00e1l de ellos funciona mejor.<\/li>\n<li>Determinar qu\u00e9 componentes del sistema provocan que el conjunto .presente rendimientos bajos.<\/li>\n<\/ul>\n<p><b>Tipos de Pruebas de Rendimiento<\/b><\/p>\n<ol>\n<li>Prueba de Carga =&gt; Load Test<\/li>\n<\/ol>\n<p>Prueba de rendimiento que se realiza para observar el comportamiento de una aplicaci\u00f3n bajo una cantidad de peticiones esperada.<\/p>\n<p>Objetivos:<\/p>\n<ul>\n<li>Mostrar los tiempos de respuesta de todas las transacciones importantes.<\/li>\n<li>Localizar los \u2018cuellos de botella\u2019 de una aplicaci\u00f3n.<\/li>\n<\/ul>\n<p>2. \u00a0Pruebas de Estr\u00e9s\u00a0=&gt; Stress Test<\/p>\n<p>Prueba de rendimiento que se realiza para observar el comportamiento de una aplicaci\u00f3n bajo una cantidad de peticiones extrema.<\/p>\n<p>Objetivos:<\/p>\n<ul>\n<li>\u2018Romper\u2019 la aplicaci\u00f3n.<\/li>\n<li>Determinar c\u00f3mo rendir\u00e1 la aplicaci\u00f3n si la carga real supera a la carga esperada<\/li>\n<\/ul>\n<p>3. \u00a0Otras Pruebas: de picos, de estabilidad, &#8230;<\/p>\n<p>A la hora de efectuar pruebas de rendimiento empleando herramientas de software, es necesario que el departamento de QA, defina un escenario lo m\u00e1s real posible, es decir, lo m\u00e1s semejante a las situaciones de funcionamiento en el entorno. Las configuraciones generales que se pueden realizar empleando este tipo de software se describen brevemente a continuaci\u00f3n:<\/p>\n<p><b>Propiedades de configuraci\u00f3n de escenario de pruebas de rendimiento<\/b><\/p>\n<ol>\n<li><i>Perfil y tiempo de reflexi\u00f3n<\/i>: Se emplea para simular el comportamiento humano que hace que las personas esperen entre iteraciones con un sitio web.<\/li>\n<li><i>Modelo o trama de carga<\/i>. Especifica el n\u00famero de usuarios virtuales activos durante una prueba de carga y la tasa con que se inician nuevos usuarios<\/li>\n<li><i>Modelo de combinaci\u00f3n de pruebas<\/i>. Especifica la probabilidad de que un usuario virtual ejecute una prueba determinada en un escenario de prueba de carga.<\/li>\n<li><i>Combinaci\u00f3n de pruebas<\/i>. Especifica el conjunto de pruebas que un usuario virtual ejecutar\u00e1<\/li>\n<li><i>Combinaci\u00f3n de redes<\/i>. Especifica la probabilidad de que un usuario virtual ejecute un perfil de red determinado.\u00a0Un perfil de red es una simulaci\u00f3n de ancho de banda de red en la capa de la aplicaci\u00f3n. No simula latencia.<\/li>\n<li><i>Combinaci\u00f3n de exploradores<\/i>. Especifica la probabilidad de que un usuario virtual emplee un tipo de explorador u otro. Ejemplo: el 45% de usuarios utilice para ejecutar las pruebas IE9.0 y el 55% Chrome 2.<\/li>\n<li><i>Conjuntos de contadores<\/i>. Algunas herramientas de pruebas de rendimiento, contienen un conjunto de contadores de rendimiento que son <b>\u00fatiles para supervisar<\/b> durante una ejecuci\u00f3n de la prueba de carga. Los conjuntos de contadores forman parte de la prueba de carga y se aplican a todos los escenarios de \u00e9sta. Se organizan por tecnolog\u00eda, por ejemplo, conjuntos de contadores de ASP.NET o SQL<\/li>\n<li><i>Configuraci\u00f3n de ejecuci\u00f3n<\/i>. Se debe introducir caracter\u00edsticas con respecto a la duraci\u00f3n de las pruebas de carga, la velocidad, el n\u00famero de repeticiones, etc.<\/li>\n<li><i>Conmutaci\u00f3n de IP<\/i>. Permite a un agente enviar solicitudes a un servidor utilizando un intervalo de direcciones IP. El objetivo de este escenario es poder probar una bater\u00eda de servidores Web con equilibrio de carga configurado.<\/li>\n<li><i>Porcentaje de nuevos usuarios o uso de cach\u00e9<\/i>. Permite simular el almacenamiento en cach\u00e9 que deber\u00eda realizar un explorador web. Ejemplo: 80% de los usuarios acceden siempre por primera vez a la herramienta y el 20% restante usa el cach\u00e9.<\/li>\n<\/ol>\n<p>El equipo de QA de Fractalia, ha empleado este tipo de herramientas software para conocer el rendimiento de uno de sus nuevos productos, <b>tvidi.<\/b><\/p>\n<p><b>tvidi <\/b>es la nueva soluci\u00f3n de publicidad din\u00e1mica adaptada al comercio y la peque\u00f1a empresa. <a href=\"http:\/\/www.tvidi.tv\/\">http:\/\/www.tvidi.tv\/<\/a><\/p>\n<p>En concreto, en este post explicaremos un ejemplo de configuraci\u00f3n de escenario de pruebas de rendimiento asociado a las pruebas que se han llevado a cabo en nuestro laboratorio con el objetivo de conocer el rendimiento de los players, en el proceso de solicitud de descarga de playlist\u00a0 o lista de reproducci\u00f3n asignada a los mismos.<\/p>\n<p>El objetivo de las pruebas ha sido realizar una \u2018prueba de humo\u2019 (poca carga de usuarios) por cada componente para ver que funcionan correctamente y una vez cerciorados de dicho correcto funcionamiento, aumentar esa carga de usuarios hasta los objetivos de rendimiento indicados.<\/p>\n<p><b>Configuraci\u00f3n de escenario de pruebas de rendimiento producto tvidi:<\/b><\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/Tabla-rendimiento.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-182 aligncenter\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/Tabla-rendimiento.png\" alt=\"Definici\u00f3n escenarios de pruebas\" width=\"501\" height=\"731\" \/><\/a><\/p>\n<p>Nota: Todos los players tienen playlist asignada y pertenecen al mismo usuario<\/p>\n<p><span style=\"line-height: 1.5;\">Tras realizar la prueba de humo se ha ajustado la configuraci\u00f3n (tras iterar el lanzamiento de las pruebas N veces) de una manera id\u00f3nea para poder observar el comportamiento del sistema.<\/span>Nota: Todos los players tienen playlist asignada y pertenecen al mismo usuario<\/p>\n<p>La base de datos de producci\u00f3n estaba cargada con los siguientes datos (datos necesarios tambi\u00e9n disponibles en la base de datos que serv\u00eda como datasource para lanzar las pruebas):<\/p>\n<ul>\n<li>10044 usuarios.<\/li>\n<li>2234 (folders \/ tags, en global).<\/li>\n<li>2490 medios.<\/li>\n<li>1577 playlists.<\/li>\n<li>11561 players.<\/li>\n<\/ul>\n<p>Se genera documentaci\u00f3n autom\u00e1tica en Excel y ficheros .trx que muestra gr\u00e1ficos y tablas de muy diversos tipos, para sacar de ah\u00ed la informaci\u00f3n pertinente, ejemplo:<\/p>\n<p><a href=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/pruebas-unitarias.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-171 aligncenter\" src=\"http:\/\/fractaliasystems.com\/wp-content\/uploads\/pruebas-unitarias-1024x357.png\" alt=\"Resultado pruebas de rendimiento de un software\" width=\"604\" height=\"210\" \/><\/a><\/p>\n<p>Los resultados obtenidos nos permiten analizar la escalabilidad vertical (cores CPU) y horizontal (n\u00famero de servidores en balanceo) necesarios para la carga de clientes y players necesarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el anterior post definimos el conjunto de pruebas de QA y os indicamos algunas recomendaciones \u00fatiles si queremos emplear herramientas software para la realizaci\u00f3n de pruebas funcionales. En este post nos centraremos en las pruebas de rendimiento y mostraremos algunos consejos que pueden ayudar a los usuarios en la ejecuci\u00f3n \u00a0de dichas pruebas. Las<br \/><a href=\"https:\/\/fractaliasystems.com\/en\/pruebas-de-rendimiento-quality-assurance\/\" class=\"more\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":2248,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2247","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-fractalia"],"_links":{"self":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/comments?post=2247"}],"version-history":[{"count":1,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2247\/revisions"}],"predecessor-version":[{"id":7194,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/posts\/2247\/revisions\/7194"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/media\/2248"}],"wp:attachment":[{"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/media?parent=2247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/categories?post=2247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fractaliasystems.com\/en\/wp-json\/wp\/v2\/tags?post=2247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}