Daniel Semedo
http://semedo.azurewebsites.net
V-daseme@microsoft.com
A/B Testing: Não há nada
como testar em produção!!
*GARTNER Agenda Overview for Application Development, 2014, Ian Finley, Thomas E. Murphy, Jim Duggan, Mark Driver, Gordon ...
“It has been said that the only sustainable advantage in
business is the ability for a company to learn faster and
respond...
 Apps de Negócios estão em uma cadência ágil de entrega devido a competitividade.
Impedimentos exarcebados já existentes....
Padrões de Deploy em Produção
Simple Stop and Go
Stop and Go – Multi Servers
Canary
A B
Blue-Green
Blue-Green Após Aprovação
Staging IP ganha status Prod
Em Falha:
Rollback é feito em Prod
Blue-Green
Após Successo
Rollback é reaberto como staging
Papel do QA
no time de desenvolvimento do Visual Studio
24 | Un-Managing Agile Teams
Times de 8-12
Multi-disciplinar
3 perfis distintos
Estrutura
25 | Un-Managing Agile Teams
Nossas Regras
Program Manager – Responsável por assegurar que estamos
construindo a coisa cer...
26 | Un-Managing Agile Teams
Estrutura Organizacional
Program Manager Desenvolvimento QA
27 | Un-Managing Agile Teams
Nossos Times
Program Manager Desenvolvimento QA
28 | Un-Managing Agile Teams
Nossos Times
QADev QADev QADev QADevPM PM PM PM
Collaboration Version Control Build Work Item...
-RBT – Requirements based Tests em QA para
garantia de regressão em novas features
SLA em cada teste automatizado...
Bugs
Service Availability& Operational Metrics
• TFS switched to weekday deployments S61
• Build availability impacted by exter...
-50%
0%
50%
100%
150%
% Growth in Active Accounts (by Services)
Build Active Accounts
ELS Active Accounts
AI Active Accoun...
Created an Account
Created a Project
Check-In / Push
Build
Deployed
Alimentar/medir apenas a boca do funil pode ser uma mé...
tinhamos…
… Decidimos que podiamos fazer melhor
30%Criavam novos Team Projects
no primeiro acesso
Então fizemos…
50%
+20% Aumento
Performant
Successful
AvailableAvailable
ApplicationInsights
Configure o
dashboard com
métricas que
mais lhe
interessam
Identifique issues e
comportamentos
monitorando suas
aplicações...
• Testes web são executados
com frequência (5m-10m)
para validar disponibilidade,
performance e comportamento
da aplicação...
• Identifique erros sistêmicos e
de mal comportamento da
aplicação para
priorizar/prevenir falhas
• Priorize melhorias, bu...
• Identifique erros sistêmicos e de mal
comportamento da aplicação para
priorizar/prevenir falhas
• Priorize melhorias, bu...
Resumindo Assuma o
real papel
de QA
Regra clara
entre
dev (qa) x
ops
Automação
não é nada
sem
controle
Priorize
Métricas
v...
Daniel Semedo
http://semedo.azurewebsites.net
V-daseme@microsoft.com
Linkedin.com/in/danielsemedo
www.microsoftvirtualacad...
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
ABTesting: Não há nada como testar em produção!
Próximos SlideShares
Carregando em…5
×

ABTesting: Não há nada como testar em produção!

878 visualizações

Publicada em

