SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
¿¿¿ y calidad ???
¿Qué es                ?

•  Una plataforma social de comunicación web y
   móvil con más de 14 millones de usuarios
   registrados, alrededor de 10 millones de
   usuarios activos al mes (6,5 a través de apps),
   que comparten de forma privada contenido
   relevante para ellos y su círculo de amigos más
   cercano.
Gente real. Información real.
Relaciones reales.
•  Máxima privacidad por
   defecto
•  No indexa en
   buscadores
•  Simple
•  Messenger + Social
•  Contenidos relevantes
•  Alto engagement         Tuenti en 2007 y nuestro primer logo"
6 años de "
                                                                                                                     14MM de "
                                                                                                                     usuarios"
 Total Users (Millions)"




                           15



                                                                                                  Release of"
                                                                                                “Tuenti Places”"

                           11




                                                                             Launched mobile"              Telefónica"
                                                                                                          Investment"
                           8


                                                      #1 social network in Spain"
                                                           by page views"
                                                                                         Hired 100th"
                           4
                                                                                         to the team"

                                Founded" 25k users"

                                                                       Sold first ad"
                           0
                                   2006        2007            2008          2009        2010             2011           2012
Tuenti hoy
    Tuenti hoy!
•  15% del tráfico web de
   España pasa por Tuenti
   cada día

•  Una de las principales
   compañías de internet en
   Europa

•  3 Oficinas, 260 empleados
   de 22 nacioalidades

•  En proceso de
   internacionalización
              "
Principal sitio web y móvil en España




                        14,5MM! 40.000!
                        Usuarios registrados"   Millones de páginas
                                                                      6,5MM!
                                                                      Usuarios de apps
                                                                                         400MM!
                                                                                         Mensajes de chat/día"
                                                    vistas al mes"        móviles"




Base de datos Tuenti"
¿Y en cuánto a lo techie?

                •       +13M usuarios (~10,4M usuarios activos 2011)
                •       +100 minutos/día por usuario (avg)
                •       +400M mensajes de chat / día
                •       +4M fotos subidas / día (picos)
                •       +41,000M páginas vistas / mes
                •       +35K requests / seg (picos)
                •       +1,3K servidores
                •       +250 empleados (~60% techies)
                •       +15K archivos en los repositorios
                •       +10K Tests

Base de datos Tuenti"
Release workflow



                    Branch   Code   Test   Integrate   Release   Stabilize




Base de datos Tuenti"
Release workflow
                    Branch   Code   Test    Integrate   Release   Stabilize




                •  15 ramas de media en cada release
                   o  Record actual: 35 ramas

                •  63.000 líneas modificadas de media por release




Base de datos Tuenti"
Release workflow
                    Branch   Code   Test   Integrate   Release   Stabilize




                •  Scrum (o al menos alguna metodología Ágil)
                   o  Tanto TDD como sea posible

                •  Labs
                •  A/B Testing
                •  Dark launch



Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  Repositorio único siempre disponible
                •  Fecha de release dada por el equipo de devops
                   o  Pasar toda la batería de tests hasta que todos
                      den el OK
                   o  Mergear y esperar !!!
                •  Testing por parte de QA
                   o  Cualquier problema debe ser solucionado
                      ASAP !!!

Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  3 releases por semana
                   •  DevOps goal: Todos los días de la semana

                •  Se toma el último changeset válido de Integración

                •  Staging servers para probar el código con cierto
                   número de usuarios


Base de datos Tuenti"
Release workflow
                    Branch   Code    Test    Integrate   Release   Stabilize




                •  Un único push a live a las 8 am

                •  En caso de error o problema rápido
                   •  Revert
                   •  Hotfix




Base de datos Tuenti"
Muy bonito…

¡¡ Pero nosotros hemos venido a
       hablar de CALIDAD !!
¿De quién depende la calidad?



 ¡¡¡ De todos los departamentos !!!
¿De quién depende la calidad?

 Engineering	

                          QA Team	

   Engineers           Testers           QA Analyst        Test Engineer

