SlideShare uma empresa Scribd logo
1 de 37
Menos Teste e Mais Qualidade:
Como equilibrar essa equação?
Sobre o Palestrante

• Igor Abade (@igorabade)
  – Microsoft MVP, Visual Studio ALM
  – Referência nacional em
    Team Foundation Server (TFS)
• Sócio-diretor da Lambda3
  – Consultoria ALM/TFS,
    Agilidade/Scrum, Arquitetura
  – Desenvolvimento de Sistemas
  – Treinamentos
  – Parceira Microsoft Gold ALM
Menos teste, maisMenos Teste, Mais Qualidade
                  qualidade




             Como equilibrar a equação?
Menos teste?!?!

• Teste custa caro                    Não tenho orçamento
                                      para montar um time
  – Novos times                             de testes
  – Maior tempo de
    projeto
• Desenvolvedores     Testes de unidade? Sem
                      chance! Meu cliente não
  sempre testaram     vai pagar para meu time
                        trabalhar dobrado!
• “Sempre entreguei
  meus projetos”                        No final meu cliente vai
• Afinal, preciso                        testar tudo de novo
                                               mesmo...
  mesmo testar?
Por que testar software?

Bugs em software custam à
economia dos EUA um valor
estimado de US$ 59,5 bilhões [1]

                                         Na média, desenvolvedores profissionais
                                         cometem de 15 a 50 erros a cada mil linhas
                                         de código que eles escrevem [2]



Em 2009, projetos cancelados custaram
US$ 67 bilhões; atrasos em outros projetos
custaram mais US$ 21 bilhões [3]


                                   [1] http://web.archive.org/web/20090610052743/http://www.nist.gov/public_affairs/releases/n02-10.htm
                                   [2] Code Complete, 2nd Edition - http://cc2e.com/
                                   [3] Standish Group, “The Chaos Report”- http://www.standishgroup.com/newsroom/chaos_2009.php
Por que testar? Exemplos práticos
• USS Yorktown, SmartShip
    – Tripulante digitou 0 num campo de um
      formulário
    – “Divide By Zero” desligou a propulsão
    – Parado na água por 2h45min
• Ariane 5, vôo 501
    – Reaproveitou código do Ariane 4, mas seguiu
      caminho diferente devido a mudanças
    – Conversão de 64bit para 16bit causou overflow
    – Sem tratamento de exceções (melhor
      desempenho)
• F-22 Raptor
    – Em operação no Japão pela primeira vez
    – Cruzou Linha Internacional de Data.
      Computadores travaram
    – Tempo bom permitiu seguir os petroleiros ao
      Havaí
Controle de Qualidade de Software
Controle de Qualidade de Software

• Teste é só um dos
  aspectos
• Envolve processo de
  desenvolvimento                          Depois
• É preciso garantir             Durante

  qualidade em três      Antes
  momentos:
Controle de Qualidade: Antes

• Tudo começa com processo
  de desenvolvimento
• “Fazer o certo, do jeito certo,
  na hora certa”
  – Desenvolvimento Ágil
  – Gestão de Requisitos
  – Arquitetura / Design
Desenvolvimento Ágil: O Manifesto Ágil


Indivíduos e interação entre eles mais que processos e ferramentas
 Software em funcionamento mais que documentação abrangente
   Colaboração com o cliente mais que negociação de contratos
       Responder a mudanças mais que seguir um plano


               Ou seja, mesmo havendo valor nos
             itens à direita, valorizamos mais os
                        itens à esquerda.

                       www.manifestoagil.com.br
Práticas Ágeis
           Otimizar todo o fluxo
           Foco na otimização de todo o processo
           de negócios
Lean

                     Cultura ágil, mindset e práticas
                     Eliminar desperdício
Agile                Respeitar as pessoas, foco
                     principalmente em P&D


Scrum               Framework de gestão ágil de projetos
                    Papéis e cerimônias, melhoria contínua
                    dos times, entrega rápida, limitar
                    trabalho à capacidade


 XP     Práticas de engenharia
        Trazer qualidade para dentro do desenvolvimento
        – Automação, integração contínua, revisão por
        pares etc.
Scrum

• Iterativo
• Comunicação
• Auto-
  organizado

• Define
  – Papéis
  – Artefatos
  – Eventos
Elementos do Scrum

          Scrum Master

          Product Owner

          Team
