View
952
Download
1
Category
Preview:
Citation preview
Presentacin de PowerPoint
PhD. Federico Toledofederico.toledo@abstracta.com.uyTwitter: @fltoledoMobile TestingLos nuevos desafos
Una breve presentacinbit.do/librodetesting
Community+270
+180http://www.meetup.com/Testing-Uy/http://www.nahual.uy+15 colaboradores3 chicos trabajando+30 formadoshttp://testing.uy
Aprovechemos la comunidad, aprovechemos la cantidad de empresas y universidades con foco en mejorar la industriaTesting Uy ms de 270 inscriptos el da anteriorMeetup Smense para debatir y proponer temas y discusiones en meetup.comApoyen los Open Device Lab !3
Por qu laburs en testing?No conseguiste otra cosa mejor?Es aburridoEs repetitivoNo tiene desafosEs el trabajo para el mal programador
4
#testingrocks
Hablemos deMobile testingPerformanceUsabilidad Testing basado en riesgosEl testing no es aburridoNo es repetitivoTiene grandes desafos
Les aseguro que en todas estas cosas que vamos a ver ac, veremos que el testing no es aburrido, no es repetitivo, tiene desafos6
Hablemos deMobile testingPerformanceUsabilidad Testing basado en riesgos
7
Usuarios acostumbrados a usar el celular en todo momento y a exigir cada vez ms velocidad, usabilidad, etc.
Los usuarios afectan el mercado, comentarios y calificaciones en GooglePlay o AppStore.
Performance+60% de los problemas de las apps que fracasan son de performance.Gold Standard era 6s, luego 3s, Google apunta a 1s.El usuario espera que en su cellular funcione mejor que en us PC.
No s de dnde saqu esa estadstica, pero si la repetimos 1000 veces se convierte en verdad10
Performance en mobile
Performance Client SideWebapp PageSpeed Insights developers.google.com/speed/pagespeed/insights Webpage Test www.webpagetest.orgSiteSpeed run.sitespeed.io Yslow www.yslow.org Nativa Monkop www.monkop.com
PageSpeed InsightsPerformance y usabilidad.
Informacin para optimizacin del lado del cliente: Web desktopMobile
Basado en best-practices.
Luego de que la pgina es analizada, el Page Speed despliega una lista de los 29 escenarios comentados anteriormente clasificados segn 4 colores (verde, amarillo, rojo, y azul) y ordenados de acuerdo a su importancia junto con una valoracin general de la pgina.
13
PageSpeed InsightsLuego nos plantea cmo solucionarlo:
PageSpeed InsightsLuego nos plantea cmo solucionarlo:
Optimizar trfico
Performance Client SideWebapp PageSpeed Insights developers.google.com/speed/pagespeed/insights Webpage Test www.webpagetest.orgSiteSpeed run.sitespeed.io Yslow www.yslow.org Nativa Monkop www.monkop.com
by
Monkop
Monkop
Monkop
Explorando la app de FIFA
Todo con lo de FIFA
Ms de 1000 apps probadasMs de 40 betatesters
Esto es lo que tenemos hoyEvaluamos ya ms de 1000 aplicaciones, encontrando oportunidades de mejoras para todas ellas.
Hay una versin beta que se est usando, por ahora gratis por perodo de evaluacin, sin estar facturando an.22
Explorando otras aplicaciones
Encuentro GeneXusMarcaFotocasaLa LigaVivaVideo
ac estn los top de espaa para androidhttp://www.appannie.com/apps/google-play/top/spain/overall/
23
Monkop
Reporte de ejemplo: https://goo.gl/bMf46T
Performance en mobile
Performance Server SideSimulacin de cargaConcurrencia Usuarios virtuales
Mostrar primero qu se necesita para hacerlo en forma manualDe todos modos se necesita automatizacin, el sistema, la infraestructura y todo esoLa complicacin es la coordinacin y repetitibilidad de las pruebasAh metemos herramientas de generacin de carga en forma automatizada y soluciona mucho estos problemas y baja costosCon pocas mq
Performing load testing without an automated load-testing tool is problematic. Manual load testing is costly, time consuming, and not practical. With manual load testing, it is difficult to replicate the tests over and over again; there is no repeatability. It is almost impossible to simulate tens of thousands of users, while coordinating time, people, machines and the overall testing environment. Also, because it is hard to replicate the tests over again, the results become difficult to analyze.
Automated load testing tools on the other hand allow QA professionals to re-run the exact tests over and over again with different premises. With an automated load-testing tool, QA can simulate load conditions, such as number of sessions per hour and then simulate users accessing the application at the same time. For example, QA can run a test that simulate a load of 100 users, then with 200 users, up to tens of thousands of users. At each load, QA will find out how well the application scales and behaves. Also, automated load testing tools allow QA professionals to easily gain access to client side response time and server statistics, such as CPU and memory utilization.With an automated load-testing tool, QA can gain repeatability, reusability, and results that matter. Automated load-testing tools also allow Managers to utilize their QA staff and computer resources more efficiently in order to ensure the optimum stability, responsiveness, scalability, and throughput of an application before it is deployed
uinas y sin requerir coordinacin con 100s de personas podemos simular su uso.27
Automatizacin / robotizacin
El esquema no lo planteamos nosotros, sino que es lo que se usa
Se pueden llegar a hacer las pruebas manuales (simulaciones) + las pruebas de performance en concurrencia
Easy to useWorkflow bar guides you through all stepsSingle point of control: Health control for agents as well as automatic agent detection, VUser load balancing, remote agent setupPowerful project concept
PowerfulReplaces tests with virtual users (vs. manual load testing)Automatically synchronizes all virtual users (vs. manual load testing)Systematic and reproducible (vs. manual load testing)Runs thousands of VUs on a single machine (TrueScale technology !!!)IP spoofing and DNS lookup with full scalability (without any penalty on performance or scalability)Various TrueLog formats
AccurateAccurately simulates the load of realistic usersTrueCacheTrueModemTrueLogReliable error detection on application level (automated link verification)
Isolate problems simply and quickly throughContent verifications, even under heavy loadVisual logs that show you the click paths to your errors (TrueLog On Error)Detailed response time breakdown analysis (also on error e.g. threshold exceeded during a load test)Real-time performance monitors for your back-end systemsIn-depth management reports
29
Cmo se prepara un UV?
30Para entender lo que significa grabar un script, vamos a ver cmo lo hace
Generalmente lo que se hace es que la herramienta se ponga en el medio de forma de proxy. De esta manera los pedidos HTTP van a pasar por ah.-
Automatizacin en MobilePor lo general es ms fcil que en webInvocacin a servicios REST
Viajan menos datos, menos para parametrizar
Ejecucin Plan de Pruebas
BaseLineMejor tiempo posibleIterativo para tener datos estadsticos
EscenarioIncrementalComenzar con un 20% de la cargaEscalar hasta llegar al 100%
Baseline Ya podemos ir analizando los tiempos unitarios. Si con un nico usuario esto no funciona en los tiempos que establecimos en un inicio como aceptables, entonces la carga no va a funcionar tampoco en los tiempos que nos propusimos. Adems nos servir como comparacin de rendimiento ante carga y rendimiento standalone.Se ejecutan varias iteraciones para tener resultados estadsticos, y poder as descartar casos anmalos que se pueden dar.Escenarios comenzamos con una pequea carga. Nos sirve tambin para verificar que los scripts y el resto de los componentes de prueba estn funcionando bien antes de lanzar la carga objetivo. Si tiramos el 100% de la carga al comienzo y nos da muchos errores o problemas, es ms dificil atacar eso, q ir incrementando desde pocas cantidades ya que los problemas irn saltando de a uno.
32
BlazeMeterhttps://blazemeter.comURLPrueba de JMeter Prueba de Webdriver (Selenium)
Hablemos deMobile testingPerformanceUsabilidad Testing basado en riesgos
34
Qu es la usabilidad?
Una forma interesante y sencilla de explicar que es la usabilidad es haciendo referencia a la tetera para masoquistas del artista Francs Jacques Carelman. En ste elementos estn presentes todas las funciones, cumple con todos los requisitos, pero es muy difcil sino imposible concebir su uso normal sin inconvenientes.
Qu es la usabilidad?
La usabilidad es la disciplina que se encarga de construir ese intangible que hace que las distintas funciones de algo puedan ser utilizadas por los usuarios sin inconvenientes, con la menor dificultad posible.
Problemas que vienen de la propia tarea que desempea y problemas que provienen del uso de la propia herramienta.
La usabilidad tiene por objetivo reducir al mnimo las dificultades de uso inherentes a una herramienta informtica
Miro y EntiendoLeo y EntiendoPienso y Entiendo
Miro, leo, pienso: tres niveles de interaccin
A nuestra mente no le gusta pensarMary Poppendiek en giles 2015http://agiles2015.agiles.org/es/?page_id=1943
Cmo probamos usabilidad?Les comparto un par de estudios interesantes.Algunos los hacemos nosotros, otros con un partner.
Pruebas con usuarios
Usabilidad en mobile
Checklist Arranquemos con las heursticas de Nielsen
Visibilidad del contexto del sistema.Relacin entre el sistema y el mundo real.Control y libertad del usuario.Consistencia y estndares.Prevencin de errores.Reconocer es mejor que recordar.Flexibilidad y eficiencia de uso.Esttica y diseo minimalista.Ayudar a los usuarios a recuperarse de errores.Ayuda y documentacin.
Hablemos deMobile testingPerformanceUsabilidad Testing basado en riesgos
43
Testing basado en Riesgo
Los dispositivos ms usados.
Testing basado en Riesgo
Menos recursos.
Los que no hemos probado.
Dispositivos ms nuevos.
Testing basado en Riesgo
Seleccin de dispositivosAnlisis de riesgo:Cules son los ms usados?Cules son los que tienen mayor probabilidad de falla?
(si no funciona la aplicacin para los dispositivos ms usados, tendremos el mayor impacto negativo)Quiz los que tienen menos recursos, los tamaos de pantalla que no hemos probado, etc.
47
Anlisis de riesgoEsto debemos analizarlo segnSistemas operativosAndroid, iOS, Blackberry, etc.Para cada uno, sus versiones.Tamaos de pantallaFabricantes Aplica en especial para Android
Diversidad en AndroidFuente: http://developer.android.com/about/dashboards/index.html
Diversidad iOSFuente: http://david-smith.org/iosversionstats/
Armin comparti por twitter esta informacin actualizada
Estadsticas solo al inicio
Las estadsticas sirven para el inicio cuando no sabemos nada de nuestros usuarios.
Tip - Elegir DevicesAl menos 1 gama baja y 1 gama alta
Pero cuntos?Entre 5 y 10 dispositivos.
?????
Por ah se cuenta que el nmero de dispositivos a probar es entre 5 y 10
De dnde los saco?Cada empresa debera tener su laboratorio?Bastante ineficiente y caro. Cada empresa tendra una cantidad de celulares (alto costo) y no los usaran todo el tiempo.Alternativa:Compartir.
Open Device Lab
Open Device Lab
Donaciones de particularesConvenios con Movistar e Intel
Celulares a disposicin GRATIS
Cloud de celulares
Gran variedad de dispositivos.Cmo funciona:Elegir dispositivo.Instalar la app bajo pruebas en el dispositivo remoto.Probar! Se tiene control total.
Cloud de celulares
ConsideracionesSe paga por uso.Un poco lento. Se usa el mouse.
Cloud de celulares
Cobertura y tiempoSe puede considerar la cobertura en el tiempo.Ejemplo: ejecutar en distintos browsers.Ejecutar algunas funcionalidades en Internet Explorer, otras en Firefox y otras en Chrome.Para el siguiente ciclo de pruebas se toman distintas combinaciones.La cobertura se mejora en el tiempo.
Cobertura y tiempoFecha 1 (v1)Fecha 2 (v1.1)Fecha 3 (v2)Fecha 4 (v2.5)Suite PrioritariaIE, FF, Ch, OPIE, FF, Ch, OPIE, FF, Ch, OPIE, FF, Ch, OPSuite 1IEFFChOPSuite 2FFChOPIESuite 3ChOPIEFFsuite 4OPIEFFCh
IE = Internet ExplorerFF = FirefoxCh = ChromeOP = OperaMismo concepto aplicable aSistemas operativosDispositivos mvilesEtc.
Versin 1Test Suite Critica Todos los dispositivosTest Suite 1iPad MiniTest Suite 2iPhone 5STest Suite 3Galaxy TabTest Suite 4XperiaTest Suite 5ACE
Versin 2Todos los dispositivosACEiPad MiniiPhone 5SGalaxy TabXperia
Versin 4Todos los dispositivosGalaxy TabXperiaACEiPad MiniiPhone 5S
Versin 3Todos los dispositivosXperiaACEiPad MiniiPhone 5SGalaxy Tab
Tiempo
Versin 5Todos los dispositivosiPhone 5SGalaxy TabXperiaACEiPad Mini
Cobertura y tiempo
Todo lo tengo que probar en todos los dispositivos?
S5Nexus 4HTC OneTest 1%
Test 2
%
Test 3
%S5Nexus 4HTC OneTest 1
%
Test 2
%Test 3%
S5Nexus 4HTC OneTest 1
%Test 2%
Test 3
%
Ejecucin 1Ejecucin 2Ejecucin 3Cobertura y tiempo
Que pasa si tenemos muchos casos de prueba y queremos ejecutarlos en varios dispositivos pero no disponemos del tiempo para ejecutar todos los casos en todos los dispositivos? Ya sea porque tenemos realmente demasiados dispositivos o porque, por ejemplo, queremos que las pruebas de regresin se ejecuten rpidamente luego de cada commit para darle un feedback al desarrollador.
Supongamos por ejemplo que tenemos tres casos de prueba y tres dispositivos pero tenemos tiempo solo para ejecutar tres pruebas. En la primera ejecucin se van a elegir en que dispositivos ejecutar de la siguiente maneraLuego en la segunda ejecucin y en la tercera ejecucinSiempre, en cada ejecucin, ejecutando todos los casos de prueba, pero no en todos los dispositivos.
Como ven, luego de la tercera ejecucin nos aseguramos que todos los casos de prueba ejecutaron en todos los dispositivos
Cobertura y tiempoS5Nexus 4HTC OneTest 1%%%Test 2%%%Test 3%%%
Siguen pensando que el testing es aburrido y sin desafos tcnicos?testing es aburrido y sin desafos tcnicos?
PhD. Federico Toledofederico.toledo@abstracta.com.uyTwitter: @fltoledoGracias!Mobile TestingLos nuevos desafos
#testingrockshttp://www.slideshare.net/FedericoToledo
Subir las ppts a slideshare67
Se abre
1.1
Se abre
1.2
Acciones
2
Terminar de grabar
3
3.1
Tenemos el script
Gateway(Proxy)
Browser
Http - Request
Http - Response
Http - Request
Http - Response
Ttulo del formularioModeller
Servidor Web
Http - Request
Http - Response
grabar
1
Servidor Web
Servidor Web
Servidor Web
Servidor Web
Recommended