•  Unit &          •  Ejecutar Tests   •  Diseño y         •  Integration &
   Integration        Cases               Ejecución de        Browser Tests
   Tests                                  Tests Cases
                   •  Bug Reports      •  Gestión de los   •  Analizar
•  Code coverage                          Issues              calidad del
                                       •  Release             código
                                          Process
                                       •  Soporte para
                                          Hotfixes
¿Ingenieros también?
Por supuesto,

1.  Todo código debe de ser testeable

2.  Los tests deben de probar el código que deberías de
    tener no el que tienes


         Think à Code à Test à Refactor
¿Ingenieros también?

Y para eso tenemos:


                Code reviews
¿Ingenieros también?

Y para eso tenemos:


             Code Coverage Analysis
¿Ingenieros también?

Y para eso tenemos:


                  Y a este tipo…
¿Y QA dónde está?
Divididos en equipos por areas funcionales de negocio

              Comms	


Sharing	

                  Identity	

                                                                                            Ads	

                                                               FEFW	

                                                                                                                 Tent	

                      Webx	

               Social	

                           BEFW	

                 Infraestructure	


                                                                                                                                 Revenue	


                                                             Platform	



                           Ops	

             Online	

                    Cus	

                                                                                                                  WP	

                                                                                                    Android	

               m.tuenti	

                           MVNO	



                                                                                                iPhone	

        Mobile	

           BB
¿Por qué juntos?
•  Mejor conocimiento del producto
  o  Plannings, Scrum diario…

•  Cercanía a los developers
  o  Feedback rápido
  o  Confianza
Resumiendo…

•  La calidad NO es un impedimento para la agilidad…
              ¡ Es la base de la agilidad !


•  La calidad no es cosa del departamento de QA…
          ¡ Es parte de la cultura de la empresa !
Resumiendo…


“ The only way a team can write quality
software is when the entire team is responsible
for quality. ”

James A. Whittaker, Jason Arbon, Jeff Carollo, How Google Tests Software
We are done




¿Questions?
exit(0);




enrique@tuenti.com"
blog.tuenti.com"
@tuenti "
slideshare.com/equipotuenti"
youtube.com/tuenti"
tuenti.com/tuenti"

Mais conteúdo relacionado

Destaque

Scaling and Sustaining Agility
Scaling and Sustaining AgilityScaling and Sustaining Agility
Scaling and Sustaining AgilityTathagat Varma
 
Testlodge Tutorial v1.0
Testlodge Tutorial v1.0Testlodge Tutorial v1.0
Testlodge Tutorial v1.0TestingBaires
 
Cas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladaCas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladapsluaces
 
Hacking Your Way to The Top: Essential Skills for Product Leaders
Hacking Your Way to The Top: Essential Skills for Product LeadersHacking Your Way to The Top: Essential Skills for Product Leaders
Hacking Your Way to The Top: Essential Skills for Product LeadersTathagat Varma
 
Cucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de PruebasCucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de PruebasTestingBaires
 
What part of "Agile Transformating" companies don't get???
What part of "Agile Transformating" companies don't get???What part of "Agile Transformating" companies don't get???
What part of "Agile Transformating" companies don't get???Tathagat Varma
 
Lean Startup in the Enterprise
Lean Startup in the EnterpriseLean Startup in the Enterprise
Lean Startup in the EnterpriseTathagat Varma
 
Fire Your Scrum Master
Fire Your Scrum MasterFire Your Scrum Master
Fire Your Scrum MasterTathagat Varma
 
Agile Software Development - Learn It Yourself
Agile Software Development - Learn It YourselfAgile Software Development - Learn It Yourself
Agile Software Development - Learn It YourselfTathagat Varma
 
Enabling Digital Transformation
Enabling Digital TransformationEnabling Digital Transformation
Enabling Digital TransformationTathagat Varma
 

Destaque (16)

