send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Testing de Performance con JMeter

  • 2 Respuestas
  • 2135 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5301
  • Actividad:
    36.67%
  • Reputación 29
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Marzo 24, 2012, 10:14:06 am »
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Introducción:

Resumiendo un poco, Los testing de performance permiten conocer el mal desempeño de alguna aplicación.JMeter es uno de los programas más usados a la hora de hacer un testing de performance ya que es muy fácil de manejar. Carece de un buen reporte de resultados, pero aun así muestra todos los resultados necesarios para este tipo de testing.JMeter se puede usar para aplicaciones que manejen estos protocolos:
 
Web – HTTP, HTTPS
SOAP
Database via JDBC
LDAP (Lightweight Directory Access Protocol)
JMS (Java Message Service)Mail – POP3

Cabe aclarar que JMeter funciona con todos los navegadores.Sin más nada que decir, empezaremos a usarlo.

 Primeros pasos con JMeter

Empezaremos descargando JMeter de su página oficial: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Es una herramienta Open source y se darán cuenta cuando la descarguen.Una vez descargada, la descomprimimos y vamos al directorio bin y ejecutamos el archivo llamado jmeter.bat y veremos una pantalla similar a la siguiente imagen:
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Para comenzar, añadiremos un grupo de hilos, que es el que contendrá todos los pasos a testear.Para ello vamos:
Plan de Pruebas  >>  Añadir  >>  Hilos (Usuarios)  >>  Grupo de Hilos
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Colocamos un nombre para identificarlo:
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Como se puede ver, se puede aumentar el número de hilos, cada cuantos segundos queremos que se corran las iteraciones, etc.Ahora crearemos un banco de trabajo. Para ello clickeamos sobre Banco de trabajo con el click derecho del mouseY nos dirigimos a:
Añadir  >>  Elementos NoDePrueba  >>  Servidor Proxy HTTP
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Ahora configuraremos la conexión entre el programa y el navegador para que JMeter pueda recibir todo lo que se escucha por un puerto específico
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
   
 Como se puede ver, el primer recuadro rojo es para el puerto, este mismo puerto es el que debemos colocar en nuestro navegador.El segundo cuadro es para el Controlador Objetivo, en el cual pondremos el hilo que hemos creado en el plan de pruebas. Como se pueden crear muchos hilos, debemos seleccionar cual es el que deseamos grabar en ese momento. Entonces todo lo que naveguemos quedara guardado en ese controlador de objetivo que seleccionemos.Finalmente se puede excluir algunas extensiones. Yo en mi caso saque las imágenes, Pero eso ya es opcional.Una vez que tengamos hecho eso, configuraremos el navegador. Yo usare Firefox.Nos vamos a:
Herramientas  >>  Opciones
En las opciones avanzadas, vamos a la pestaña Red y entramos a las configuraciones de la conexión:
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Seleccionamos la configuración manual del proxy, y en Proxy HTTP, colocamos localhost y en puerto, debemos poner el mismo que habíamos puesto en JMeter. Que en mi caso es el 8080.
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Una vez que tenemos esto, damos aceptar.Volvemos al JMeter y ahora presionamos en Arrancar para empezar a grabar los pasos.
 Grabando los pasos
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Ahora si podemos comenzar a navegar para guardar los pasos.
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Una vez que finalizamos de hacer el recorrido de navegación, o los pasos a testear, frenamos el JMeter para dejar de grabar
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Bueno, con esto ya hemos grabado todos los pasos. Ahora vamos a ver un poco los resultadosSi miramos en la izquierda, aparece el icono del hilo y con una chincheta que se puede abrir
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Haciendo click en ella, podremos ver todos los pasos y todo lo que paso por entre medio al navegar.
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
   Obteniendo resultadosAhora solo nos queda ver en que tiempo responde la navegación y demás. Para ello, añadimos un reporte de resumenCon el click derecho del mouse en Plan de Pruebas
Añadir  >>  Receptor  >>  Reporte Resumen
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Y como podemos ver, se añade debajo del hilo
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Ahora solo nos queda correr el hilo y ver los resultados.
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Damos click en Arrancar, que es el botón verde con el Play y esperamos los resultados
 
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
En el reporte podemos ver los valores de respuesta de cada elemento de la página, si hay porcentaje de error y demás.Así como añadimos en este caso reporte de resumen, JMeter permite hacer graficas y otros reportes bastantes útiles que se añaden de la misma forma que el que acabamos de ver.A demás como dije antes, se pueden añadir iteraciones para simular el ingreso de más de un usuario a la aplicación y ver como responde esta.Espero que les haya gustado este paper y que les sea útil!
 ANTRAX
« Última modificación: Marzo 24, 2012, 10:19:07 am por ANTRAX »


Desconectado carlaysolina

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Octubre 18, 2017, 01:06:39 pm »
Hola

Tengo un problema con mis pruebas.
Necesito grabar y probar un proceso de registro de expedientes, pero cuando llego a la parte de grabar los datos me sale un error.
Copio detalle del error que se presenta:

java.lang.NullPointerException
   at IpasWeb.Mark.Edit.MarkEditControllerImpl.updateEntityFromPage(MarkEditControllerImpl.java:4132)
   at IpasWeb.Mark.Edit.EditTrademarkSaveAllChanges._updateCurrentMarkFromPage(EditTrademarkSaveAllChanges.java:216)
   at IpasWeb.Mark.Edit.EditTrademarkSaveAllChanges.execute(EditTrademarkSaveAllChanges.java:121)
   at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
   at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
   at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
   at org.andromda.presentation.bpm4struts.ActionServlet.doPost(ActionServlet.java:48)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
   at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
   at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:206)
   at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:179)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
   at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
   at IpasWeb.ApplContext.LoginFilter.doFilter(LoginFilter.java:57)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
   at webcontrol.CharsetFilter.doFilter(CharsetFilter.java:22)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
   at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
   at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
   at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
   at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
   at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
   at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
   at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
   at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
   at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
   at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
   at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
   at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
   at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
   at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
   at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
   at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
   at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
   at java.lang.Thread.run(Thread.java:745)

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5301
  • Actividad:
    36.67%
  • Reputación 29
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #2 en: Diciembre 04, 2017, 04:01:19 pm »
Hola @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login podrías poner un poco mas de info?
Como por ejemplo un screenshot?

Saludos!


 

¿Te gustó el post? COMPARTILO!



[LIBROS] PACK SEGURIDAD INFORMÁTICA - (Auditoría Wifi, Penetration testing, etc)

Iniciado por graphixx

Respuestas: 0
Vistas: 1797
Último mensaje Agosto 18, 2015, 01:53:01 am
por graphixx
[APORTE] libro- METASPLOIT penetration testing cookbook second edition

Iniciado por jozetroub

Respuestas: 0
Vistas: 850
Último mensaje Mayo 10, 2017, 03:49:38 pm
por jozetroub
[PAPER]Penetration Testing I - Introduccion a los Test de Penetracion

Iniciado por [C]orrupted[B]yte

Respuestas: 5
Vistas: 2434
Último mensaje Enero 15, 2013, 10:05:23 pm
por Hackmundy
[LIBRO] Metasploit Penetration Testing Cookbook. INGLES

Iniciado por morodog

Respuestas: 0
Vistas: 1609
Último mensaje Julio 19, 2013, 06:41:09 am
por morodog
Libro: Penetration testing a survival guide

Iniciado por Rootkit_Pentester

Respuestas: 3
Vistas: 1553
Último mensaje Enero 30, 2018, 09:31:30 pm
por sapewick