Apresentação realizada na trilha de testes no TDC 2014

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
878
No SlideShare
0
A partir de incorporações
0
Número de incorporações
12
Ações
Compartilhamentos
0
Downloads
21
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Today, every company is a software company, “whether you know it or not, you are almost certainly in the software business.” Software runs the critical infrastructure of nearly every modern business, and for the best companies, it provides a key competitive differentiator.

    As companies start embracing agility and taking advantage of the elasticity and economics of consuming cloud services the complexity increases, creating more points of failures and making more complicated to ensure those applications that run critical parts of your company and engage with your customer are optimally working and when they don’t you can restore a good state as soon as possible.

    So how do you increase responsiveness without creating unnecessary risk? How can you stay flexible and still keep a strategy and goals in view? How do you juggle agility with all of the other new demands on the success of your business? And ensure you continue investing in solutions that will give you a differentiator advantage?
  • Release Management Server provides valuable insights into the entire release process. Armed with relevant and timely information, managers can achieve greater efficiencies by monitoring for continuous improvement. For example, you can keep track of the trend in releases, the amount of traffic in the release pipeline, any possible bottlenecks, and even get performance insights.
  • Release Management Server provides granular control for the entire release process that includes many stakeholders, including Development, QA and Ops. You can limit which group can view, edit, or create a given release template. You can also decide who can edit approvers for each release stage. For example, the development group can modify the approvers in the Dev stage but cannot modify approvers for the Production stage. Another example is how you can limit which group can edit the configuration values for each release stage. For example, the development group can modify the values in the Dev and Integration stages but cannot modify Production. Finally, you can limit the stage types a given environment can support. For example, you can limit which production servers can be used.



  • Nov: restated # TFS tickets. Team did problem management and broke down general LSI tickets to specific events





    Availability model: Outside in views not shown due to noise in current tests.
    Outside of our control – customers network bandwidth, working towards measuring to the Time to First byte sent Vs., total time. Total time is usually bad if customer network bandwidth is poor

    AI Availability Model: Multi-step synthetic transaction test covers more surface area, includes more steps and is more sensitive to customer experience. 10 E2E scenario tests cover full surface area, new model aggregates availability across all these tests. Example sensitive measures: Single PoP node failures, data latency issues all count against availability model – these were not part of Gomez before. Availability model continues to be refined as new scenarios are uncovered.
  • ELS Active accounts based on 60 days activities are:

    Sep-13 to Jan 14: 194, 263, 343, 400, 459
  • For the success of features we’re investing in a “Build, Measure, Learn” culture.

    <talk about BML>

    Let me give you a recent example…
  • Time: 2 minutes
    Flow:
    We have had an end to end ALM solution for many years with Team Foundation Server on-premises which is built on a core set of capabilities to help development teams:
    Source control
    Agile planning tools
    Team rooms
    Test case management
    Feedback management and
    Automated builds
    Layered on top of that core ALM functionality, Team Foundation Server has the ability to
    Manage, deploy to, and test on environments with Lab Management
    Configure and manage releases with Release Manager
    Perform on premises load testing
    Integrate completely with SharePoint and customized SharePoint sites
    Integrate seamlessly with Project Server and System Center
    We are now introducing Visual Studio Online which builds on top of that core ALM functionality as well and provides additional capabilities and unique services like:
    Cloud Build Service
    Cloud Load Testing Service
    Application Insights
    Continuous deployment to Windows Azure
    Lightweight Code Editing Experience
    Microsoft’s ALM toolset is flexible and allows you to adopt a mixture of on-premises or cloud-based services. You can even use TFS on-premises and use services on Visual Studio Online that make sense to your team like the Load Testing Service and Application Insights.
    Transition to next slide:
    We’ll explore these services and more in depth throughout the rest of this presentation.

  • ABTesting: Não há nada como testar em produção!

    1. 1. Daniel Semedo http://semedo.azurewebsites.net V-daseme@microsoft.com A/B Testing: Não há nada como testar em produção!!
    2. 2. *GARTNER Agenda Overview for Application Development, 2014, Ian Finley, Thomas E. Murphy, Jim Duggan, Mark Driver, Gordon Van Huizen, Nathan Wilson, David Mitchell Smith, Matthew Hotle, Joe Bugajski, Brian Prentice, Ray Valdes, Ross Altman, Richard Marshall, Van L. Baker, David Norton, 9 January 2014
    3. 3. “It has been said that the only sustainable advantage in business is the ability for a company to learn faster and respond more effectively than its competitors (also known as business agility).” – CIO magazine, 2012
    4. 4.  Apps de Negócios estão em uma cadência ágil de entrega devido a competitividade. Impedimentos exarcebados já existentes.  Deployment complexo devido a aplicações multi-plataforma.  Complexidade em suportar diferentes dispositivos e garantir serviços always “on”. 40%Releases quadrimestrais ou menos frequentes Source: Continuous Delivery Is Reshaping The Future Of ALM, Forrester Research, Inc., July 22, 2013
    5. 5. Padrões de Deploy em Produção
    6. 6. Simple Stop and Go
    7. 7. Stop and Go – Multi Servers
    8. 8. Canary
    9. 9. A B
    10. 10. Blue-Green
    11. 11. Blue-Green Após Aprovação Staging IP ganha status Prod Em Falha: Rollback é feito em Prod
    12. 12. Blue-Green Após Successo Rollback é reaberto como staging
    13. 13. Papel do QA no time de desenvolvimento do Visual Studio
    14. 14. 24 | Un-Managing Agile Teams Times de 8-12 Multi-disciplinar 3 perfis distintos Estrutura
    15. 15. 25 | Un-Managing Agile Teams Nossas Regras Program Manager – Responsável por assegurar que estamos construindo a coisa certa. Desenvolvimento – Responsável por assegurar que estamos construindo produtos que sejam rápidos, confiáveis e bem construidos. QA – Responsável por assegurar que estamos construindo um produto de alta qualidade e que atenda as expectativas e necessidades dos usuários.
    16. 16. 26 | Un-Managing Agile Teams Estrutura Organizacional Program Manager Desenvolvimento QA
    17. 17. 27 | Un-Managing Agile Teams Nossos Times Program Manager Desenvolvimento QA
    18. 18. 28 | Un-Managing Agile Teams Nossos Times QADev QADev QADev QADevPM PM PM PM Collaboration Version Control Build Work Item Tracking
    19. 19. -RBT – Requirements based Tests em QA para garantia de regressão em novas features SLA em cada teste automatizado...
    20. 20. Bugs
    21. 21. Service Availability& Operational Metrics • TFS switched to weekday deployments S61 • Build availability impacted by external dependencies (Networking/Service Bus). • App Insights Usage feature had multiple incidents due issues IaaS VM with SQL installed. Working to migrate to more resilient and operable design. • App Insights lacks impact telemetry for customer data flows which reduces time to detect, accuracy of root cause and limits ability to asses incident severity . • App Insights Usage currently supported by Dev team & working to migrate to Service Delivery for more consistent Live Site Management 38
    22. 22. -50% 0% 50% 100% 150% % Growth in Active Accounts (by Services) Build Active Accounts ELS Active Accounts AI Active Accounts Monaco Active Websites VSO Account Growth Over Time Launch MoM Growth in [sub]Service Adoption
    23. 23. Created an Account Created a Project Check-In / Push Build Deployed Alimentar/medir apenas a boca do funil pode ser uma métrica sem valor, pense em alimentar/medir toda a experiência do serviço, garantindo o resultado de uso completo. Pense em cada progressão e planeje a expansão da eficiência do funil Experimente! August September October November December January* Accounts Created Projects Created Code Checked-In Builds Executed Deployments to Azure August September October November December January* Account -> Project Project -> Check-In Check-In -> Build Build -> Deploy E2E Conversion
    24. 24. tinhamos… … Decidimos que podiamos fazer melhor 30%Criavam novos Team Projects no primeiro acesso
    25. 25. Então fizemos… 50% +20% Aumento
    26. 26. Performant Successful AvailableAvailable ApplicationInsights
    27. 27. Configure o dashboard com métricas que mais lhe interessam Identifique issues e comportamentos monitorando suas aplicações Verifique a “pulsação de suas aplicações” • Tenha uma visão 360 para monitorar e detectar issues em produção com Application Insights.
    28. 28. • Testes web são executados com frequência (5m-10m) para validar disponibilidade, performance e comportamento da aplicação em produção Global service monitoring
    29. 29. • Identifique erros sistêmicos e de mal comportamento da aplicação para priorizar/prevenir falhas • Priorize melhorias, bugs e demais correções com métricas de uso da aplicação de forma quantitativa e qualitativa Dados valiosos para definir o futuro de suas aplicações Valide seus investimentos
    30. 30. • Identifique erros sistêmicos e de mal comportamento da aplicação para priorizar/prevenir falhas • Priorize melhorias, bugs e demais correções com métricas de uso da aplicação de forma quantitativa e qualitativa Dados valiosos para definir o futuro de suas aplicações Valide seus investimentos
    31. 31. Resumindo Assuma o real papel de QA Regra clara entre dev (qa) x ops Automação não é nada sem controle Priorize Métricas vitais para o negócio
    32. 32. Daniel Semedo http://semedo.azurewebsites.net V-daseme@microsoft.com Linkedin.com/in/danielsemedo www.microsoftvirtualacademy.com Obrigado!

    ×