Scaling and Sustaining Agility
Scaling and Sustaining AgilityScaling and Sustaining Agility
Scaling and Sustaining Agility
 
Lecciones aprendidas con appium
Lecciones aprendidas con appiumLecciones aprendidas con appium
Lecciones aprendidas con appium
 
The Agile Way
The Agile WayThe Agile Way
The Agile Way
 
Testlodge Tutorial v1.0
Testlodge Tutorial v1.0Testlodge Tutorial v1.0
Testlodge Tutorial v1.0
 
Cas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controladaCas 2011 Integración continua vs controlada
Cas 2011 Integración continua vs controlada
 
Hacking Your Way to The Top: Essential Skills for Product Leaders
Hacking Your Way to The Top: Essential Skills for Product LeadersHacking Your Way to The Top: Essential Skills for Product Leaders
Hacking Your Way to The Top: Essential Skills for Product Leaders
 
Cucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de PruebasCucumber - Curso de Automatización de Pruebas
Cucumber - Curso de Automatización de Pruebas
 
What part of "Agile Transformating" companies don't get???
What part of "Agile Transformating" companies don't get???What part of "Agile Transformating" companies don't get???
What part of "Agile Transformating" companies don't get???
 
Lean Startup in the Enterprise
Lean Startup in the EnterpriseLean Startup in the Enterprise
Lean Startup in the Enterprise
 
Workshop calabash appium
Workshop calabash appiumWorkshop calabash appium
Workshop calabash appium
 
DevOps: Hype or Hope
DevOps: Hype or HopeDevOps: Hype or Hope
DevOps: Hype or Hope
 
Fire Your Scrum Master
Fire Your Scrum MasterFire Your Scrum Master
Fire Your Scrum Master
 
Agile Innovation
Agile InnovationAgile Innovation
Agile Innovation
 
Managing Complexity
Managing ComplexityManaging Complexity
Managing Complexity
 
Agile Software Development - Learn It Yourself
Agile Software Development - Learn It YourselfAgile Software Development - Learn It Yourself
Agile Software Development - Learn It Yourself
 
Enabling Digital Transformation
Enabling Digital TransformationEnabling Digital Transformation
Enabling Digital Transformation
 

Semelhante a Tuenti & QA

Tuenti - tu entidad
Tuenti -  tu entidadTuenti -  tu entidad
Tuenti - tu entidadTuenti
 
Buscadores
BuscadoresBuscadores
BuscadoresTensor
 
Curso node.js
Curso node.js Curso node.js
Curso node.js Redradix
 
Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Diego Segada
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robóticaSoftware Guru
 
Lenguaje Digital UDD clase 2
Lenguaje Digital UDD clase 2Lenguaje Digital UDD clase 2
Lenguaje Digital UDD clase 2carlavalenciac
 
Plone CMS en el Proyecto CANAIMA GNU/Linux
Plone CMS en el Proyecto CANAIMA GNU/LinuxPlone CMS en el Proyecto CANAIMA GNU/Linux
Plone CMS en el Proyecto CANAIMA GNU/LinuxLeonardo J. Caballero G.
 
El futurodelos servicio sweb
El futurodelos servicio swebEl futurodelos servicio sweb
El futurodelos servicio swebQuách Tĩnh
 
An evening with... Microservices - Session 1
An evening with... Microservices - Session 1An evening with... Microservices - Session 1
An evening with... Microservices - Session 1Arkhotech
 
DIAPOSITIVAS
DIAPOSITIVASDIAPOSITIVAS
DIAPOSITIVASmirian_
 
DIAPOSITIVAS
DIAPOSITIVASDIAPOSITIVAS
DIAPOSITIVASmirian_
 
diapositivas
diapositivasdiapositivas
diapositivasmirian_
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaFrancisco Arturo Viveros
 
Taller de introducción a Fabrik
Taller de introducción a FabrikTaller de introducción a Fabrik
Taller de introducción a Fabrikjachavesnaranjo
 
