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

983 visualizações

Publicada em

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

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
983
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • 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>
  • Menos teste e mais qualidade - como equilibrar essa equação?

    1. 1. Menos Teste e Mais Qualidade:Como equilibrar essa equação?
    2. 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. 3. Menos teste, maisMenos Teste, Mais Qualidade qualidade Como equilibrar a equação?
    4. 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. 5. Por que testar software?Bugs em software custam àeconomia dos EUA um valorestimado 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 custaramUS$ 67 bilhões; atrasos em outros projetoscustaram 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. 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. 7. Controle de Qualidade de Software
    8. 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. 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. 10. Desenvolvimento Ágil: O Manifesto ÁgilIndiví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. 11. Práticas Ágeis Otimizar todo o fluxo Foco na otimização de todo o processo de negóciosLean Cultura ágil, mindset e práticas Eliminar desperdícioAgile Respeitar as pessoas, foco principalmente em P&DScrum 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. 12. Scrum• Iterativo• Comunicação• Auto- organizado• Define – Papéis – Artefatos – Eventos
    13. 13. Elementos do Scrum Scrum Master Product Owner Team
    14. 14. Planejamento Ágil no TFS “11”
    15. 15. Gestão de Requisitos: Storyboarding
    16. 16. Arquitetura: Diagrama de Camadas
    17. 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
    18. 18. XP: Extreme Programming
    19. 19. TDD: Test-driven Development
    20. 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
    21. 21. Testes de Unidade
    22. 22. Processo de TestesGeneralista EspecialistaTeste 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. 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. 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. 25. Gestão de Laboratórios• Laboratórios Virtuais• Automação de Implantação• Bibliotecas de VMs
    26. 26. Microsoft Test Manager
    27. 27. Relatório: Requisitos Implementados
    28. 28. Relatório: Evolução dos Testes
    29. 29. Controle de Qualidade: Depois• Aplicação em produção – Detecção de Erros – Captura Detalhada – Relatórios e Bugs
    30. 30. Teste de Carga• Geração de Carga• Testes / Monitoramento de Servidores (Web, SQL…)• Carga Distribuída• Usuários ilimitados
    31. 31. IntelliTrace: Depuração Histórica
    32. 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.
    33. 33. Intellitrace
    34. 34. Custo dos Bugs Implantação Custo dos bugs TestesDesenvolvimento Fase do software
    35. 35. MSDN / TechNethttp://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
    36. 36. @IgorAbadeblog.lambda3.com.br/L3/IgorAbade

    ×