Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida da aplicação
Upcoming SlideShare
Loading in...5
×
 

Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida da aplicação

on

  • 2,850 views

Empresas no mundo inteiro têm cada vez mais dificuldade para desenvolver e entregar software de qualidade. Os desafios são vários, tais como gerenciar as expectativas do usuário e as mudanças ...

Empresas no mundo inteiro têm cada vez mais dificuldade para desenvolver e entregar software de qualidade. Os desafios são vários, tais como gerenciar as expectativas do usuário e as mudanças constantes de requisitos, bem como garantir a coesão e o foco do time. Venha ver como o desenvolvimento ágil de aplicações, apoiado sobre o Scrum e o Team Foundation Server 2012, podem ajudar times de desenvolvimento a melhorar seu dia-a-dia de trabalho para entregar software de qualidade a seus clientes.

Statistics

Views

Total Views
2,850
Views on SlideShare
1,538
Embed Views
1,312

Actions

Likes
3
Downloads
28
Comments
0

10 Embeds 1,312

http://tshooter.com.br 1037
http://blog.lambda3.com.br 217
http://feed.lambda3.com.br 26
http://igoravl.wordpress.com 19
http://newsblur.com 4
http://digg.com 3
http://www.newsblur.com 3
http://translate.googleusercontent.com 1
http://reader.aol.com 1
http://smashingreader.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 APIsLooking at this spectrum, where does most testing happen today? Where do most testing tools target today?

Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida da aplicação Scrum e Team Foundation Server - Qualidade ao longo de todo o ciclo de vida da aplicação Presentation Transcript

  • Scrum e Team Foundation ServerQualidade ao longo de todo o ciclo de vida da aplicaçãoSeminário Paranaense de Qualidade de SoftwareCuritiba, 29/04/2013Igor Abade V. LeiteIgor.abade@lambda3.com.br
  • • Igor Abade (@igorabade)– Microsoft MVP, Visual Studio ALM– Referência nacional emTeam Foundation Server (TFS)• Sócio-diretor da Lambda3– ConsultoriaALM/TFS, Agilidade/Scrum, Arquitetura– Desenvolvimento de Sistemas– Treinamentos– Parceira Microsoft Gold ALMSobre o Palestrante
  • Menos Teste, Mais QualidadeMenos teste, mais qualidadeComo equilibrar a equação? View slide
  • Menos teste?!?!• Teste custa caro– Novos times– Maior tempo de projeto• Desenvolvedoressempre testaram• “Sempre entreguei meusprojetos”• Afinal, preciso mesmotestar?Não tenho orçamentopara montar um timede testesTestes de unidade? Semchance! Meu cliente nãovai pagar para meu timetrabalhar dobrado!No final meu cliente vaitestar tudo de novomesmo... View slide
  • 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 caminhodiferente 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. Computadorestravaram– Tempo bom permitiu seguir os aviões-tanque ao Havaí
  • Controle de Qualidade de Software
  • “temos um requisito quemudou, o que precisamostestar?”Já ouviu falar disso?“meus testers gastammuito tempotestando a mesmacoisa”“ferramental é caro(licenças, processos,pessoas)”“devs e testers trabalham em‘silos’ e não falam/não secomunicam na mesma língua”“quando meusistema estarápronto para liberar?”“desenvolvedores dizemque os defeitos sãoinúteis”
  • • Ping-Pong entre Devse Testers– Bug é “rebatido” de umlado para o outro– Enorme esforçodesperdiçado• Colaboração é baixaColaboração com Desenvolvedores
  • • Por que um bug não écorrigido?– Dificuldade emdocumentar passos dereprodução do erro– Falta de visibilidade dasações do tester– Diferenças de ambienteColaboração com Desenvolvedores
  • Test-Last Development
  • O mercado está cada vez mais competitivo• Nossos clientes precisamir cada vez mais rápidopara o mercado.• Usuários estãoimpacientes.• Adivinha onde vamoscortar?
  • Controle de Qualidade de Software• Teste é só um dosaspectos• Envolve processo dedesenvolvimento• É preciso garantirqualidade em trêsmomentos: AntesDuranteDepois
  • Controle de Qualidade:Antes• Tudo começa com processo dedesenvolvimento• “Fazer o certo, do jeito certo, na horacerta”– Desenvolvimento Ágil– Gestão de Requisitos– Arquitetura / Design
  • ALM: Application LifecycleManagement• Gestão doCiclo de Vida daAplicação• Coordenação– Requisitos– Modelagem– Desenvolvimento– Construção– Testes– Manutenção eoperações• Integração doTime
  • Desenvolvimento Ágil:O Manifesto ÁgilIndivíduos e interação entre elesmais que processos e ferramentasSoftware em funcionamentomais que documentação abrangenteColaboração com o clientemais que negociação de contratosResponder a mudançasmais que seguir um planoOu seja, mesmo havendo valor nositens à direita, valorizamos mais ositens à esquerda.www.manifestoagil.com.br
  • LeanAgileScrumXPFramework de gestão ágil de projetosPapéis e cerimônias, melhoria contínuados times, entrega rápida, limitartrabalho à capacidadeCultura ágil, mindset e práticasEliminar desperdícioRespeitar as pessoas, focoprincipalmente em P&DOtimizar todo o fluxoFoco na otimização de todo o processode negóciosPráticas de engenhariaTrazer qualidade para dentro do desenvolvimento– Automação, integração contínua, revisão porpares etc.Práticas Ágeis
  • Scrum• Iterativo• Comunicação• Auto-organizado• Define– Papéis– Artefatos– Eventos
  • Elementos do ScrumScrum MasterProduct OwnerTeam
  • Planejamento Ágil no TFS 2012
  • 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 ecom frequência, paraevitar “Integration Hell"• Objetivo final é “parar econsertar” o mais cedopossível
  • Testes de Unidade
  • Generalista EspecialistaTeste Manual Poucos scriptsCria scriptspara configurarambiente, criardadosMuitos scriptsAlgumconhecimentodeprogramaçãoProgramaçãoDesenvolverotinas deautomação detestesConhecimentoavançado deprogramaçãoTestes de “Caixa Preta”Testes de “Caixa Branca”Testes API70% dos testesacontecem aquiMaioria das ferramentasmira aquiProcesso de Testes
  • Execução e Automação de Testes• Microsoft Test Manager– Planejamento, gestão eexecução de casos deteste– Coleta dados de sistemae logs de eventos– Captura imagens de tela evídeos– Fast-forward paraaplicativos WindowsForms, WPF e Web
  • Automação de Testes de UI• CodedUI Tests– Gravador de Ações– Geração a partir de casosde teste manuais– Scripts resilientes– .NET (C#, VB)– WindowsForms, WPF, Web (IE &Firefox), outrasplataformas
  • Gestão de Laboratórios• LaboratóriosVirtuais• Automação deImplantação• Bibliotecas deVMs
  • 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 deServidores(Web, SQL…)• Carga Distribuída• Usuários ilimitados
  • IntelliTrace:Depuração Histórica
  • System Center 2012Operations Manager• Monitoramento em tempo real deaplicações– Solução de problemas na sessão dousuário– Coleta de dados de exceções Javascript• Monitoração de desempenho a partirda perspectiva do browser– HTTP, AJAX, JavaScript• Degradação de Desempenho– Tamanho de HTML, imagens, scripts, CSS– Latência de rede, desempenho doservidor• Informações Estatísticas– Contadores por aplicação, página, IP– Tempo médio de execução nocliente, falhas/seg, etc.
  • Intellitrace
  • DesenvolvimentoTestesImplantaçãoFase do softwareCustodosbugsCusto dos Bugs
  • @IgorAbadeblog.lambda3.com.br/L3/IgorAbade
  • www.lambda3.com.br