Distribucion GNU/Linux Canaima
Distribucion GNU/Linux CanaimaDistribucion GNU/Linux Canaima
Distribucion GNU/Linux CanaimaStephenson Prieto
 
Bajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirBajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirPedro Colmenares
 
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...Venan Llona
 

Semelhante a Tuenti & QA (20)

Social Erlang
Social ErlangSocial Erlang
Social Erlang
 
Introducción a microservicios
Introducción a microserviciosIntroducción a microservicios
Introducción a microservicios
 
Tuenti - tu entidad
Tuenti -  tu entidadTuenti -  tu entidad
Tuenti - tu entidad
 
Buscadores
BuscadoresBuscadores
Buscadores
 
Curso node.js
Curso node.js Curso node.js
Curso node.js
 
Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069Montaje de-un-proyecto-de-software-libre-v0114069
Montaje de-un-proyecto-de-software-libre-v0114069
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Lenguaje Digital UDD clase 2
Lenguaje Digital UDD clase 2Lenguaje Digital UDD clase 2
Lenguaje Digital UDD clase 2
 
Plone CMS en el Proyecto CANAIMA GNU/Linux
Plone CMS en el Proyecto CANAIMA GNU/LinuxPlone CMS en el Proyecto CANAIMA GNU/Linux
Plone CMS en el Proyecto CANAIMA GNU/Linux
 
Elfuturodelos serviciosweb
Elfuturodelos servicioswebElfuturodelos serviciosweb
Elfuturodelos serviciosweb
 
El futurodelos servicio sweb
El futurodelos servicio swebEl futurodelos servicio sweb
El futurodelos servicio sweb
 
An evening with... Microservices - Session 1
An evening with... Microservices - Session 1An evening with... Microservices - Session 1
An evening with... Microservices - Session 1
 
DIAPOSITIVAS
DIAPOSITIVASDIAPOSITIVAS
DIAPOSITIVAS
 
DIAPOSITIVAS
DIAPOSITIVASDIAPOSITIVAS
DIAPOSITIVAS
 
diapositivas
diapositivasdiapositivas
diapositivas
 
Patrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración ModernaPatrones de Diseño en la Arquitectura de Integración Moderna
Patrones de Diseño en la Arquitectura de Integración Moderna
 
Taller de introducción a Fabrik
Taller de introducción a FabrikTaller de introducción a Fabrik
Taller de introducción a Fabrik
 
Distribucion GNU/Linux Canaima
Distribucion GNU/Linux CanaimaDistribucion GNU/Linux Canaima
Distribucion GNU/Linux Canaima
 
Bajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subirBajandose de la nube y volviendose a subir
Bajandose de la nube y volviendose a subir
 
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
Curso Especialista Marketing Digital Empresa Digitala Bizkaia - Conceptos Ini...
 