Planejamento Ágil no TFS “11”
Gestão de Requisitos: Storyboarding
Arquitetura: Diagrama de Camadas
Controle de Qualidade: Durante

• Qualidade durante
  construção do código
  –   Testes de Unidade
  –   Análise de Código
  –   Automação de Testes
  –   Integração Contínua
• Processo de Testes
  – Testes Manuais
  – Gestão de Laboratório
XP: Extreme Programming
TDD: Test-driven Development
CI: Continuous Integration

• Integração Contínua é
  uma prática
• Integrar código cedo
  e com frequência,
  para evitar
  “Integration Hell"
• Objetivo final é
  “parar e consertar” o
  mais cedo possível
Testes de Unidade
Processo de Testes

Generalista                                                     Especialista
Teste Manual   Poucos scripts   Muitos scripts   Programação    Conhecimento
                                                                avançado de
             Cria scripts       Algum          Desenvolve       programação
     70% dospara configurar
              testes            conhecimento ferramentas
                                 Maioria das rotinas de
     acontecem aqui
             ambiente, criar    de
                                         mira aqui
                                               automação de
             dados              programação    testes


                         Testes de “Caixa Preta”

                                             Testes de “Caixa Branca”

                                                               Testes API
Execução e Automação de Testes

• Microsoft Test Manager
   – Planejamento, gestão e
     execução de casos de
     teste
   – Coleta dados de sistema
     e logs de eventos
   – Captura imagens de tela e
     vídeos
   – Fast-forward para
     aplicativos Windows
     Forms, WPF e Web
Automação de Testes de UI