Tuenti & QA

  • 2. ¿Qué es ? •  Una plataforma social de comunicación web y móvil con más de 14 millones de usuarios registrados, alrededor de 10 millones de usuarios activos al mes (6,5 a través de apps), que comparten de forma privada contenido relevante para ellos y su círculo de amigos más cercano.
  • 3. Gente real. Información real. Relaciones reales. •  Máxima privacidad por defecto •  No indexa en buscadores •  Simple •  Messenger + Social •  Contenidos relevantes •  Alto engagement Tuenti en 2007 y nuestro primer logo"
  • 4. 6 años de " 14MM de " usuarios" Total Users (Millions)" 15 Release of" “Tuenti Places”" 11 Launched mobile" Telefónica" Investment" 8 #1 social network in Spain" by page views" Hired 100th" 4 to the team" Founded" 25k users" Sold first ad" 0 2006 2007 2008 2009 2010 2011 2012
  • 5. Tuenti hoy Tuenti hoy! •  15% del tráfico web de España pasa por Tuenti cada día •  Una de las principales compañías de internet en Europa •  3 Oficinas, 260 empleados de 22 nacioalidades •  En proceso de internacionalización "
  • 6. Principal sitio web y móvil en España 14,5MM! 40.000! Usuarios registrados" Millones de páginas 6,5MM! Usuarios de apps 400MM! Mensajes de chat/día" vistas al mes" móviles" Base de datos Tuenti"
  • 7. ¿Y en cuánto a lo techie? •  +13M usuarios (~10,4M usuarios activos 2011) •  +100 minutos/día por usuario (avg) •  +400M mensajes de chat / día •  +4M fotos subidas / día (picos) •  +41,000M páginas vistas / mes •  +35K requests / seg (picos) •  +1,3K servidores •  +250 empleados (~60% techies) •  +15K archivos en los repositorios •  +10K Tests Base de datos Tuenti"
  • 8. Release workflow Branch Code Test Integrate Release Stabilize Base de datos Tuenti"
  • 9. Release workflow Branch Code Test Integrate Release Stabilize •  15 ramas de media en cada release o  Record actual: 35 ramas •  63.000 líneas modificadas de media por release Base de datos Tuenti"
  • 10. Release workflow Branch Code Test Integrate Release Stabilize •  Scrum (o al menos alguna metodología Ágil) o  Tanto TDD como sea posible •  Labs •  A/B Testing •  Dark launch Base de datos Tuenti"
  • 11. Release workflow Branch Code Test Integrate Release Stabilize •  Repositorio único siempre disponible •  Fecha de release dada por el equipo de devops o  Pasar toda la batería de tests hasta que todos den el OK o  Mergear y esperar !!! •  Testing por parte de QA o  Cualquier problema debe ser solucionado ASAP !!! Base de datos Tuenti"
  • 12. Release workflow Branch Code Test Integrate Release Stabilize •  3 releases por semana •  DevOps goal: Todos los días de la semana •  Se toma el último changeset válido de Integración •  Staging servers para probar el código con cierto número de usuarios Base de datos Tuenti"
  • 13. Release workflow Branch Code Test Integrate Release Stabilize •  Un único push a live a las 8 am •  En caso de error o problema rápido •  Revert •  Hotfix Base de datos Tuenti"
  • 14. Muy bonito… ¡¡ Pero nosotros hemos venido a hablar de CALIDAD !!
  • 15. ¿De quién depende la calidad? ¡¡¡ De todos los departamentos !!!
  • 16. ¿De quién depende la calidad? Engineering QA Team Engineers Testers QA Analyst Test Engineer •  Unit & •  Ejecutar Tests •  Diseño y •  Integration & Integration Cases Ejecución de Browser Tests Tests Tests Cases •  Bug Reports •  Gestión de los •  Analizar •  Code coverage Issues calidad del •  Release código Process •  Soporte para Hotfixes
  • 17. ¿Ingenieros también? Por supuesto, 1.  Todo código debe de ser testeable 2.  Los tests deben de probar el código que deberías de tener no el que tienes Think à Code à Test à Refactor
  • 18. ¿Ingenieros también? Y para eso tenemos: Code reviews
  • 19. ¿Ingenieros también? Y para eso tenemos: Code Coverage Analysis
  • 20. ¿Ingenieros también? Y para eso tenemos: Y a este tipo…
  • 21. ¿Y QA dónde está? Divididos en equipos por areas funcionales de negocio Comms Sharing Identity Ads FEFW Tent Webx Social BEFW Infraestructure Revenue Platform Ops Online Cus WP Android m.tuenti MVNO iPhone Mobile BB
  • 22. ¿Por qué juntos? •  Mejor conocimiento del producto o  Plannings, Scrum diario… •  Cercanía a los developers o  Feedback rápido o  Confianza
  • 23. Resumiendo… •  La calidad NO es un impedimento para la agilidad… ¡ Es la base de la agilidad ! •  La calidad no es cosa del departamento de QA… ¡ Es parte de la cultura de la empresa !
  • 24. Resumiendo… “ The only way a team can write quality software is when the entire team is responsible for quality. ” James A. Whittaker, Jason Arbon, Jeff Carollo, How Google Tests Software