• CodedUI Tests
  – Gravador de Ações
  – Geração a partir de
    casos de teste
    manuais
  – Scripts resilientes
  – .NET (C#, VB)
  – Windows Forms, WPF,
    Web (IE & Firefox),
    outras plataformas
Gestão de Laboratórios

• Laboratórios
  Virtuais
• Automação de
  Implantação
• Bibliotecas de
  VMs
Microsoft Test Manager
Relatório: Requisitos Implementados
Relatório: Evolução dos Testes
Controle de Qualidade: Depois

• Aplicação em
  produção
  – Detecção de Erros
  – Captura Detalhada
  – Relatórios e Bugs
Teste de Carga

• Geração de Carga
• Testes /
  Monitoramento
  de Servidores
  (Web, SQL…)
• Carga Distribuída
• Usuários
  ilimitados
IntelliTrace: Depuração Histórica
System Center 2012 Operations Manager
• Monitoramento em tempo real de
  aplicações
   – Solução de problemas na sessão do
     usuário
   – Coleta de dados de exceções Javascript
• Monitoração de desempenho a partir da
  perspectiva do browser
   – HTTP, AJAX, JavaScript
• Degradação de Desempenho
   – Tamanho de HTML, imagens, scripts, CSS
   – Latência de rede, desempenho do
     servidor
• Informações Estatísticas
   – Contadores por aplicação, página, IP
   – Tempo médio de execução no cliente,
     falhas/seg, etc.
Intellitrace
Custo dos Bugs


                                Implantação




                                              Custo dos bugs
                  Testes




Desenvolvimento



             Fase do software
MSDN / TechNet
http://msdn.microsoft.com/pt-br/
http://technet.microsoft.com/pt-br/




•   Biblioteca & Artigos Técnicos (do Brasil)
•   Downloads/Galeria (SDKs, Code samples, documentação)
•   Social Network – pergunta um IT Pro
•   Como trabalhar com Microsoft Products
•   TechNet Wiki – voz da experiência e como fazer
•   Learn, learn, learn
@IgorAbade
blog.lambda3.com.br/L3/IgorAbade

Mais conteúdo relacionado

Mais procurados

Scrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento ÁgilScrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento Ágil
abacrazy
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
Wildtech
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Rodrigo Branas
 

Mais procurados (20)

Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
SAPO Session: Continuous Integration
SAPO Session: Continuous IntegrationSAPO Session: Continuous Integration
SAPO Session: Continuous Integration
 
Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010Automação de Teste - BRATESTE 2010
Automação de Teste - BRATESTE 2010
 
Scrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento ÁgilScrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento Ágil
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
Desenvolvimento ágil com Scrum e TFS 11 - Microsoft TechDay Sorocaba 2012
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Desenvolvimento ágil
Desenvolvimento ágilDesenvolvimento ágil
Desenvolvimento ágil
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
 
Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software development
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Scrum
ScrumScrum
Scrum
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
QArentena - QA do Futuro
QArentena - QA do FuturoQArentena - QA do Futuro
QArentena - QA do Futuro
 
Palestra scrum
Palestra scrumPalestra scrum
Palestra scrum
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 

Destaque

Destaque (9)

Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
[GUTS-RS] GUTS Talks - Ferramentas de Automação de Testes
 
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
Smoke tests, deployment e rollback automatizados (Mobile & Cloud Hack Days 2016)
 
[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX[GUTS-RS] Testar Interfaces com UX
[GUTS-RS] Testar Interfaces com UX
 
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 

Semelhante a Menos teste e mais qualidade - como equilibrar essa equação?

BaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de SoftwareBaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de Software
Adriano Bertucci
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
Alini Rebonatto
 

Semelhante a Menos teste e mais qualidade - como equilibrar essa equação? (20)

Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida d...
 
Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012
 
BaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de SoftwareBaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de Software
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Gerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2aGerenciando Testes Com Qualidade V2a
Gerenciando Testes Com Qualidade V2a
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
Engenharia de Software - Unimep/Pronatec - Aula 4
Engenharia de Software - Unimep/Pronatec - Aula 4Engenharia de Software - Unimep/Pronatec - Aula 4
Engenharia de Software - Unimep/Pronatec - Aula 4
 
SonarQube
SonarQubeSonarQube
SonarQube
 
Teste de software
Teste de software Teste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Webcast WebSphere Portal Performance
Webcast WebSphere Portal PerformanceWebcast WebSphere Portal Performance
Webcast WebSphere Portal Performance
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1Estratégias e Técnicas de Testes - Parte1
Estratégias e Técnicas de Testes - Parte1
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes[GUTS-RS] GUTS Talks - Automação de Testes
[GUTS-RS] GUTS Talks - Automação de Testes
 

Mais de Igor Abade

Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Igor Abade
 

Mais de Igor Abade (20)

Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
Introdução à SRE (.Net Vale Tech Saturday - DevSecOps)
 
DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?DevOps em grandes empresas - Mito ou Realidade?
DevOps em grandes empresas - Mito ou Realidade?
 
Serverless Computing no Microsoft Azure
Serverless Computing no Microsoft AzureServerless Computing no Microsoft Azure
Serverless Computing no Microsoft Azure
 
Chega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como códigoChega de receita de bolo: gerenciando infraestrutura como código
Chega de receita de bolo: gerenciando infraestrutura como código
 
Microsserviços .NET no Azure
Microsserviços .NET no AzureMicrosserviços .NET no Azure
Microsserviços .NET no Azure
 
Introdução ao Habitat
Introdução ao HabitatIntrodução ao Habitat
Introdução ao Habitat
 
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abadeAcelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
Acelere - e melhore! - o feedback com testes automatizados rápidos - igor abade
 
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTSProvisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
Provisionando ambientes de Dev e Teste com Azure DevTest Labs e VSTS
 
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
Smoke tests, deployment e rollback automatizados (DevOps Summit Brasil 2016)
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...Além do pen-drive: empacotando seu software para distribuição e implantação (...
Além do pen-drive: empacotando seu software para distribuição e implantação (...
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
 
Muito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativosMuito além das startups: Build-Measure-Learn em sistemas corporativos
Muito além das startups: Build-Measure-Learn em sistemas corporativos
 
Dilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShellDilemas de um Desenvolvedor .NET na Terra do PowerShell
Dilemas de um Desenvolvedor .NET na Terra do PowerShell
 
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
Quebrando preconceitos: Continuous Delivery na Plataforma MicrosoftQuebrando preconceitos: Continuous Delivery na Plataforma Microsoft
Quebrando preconceitos: Continuous Delivery na Plataforma Microsoft
 
Monitorando aplicações usando Application Insights
Monitorando aplicações usando Application InsightsMonitorando aplicações usando Application Insights
Monitorando aplicações usando Application Insights
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
 
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
Aferindo a qualidade do serviço com testes de desempenho - MVP Virtual Confer...
 
Desenvolvendo apps para o Office 2013
Desenvolvendo apps para o Office 2013Desenvolvendo apps para o Office 2013
Desenvolvendo apps para o Office 2013
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 

Menos teste e mais qualidade - como equilibrar essa equação?

  • 1. Menos Teste e Mais Qualidade: Como equilibrar essa equação?
  • 2. Sobre o Palestrante • Igor Abade (@igorabade) – Microsoft MVP, Visual Studio ALM – Referência nacional em Team Foundation Server (TFS) • Sócio-diretor da Lambda3 – Consultoria ALM/TFS, Agilidade/Scrum, Arquitetura – Desenvolvimento de Sistemas – Treinamentos – Parceira Microsoft Gold ALM
  • 3. Menos teste, maisMenos Teste, Mais Qualidade qualidade Como equilibrar a equação?
  • 4. Menos teste?!?! • Teste custa caro Não tenho orçamento para montar um time – Novos times de testes – Maior tempo de projeto • Desenvolvedores Testes de unidade? Sem chance! Meu cliente não sempre testaram vai pagar para meu time trabalhar dobrado! • “Sempre entreguei meus projetos” No final meu cliente vai • Afinal, preciso testar tudo de novo mesmo... mesmo testar?
  • 5. Por que testar software? Bugs em software custam à economia dos EUA um valor estimado de US$ 59,5 bilhões [1] Na média, desenvolvedores profissionais cometem de 15 a 50 erros a cada mil linhas de código que eles escrevem [2] Em 2009, projetos cancelados custaram US$ 67 bilhões; atrasos em outros projetos custaram mais US$ 21 bilhões [3] [1] http://web.archive.org/web/20090610052743/http://www.nist.gov/public_affairs/releases/n02-10.htm [2] Code Complete, 2nd Edition - http://cc2e.com/ [3] Standish Group, “The Chaos Report”- http://www.standishgroup.com/newsroom/chaos_2009.php
  • 6. Por que testar? Exemplos práticos • USS Yorktown, SmartShip – Tripulante digitou 0 num campo de um formulário – “Divide By Zero” desligou a propulsão – Parado na água por 2h45min • Ariane 5, vôo 501 – Reaproveitou código do Ariane 4, mas seguiu caminho diferente devido a mudanças – Conversão de 64bit para 16bit causou overflow – Sem tratamento de exceções (melhor desempenho) • F-22 Raptor – Em operação no Japão pela primeira vez – Cruzou Linha Internacional de Data. Computadores travaram – Tempo bom permitiu seguir os petroleiros ao Havaí
  • 7. Controle de Qualidade de Software
  • 8. Controle de Qualidade de Software • Teste é só um dos aspectos • Envolve processo de desenvolvimento Depois • É preciso garantir Durante qualidade em três Antes momentos:
  • 9. Controle de Qualidade: Antes • Tudo começa com processo de desenvolvimento • “Fazer o certo, do jeito certo, na hora certa” – Desenvolvimento Ágil – Gestão de Requisitos – Arquitetura / Design
  • 10. Desenvolvimento Ágil: O Manifesto Ágil Indivíduos e interação entre eles mais que processos e ferramentas Software em funcionamento mais que documentação abrangente Colaboração com o cliente mais que negociação de contratos Responder a mudanças mais que seguir um plano Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda. www.manifestoagil.com.br
  • 11. Práticas Ágeis Otimizar todo o fluxo Foco na otimização de todo o processo de negócios Lean Cultura ágil, mindset e práticas Eliminar desperdício Agile Respeitar as pessoas, foco principalmente em P&D Scrum Framework de gestão ágil de projetos Papéis e cerimônias, melhoria contínua dos times, entrega rápida, limitar trabalho à capacidade XP Práticas de engenharia Trazer qualidade para dentro do desenvolvimento – Automação, integração contínua, revisão por pares etc.
  • 12. Scrum • Iterativo • Comunicação • Auto- organizado • Define – Papéis – Artefatos – Eventos
  • 13. Elementos do Scrum Scrum Master Product Owner Team
  • 14. Planejamento Ágil no TFS “11”
  • 15. Gestão de Requisitos: Storyboarding
  • 17. Controle de Qualidade: Durante • Qualidade durante construção do código – Testes de Unidade – Análise de Código – Automação de Testes – Integração Contínua • Processo de Testes – Testes Manuais – Gestão de Laboratório
  • 20. CI: Continuous Integration • Integração Contínua é uma prática • Integrar código cedo e com frequência, para evitar “Integration Hell" • Objetivo final é “parar e consertar” o mais cedo possível
  • 22. Processo de Testes Generalista Especialista Teste Manual Poucos scripts Muitos scripts Programação Conhecimento avançado de Cria scripts Algum Desenvolve programação 70% dospara configurar testes conhecimento ferramentas Maioria das rotinas de acontecem aqui ambiente, criar de mira aqui automação de dados programação testes Testes de “Caixa Preta” Testes de “Caixa Branca” Testes API
  • 23. Execução e Automação de Testes • Microsoft Test Manager – Planejamento, gestão e execução de casos de teste – Coleta dados de sistema e logs de eventos – Captura imagens de tela e vídeos – Fast-forward para aplicativos Windows Forms, WPF e Web
  • 24. Automação de Testes de UI • CodedUI Tests – Gravador de Ações – Geração a partir de casos de teste manuais – Scripts resilientes – .NET (C#, VB) – Windows Forms, WPF, Web (IE & Firefox), outras plataformas
  • 25. Gestão de Laboratórios • Laboratórios Virtuais • Automação de Implantação • Bibliotecas de VMs
  • 29. Controle de Qualidade: Depois • Aplicação em produção – Detecção de Erros – Captura Detalhada – Relatórios e Bugs
  • 30. Teste de Carga • Geração de Carga • Testes / Monitoramento de Servidores (Web, SQL…) • Carga Distribuída • Usuários ilimitados
  • 32. System Center 2012 Operations Manager • Monitoramento em tempo real de aplicações – Solução de problemas na sessão do usuário – Coleta de dados de exceções Javascript • Monitoração de desempenho a partir da perspectiva do browser – HTTP, AJAX, JavaScript • Degradação de Desempenho – Tamanho de HTML, imagens, scripts, CSS – Latência de rede, desempenho do servidor • Informações Estatísticas – Contadores por aplicação, página, IP – Tempo médio de execução no cliente, falhas/seg, etc.
  • 34. Custo dos Bugs Implantação Custo dos bugs Testes Desenvolvimento Fase do software
  • 35.
  • 36. MSDN / TechNet http://msdn.microsoft.com/pt-br/ http://technet.microsoft.com/pt-br/ • Biblioteca & Artigos Técnicos (do Brasil) • Downloads/Galeria (SDKs, Code samples, documentação) • Social Network – pergunta um IT Pro • Como trabalhar com Microsoft Products • TechNet Wiki – voz da experiência e como fazer • Learn, learn, learn

Notas do Editor

  1. It is also important to understand where most testing happens in the spectrum of general testing to the more technical specialist testing.The Generalist Testers are usually professional testers with no coding background. Often these testers are experts in the business process or tool that is being developed. On the opposite side of the spectrum is the Specialist. This is a tester with strong coding skills.A fun side note: Microsoft’s testers are usually converted developers and tend to be on the specialist side of the graph.Black-box testing is a method of testing software that tests the functionality of an application as opposed to its internal structures or workings (see white-box testing). Specific knowledge of the application's code/internal structure and programming knowledge in general is not required. Test cases are built around specifications and requirements, i.e., what the application is supposed to do. It uses external descriptions of the software, including specifications, requirements, and design to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid inputs and determines the correct output. There is no knowledge of the test object's internal structure.White-box testing (a.k.a. clear box testing, glass box testing, transparent box testing, or structural testing) is a method of testing software that tests internal structures or workings of an application as opposed to its functionality (black-box testing). An internal perspective of the system, as well as programming skills, are required and used to design test cases. The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. It is analogous to testing nodes in a circuit, e.g. in-circuit testing (ICT). While white-box testing can be applied at the unit, integration and system levels of the software testing process, it is usually done at the unit level. It can test paths within a unit, paths between units during integration, and between subsystems during a system level test. Though this method of test design can uncover many errors or problems, it might not detect unimplemented parts of the specification or missing requirements. White-box test design techniques include: Control flow testing Data flow testing Branch testing Path testingAPI testing (application programming interface) – is a specific type of White Box testing of the application focusing on public and private APIs<Question to Audience>Looking at this spectrum, where does most testing happen today? <collect answers and click>Where do most testing tools target today? <collect answers and click>