sustentando o alm no team foundation server · uma configuração não pode ser excluída se: - for...
TRANSCRIPT
Sustentando o ALM no Team Foundation ServerCiclo de vida de Software
Ferramentas de ALM da Microsoft Especificaes, Construo e Documentao Planejamento, acompanhamento e medio de resultados Testes com TFS e Visual Studio Para Profissionais que trabalham com Desenvolvimento
Sobre o curso
IntroduoTFS e Visual Studio
Team Foundation Server Gerenciamento de Desenvolvimento Microsoft Source Safe v6 Primeira verso em 2005 Forte dependncia no SharePoint Complexo, difcil de instalar e difcil de manter
TFS
Team Foundation Server 2005 & 2008; Team Foundation Server 2010; Team Foundation Server 2012; Team Foundation Server 2013; Team Foundation Server 2015 (Visual Studio Online).
Evoluo do TFS
Implementao mais recente do TFS https://www.visualstudio.com/
Visual Studio Online
Agile Scrum CMMI Kanban Git e Team Foundation Version Control Customizaes Integraes contnuas
Funcionalidades mais recentes
Fcil integrao com apps de terceiros
Nuvem ou local (on-premises) TFS Express ou Visual Studio Online Grtis para at 5 Desenvolvedores Integrao com Visual Studio Feedback Client, Test Management Studio, Release Management
Gerenciamento de Defeitos (Bugs)
Vantagens
Com verses pagas do TFS
https://www.visualstudio.com/
Visual Studio Online
Otimizando com TFS e Visual Studio
Soluo Microsoft para ALM
Ferramentas Paralelas
PowerPoint Storyboards
Feedback Client
Microsoft Test Manager (MTM)
Microsoft Release Management
Planejamento e Produtividade
Planejamento de capacidades de Sprint
Previso de entrega
Determinar esforo e plano de release
Design Arquitetnico
Design arquitetnico - Diagramas de camadas
Design arquitetnico DGML
Design arquitetnico Diagramas UML
Bom para compartilhar o conhecimento do projeto Bom para colaboraoDiagramas de camadas podem impor padres arquitetnicos, limitando
o que ou no permitido dentro de uma camada (feito principalmentepor namespace) Requisitos de arquitetura em um diagrama de camada podem ser
validados durante um buildDiagramas DGML podem ser estendidos para incluir mais do que apenas
elementos arquitetnicos
Design arquitetnico
Reviso de Cdigo
Completa o fluxo de trabalho de reviso de cdigo Envio de solicitaes a um ou mais membros da equipeGrande experincia com New Diff
- Modo Inline- Modo Side-by-Side- Linha destacada inclusive destacando sub-linhas- Intellisense completo dentro da Ferramenta Diff
Aceitar ou recusar os pedidos de reviso de cdigo de outras pessoas
Code review (Reviso de cdigo)
Requisitando code review (reviso de cdigo)
Aceitando e respondendo
Testando com TFS e Visual Studio
Testes unitrios, manuais e automatizados
Arquitetura do teste unitrio
Teste de software com Visual Studio
Veremos os seguintes tipos de teste- Testes unitrios- Testes manuais- Testes codificados de UI (interface do usurio)- Testes ordenados- Testes genricos- Testes de performance Web- Testes de carga
Entendendo os tipos de testes no Visual Studio
Escritos por programadores para serem usados por programadores Podem ser executados manualmente ou automaticamente, geralmente
como parte de um processo de build (Integrao Contnua Ex.) Tornam-se uma forma de documentao de cdigo, detalhando o
comportamento da lgica da aplicao
Testes Unitrios
So listas de passos a serem executadas manualmente por um testador So criados como Test Case (Work Items) no Team Foundation ServerContem resultados esperados que o tester deve selecionar o status de
falha ou sucesso So principalmente realizados usando Microsoft Test Manager (MTM)
Testes Manuais
Testes automatizados de interface do usurio (UI) so conhecidos comotestes codificados de UI Fornecem testes funcionais e validao dos controles de UI Podem ser escritos para verificar se a interface est funcionando
corretamente depois de alteraes no cdigo Podem ser criados atravs da gravao de suas aes (simulao de uso)
ou de uma gravao das aes em um teste manual
Testes codificados de UI
Um teste ordenado contm outros testes que so criados para seremexecutados em uma ordem especficaCada teste deve ser autnomo e independenteO estado do ambiente no mantido entre cada teste
Testes ordenados
Testes genricos executam outros testes e programas externosUsados para incorporar um teste j existente, um programa ou uma
ferramenta que se comporte da seguinte forma:- Possa ser executado a partir de uma linha de comando- Retorne um valor indicando se o teste passou ou falhou
Testes genricos
Usado para aferir se uma aplicao web suporta determinadasquantidades de carga de trabalho Pode ser usado para smoke test, teste de carga e teste de stress.O Visual Studio monitora o sistema que est sendo testado e fornece
muitas informaes sobre o teste Para entender os resultados do teste necessrio saber interpretar os
indicadores do performance monitor (monitor de performance)
Testes de Carga
Testes repetitivos em aplicaes web via HTTPGravado usando o browser mas executado usando classes de redesAs repostas HTTP podem ser analisadas Principalmente usados como trechos para construo de testes de cargaNo devem ser confundidos com testes codificados de UI
Testes de Performance Web
Testes Unitrios no Visual Studio
Estrutura Triplo A (AAA)
O Microsoft Test Manager (MTM) compreende dois ambientes (activecenters)
- Testing Center- Trabalha com casos de teste manuais
- Lab Center- Permite trabalhar em laboratrio fsicos ou virtuais
possvel alternar entre os dois ambientes atravs do menu Activitycenter.
Microsoft Test Manager
Microsoft Test Manager (MTM)
Permitem agrupar sutes de teste, casos de teste e configuraes em umgrupo
Planos de Testes (Test Plans)
Configuraes de Testes
Test Suites
TESTCASES
TESTCASES
TESTCASES
TEST SUITE A TEST SUITE B TEST SUITE C
Test Plan
So grupos de casos de teste relacionados Existem trs tipos de sutes de teste
- Testes baseados em requisitos- Testes estticos- Testes Query-based
Sutes de Teste
Porque existem diferentes configuraes- SOE/MOE- Usurios utilizam diferentes verses de:
- Navegadores- Sistemas operacionais- Arquitetura de processador (x86, x64)
- No server side podemos ter diferentes:- Verses de bancos de dados (2005, 2008, etc)- Verses de IIS (6.0, 7.0, 7.5)
Por que diferentes configuraes?
Soluo tradicional- Uma sala com muitos PCs identificados por placas:
- Ex: Esse PC roda Windows XP Pro/IE7/x86/2 GB RAM
Uma soluo melhor- Mltiplas mquinas virtuais permitem ao testador alternar facilmente entre
diferentes configuraes de ambiente
Uma soluo melhor ainda- Microsoft Lab Management rodando em redes separadas, testando ambientes
com auto-refresh e auto-deploy de novos releases
Lidando com diferentes configuraes
Monitorando diferentes configuraes
Abordagem tradicional Uma matriz cruzando casos de teste e diferentes configuraes
Configuraes Para gerenciar as configuraes, clique no menu Organize (organizar) e
selecione a opo Test Configuration Manager (gerncia de configuraesde teste)
Uma configurao no pode ser excluda se:- For referenciada no resultado de um ou mais testes- For a configurao default de um plano ou de uma sute de testes
Alternativamente, uma configurao pode ser inativada e, no poderser selecionada como configurao default de um plano ou de uma sutede testes
Excluindo configuraes
Requirement-based- Grupos de casos de teste relacionados um requisito especfico
Static- Grupos de casos de teste adicionados por um testador
Query-based- Grupos de casos de teste que se enquadram em um filtro definido pelo testador
Tipos de sutes de teste
O estado de uma sute pode ser:- Em planejamento- Em andamento- Completa
Alterando o estado de umasute (menu Plan, aba Contents)
Informaes sobre o estado de umasute de teste
Test Plan
Test Suites
TEST CASES TEST CASES
7: As a customer End-to-end tests
Test Configurations
Windows 7 and IE8 Windows 8 and IE10
Assigned Build Date range
Manual test settings Automated test settings
Pode ser necessrio criar uma sute igual ou similar a alguma j existente.O MTM permite copiarmos uma sute de um plano de testes para outro.Uma vez copiada, possvel adicionar ou remover casos de teste, e estes
no tero efeito sobre a sute original.Copiar uma sute no duplica os casos de teste do projeto, eles so
apenas adicionados ao plano de testes.No Duplica Testes, duplica sutes de testes
Copiando sutes de teste
Clonar uma sute de testes utilizando o tcm.exe cria novos casos de testeno plano de testes de destino. Esses casos de teste so cpias dos casos de teste de origem e,
alteraes neles efetuadas no incidiro nos originais.Clonar sutes de teste til quando h necessidade de trabalhar em
diferentes releases simultaneamente.A sute original e a de destino precisam estar na mesma Team Project
Collection. (MTM RTM)Duplica os testes (com novos Ids) e duplica suites
Clonando uma sute de teste
Copiando uma sute
Clonando uma sute
Sumrio cpia x clonagem
O campo Assigned to (atribudo a) de um teste de caso diferente docampo Assigned to de outros Work ItensA pessoa que escreve um caso de teste pode no ser a mesma que o ir
executar
Atribudo a
possvel listar e executar casos de teste em uma ordem especfica Testes mais simples por exemplo, podem ser executados primeiro,
porque se um deles falhar os testes posteriores podem ser bloqueados
Ordenar casos de teste dentro de uma sute
Testadores frequentemente rodaro testes mltiplas vezes usandodiferentes dados em cada execuo
A necessidade de data driven tests
Criando testes manuais, basta colocar um @ onde o parmetro deveaparecer Por exemplo:
- Informe o @username na caixa de texto- O exemplo acima cria um parmetro chamado username que ser exibido em
uma tabela na parte inferior do MTM como um cabealho de coluna dessa tabela- Adicione valores abaixo do cabealho para cada iterao
Parametrizando testes
Quando o Microsoft Test Runner executa um caso de teste que contmparmetros, esses parmetros so mostrados nas etapas do teste ondeforam criados Para reduzir erros de digitao e ganhar velocidade selecione o controle
onde deseja colocar o parmetro e faa CTRL + V Esse processo tambm mapeia o parmetro para o controle em iteraes
subsequentes
Reproduo de testes parametrizados
Um testador que j foi desenvolvedor sabe que muitas vezes necessrio refatorar um cdigo para eliminar trechos duplicados e criarcdigos reutilizveis, evitando assim cdigos duplicadosDa mesma forma, se um testador identificar etepas que so necessrias
em mltiplos casos de teste, pode refator-las para etapascompartilhadas
A necessidade de etapas compartilhadas
Caractersticas de etapas compartilhadas- So como mini casos de teste- Podem ser importadas para qualquer parte de um caso de teste, no somente
para o comeo ou o fim- Podem ser criadas aps a seleo das etapas, atravs da opo Convert into
Shared Steps no menu de contexto- Podem ser facilmente alteradas e, as alteraes so automaticamente aplicadas
onde houver referncias a essas etapas
Etapas compartilhadas
A idia do Fast Forward:- Quanto um testador roda um teste manual, suas aes de UI so gravadas em
background- Quando o testador quer rodar novamente o teste para verificar um bug, ele pode
escolher que suas aes que foram gravadas sejam reproduzidasautomaticamente at chegar ao ponto necessrio
- As aes gravadas so anexadas ao caso de teste e podem ser utilizadasnovamente se necessrio
Caso de teste Fast Forward (avano rpido)
No incio de um teste exploratrio possvel relacionar ou no quaisquerresultados a um requisito em particular
Teste exploratrio no MTM
Teste exploratrio com link para um requisito
Teste exploratrio semlink para um requisito
DemonstraoMicrosoft Teste Manager
Automao e MtricasCom TFS e Visual Studio
Automao Contnua
Automao de Lab Center
Build-Deploy-Teste contnuoAplicaes modernas precisam de deploy e teste em mltiplos ambientes.
No importa onde o ambiente esteja armazenado (na nuvem, por exemplo) - o Lab Center manager permite automao, agilizando e reduzindo o tempo do processo de build-deploy-teste.
Criar um novo ambiente utilizando VM em SCVMM
Criar um novo ambiente utilizando mquinas em
SCVMM
Criar um novo ambiente em mquinas existentes
Automao: engajamentoQuando desenvolvedores e testadores colaboram, a qualidade ganha
Desenvolvedores efetuam o build, fazem o deploy e executam um caso de testes automatizado em um passo nico, preparando o caminho para os testadores
Escolha facilmente mltiplas sutes de teste para rodar
aps o deploy
Escolha o ambiente, faa o build, deploy e teste neste ambiente a
partir de uma nica janela
Gerncia de ambientesTesters iniciam os ambientes para executar testes manuais e test agentsgravam todos os dados para recriar qualquer bug.
Relatrios com snapshots anexados auxiliam o desenvolvedor a reproduzir facilmente o ambiente onde o erro foi encontrado
Snapshot do ambiente durante um teste manual para
aumentar a produtividade.
Iniciar ambientes de teste no Teste Manager ou anexar um ambiente virtual
para uma sesso de testes manuais
IntelligentanalysisAtiva data collectors e gera resultados de testes detalhados para assegurar que cada bug encontrado possa ser facilmente acessado.
O Team Foundation Server controla tudo, mantendo o time em sintonia e reduzindo o tempo de correo.
Resultados de testes so anexados a builds e ambientes especficos
Coleta todos os dados necessrios para recriar bugs a
partir de ambientes virtuais
Os desenvolvedores passam um tempo considervel depurando ocdigo atrs de problemas
Muitas vezes os erros so difceis de encontrar e, em muitos casos,simplesmente no conseguimos reproduzi-losMuito tempo desperdiado verificando o cdigo linha a linha IntelliTrace um recurso do Visual Studio Ultimate projetado para ajudar
neste cenrio
Um problema comum
Tempo de Busca Tempo de Correo
Conceito bsico - Capturar informaes de estado do depurador durantea execuo do programa Pense como se ele fosse um DVR para desenvolvedores
Conceito
Cenrio envolvendo testador/desenvolvedorO testador captura dados do IntelliTrace durante execuo dos casos de teste
Um arquivo .iTrace anexado quando o testador provoca um Bug
Os desenvolvedores so capazes de encontrar o problema muito mais rapidamente com a ajuda do arquivo .iTrace. Uma vez
corrigido, o bug marcado como resolvido e o testador pode testar novamente
TestadorTime de
Desenvolvedores
O testador ir habilitar o IntelliTrace data collector nas propriedades doplano de testes
Habilitando o IntelliTrace Collector
O testador pode configurar as informaes especficas a ser coletadas
Configurao do IntelliTrace Collector
Ao se provocar um bug, se o IntelliTrace Coletor est habilitado oarquivo de log .iTrace automaticamente anexado
Provocando um bug em um ambiente que tem o IntelliTrace habilitado
Desenvolvedores recebem o bug como um Work item
Desenvolvedores abrem o arquivo .iTrace
Mtricas
Feedback Testes de ao e
exploratrios
Gerenciamento de Requisitos
Critrio de Aceite
Testes de Desenvolvedores
Automao de Build Diagnsticos teis
Planejamento e gerenciamento de Testes
Execuo de testes e relatrios de defeitos
Relatrios Lab management
Monitoramento de Produo
Gerenciamento integrado de incidentes
Mtricas de qualidade e Relatrios
Ferramentas de funo alimentam dados resultando em relatrios de qualidade e transparentes
Armazm de Dados
Viso geral de Estrias
Anlise de Falhas em
Testes
Reativao de Bugs
Tendncias de Bugs
SSRS/SSIS Personalizados
Relatrios pr-criados e personalizaveis de projetos
Monitorando mtricas de qualidade
Visualize a qualidadeO build report um termmetro de qualidade e um anncio de sucesso oufalha.
Conforme o ciclo de desenvolvimento se aproxima do fim builds com problemas devem tender a zero. Relatrios de qualidade devem forneceruma viso clara do processode desenvolvimento e indicar onde a equipe deveconcentrar seus esforos.
Filtros permitem controlarquais builds sero exibidos
Visualize o teste e a cobertura do cdigo de cada build para
determinar a qualidade
Saindo da porteiraEsperar at o fim de um ciclo para corrigir defeitos pode impactar de forma inesperada o cronograma.
Um cenrio ATDD desejado onde temos um alto pico de falhas no incio do ciclo seguindo de forma sempre descendente, indicando que os testes esto sendo executados e as falhas sendo corrigidas rapidamente
EsmagandoBugsEquipes de desenvolvimento podem usar os relatrios de monitoramento para estimar seu nvel de qualidade de entrega e fornecer informaes sobre sua capacidade de ligar com defeitos.
Um defeito deve idealmente ser detectado e corrigido de uma vez, com um teste correspondente para assegurar a correo. Solicitaes de correes reativadas devem permanecer prximo de zero.
Preenchendo as lacunasA nica coisa constante a mudana e, cdigo que foi alterado deve ser testado.
Para garantir que o cdigo totalmente coberto por testes necessrio analisar o relatrio de codecoverage e identificar os gaps.
Manter uma base de cdigo totalmente coberta por testes garante que novas alteraes no vo gerar problemas.
As linhas destacadas mostram qual cdigo coberto, descoberto ou
parcialmente descoberto por testes.
Os resultados mostram quais mtodos so cobertos por teste e a cobertura
total indicada por uma percentagem.
Vendo maisclaramenteUma imagem vale mais do que mil palavras!
O quadro ao lado fornece uma viso abrangente de cada user historyimplementado, incluindo status de concluso, resultados dos testes e status dos bugs. Mil palavras, de fato!
Monitore o percentual total de horas completadas por user
story
Viso de status emtempo real de cada user
story
Resultados de teste mostram o status da qualidade de cada user
story
Rastreie bugs ativos e resolvidos por user story
Anlise sua cobertura de cdigo com um nico cliqueAnlise para testes selecionados para ajudar a encontrar como testes
especficos esto cobrindo seu sistema Suporta cdigo nativo (atravs do Native MS-Test) Funciona com framework de terceiros
Cobertura de cdigo no Visual Studio 2015
Recurso no Visual Studio 2015 (novo no VS 2013) Procura cdigo semanticamente similar, usando uma tcnica de busca
heursticaMais do que simplesmente procura de correspondncias exatas
Anlise de cdigo clone
uma coleo de mquinas virtuais e fsicas, para desenvolvimento eteste de aplicaes Pode suportar testes em vrios nveis, tais como estaes de trabalho,
servidores web e servidores de banco de dados Pode ser usado para a criao de um fluxo de build-deploy-test.
automatizado
Ambiente de Laboratrio
Reduo do tempo entre um build e o incio dos testes Voc pode usar um plano de testes para executar testes automatizados
usando o Microsoft Test Manager Voc pode usar um fluxo de build-deploy-test para testar vrios nveis
automaticamenteColeta de dados de diagnstico de todas as mquinas, mesmo durante o
teste manual
Benefcios de ambientes de Laboratrio
Reproduzem rapidamente ambientes atravs de VMs configuradas pararecriar ambientes especficos Reproduzem as condies exatas de um bug - Quando um teste falha
possvel armazenar uma cpia do estado do ambiente Executam vrias cpias de um mesmo ambiente ao mesmo tempo e sem
conflitos
Benefcios de ambientes do SCVMM
Windows XP SP3 e verses mais recentesWindows VistaWindows Server 2003Windows Server 2008Windows Server 2008 R2 (64-bit)Windows Server 2012 (64-bit)Windows Server 2012 R2 (64-bit)Windows 8 e verses mais recentes
Sistemas suportados no ambiente virtual
Configuration ManagerData Protection Manager EndPoint ProtectionOrchestratorOperations Manager Service Manager Virtual Machine Manager
Famlia Microsoft System Center
Symbol Files- Arquivos .PDB- Usados durante o processo de depurao- Incluem nomes do arquivos de cdigo fonte, nmeros de linha e nomes de
variveis locais
Voc deve sempre manter seus Symbol Files prximos Symbol Server
- Repositrio central para arquivos PDB- Essencialmente, este apenas um compartilhamento de arquivos
A importncia dos Symbol Files
AtividadesExerccios 1 ao 30
Outros Recursos
Pro Scrum Development com MS Visual Studio 2012 Richard Hundhausen
Software Testing using Visual Studio 2012 https://www.packtpub.com/application-
development/software-testing-using-visual-studio-2012
Scrum Guide http://www.scrum.org/Scrum-Guides
https://www.packtpub.com/application-development/software-testing-using-visual-studio-2012http://www.scrum.org/Scrum-Guides
RevisoDvidas e esclarecimentos
Avaliao10 Questes para validar seus conhecimentos
Sustentando o ALM no Team Foundation ServerSobre o cursoIntroduoTFSEvoluo do TFSSlide Number 7Visual Studio OnlineFuncionalidades mais recentesFcil integrao com apps de terceirosVantagensVisual Studio OnlineOtimizando com TFS e Visual StudioFerramentas ParalelasPowerPoint StoryboardsFeedback ClientMicrosoft Test Manager (MTM)Microsoft Release ManagementPlanejamento e ProdutividadePlanejamento de capacidades de SprintPreviso de entregaDeterminar esforo e plano de releaseDesign ArquitetnicoDesign arquitetnico - Diagramas de camadasDesign arquitetnico DGMLDesign arquitetnico Diagramas UMLDesign arquitetnicoReviso de CdigoCode review (Reviso de cdigo)Requisitando code review (reviso de cdigo)Aceitando e respondendoTestando com TFS e Visual StudioArquitetura do teste unitrioTeste de software com Visual StudioEntendendo os tipos de testes no Visual StudioTestes UnitriosTestes ManuaisTestes codificados de UITestes ordenadosTestes genricosTestes de CargaTestes de Performance WebTestes Unitrios no Visual StudioEstrutura Triplo A (AAA)Microsoft Test ManagerMicrosoft Test Manager (MTM)Planos de Testes (Test Plans)Sutes de TestePor que diferentes configuraes?Lidando com diferentes configuraesMonitorando diferentes configuraesConfiguraesExcluindo configuraesTipos de sutes de testeInformaes sobre o estado de umasute de testeCopiando sutes de testeClonando uma sute de testeSumrio cpia x clonagemAtribudo aOrdenar casos de teste dentro de uma suteA necessidade de data driven testsParametrizando testesReproduo de testes parametrizadosA necessidade de etapas compartilhadasEtapas compartilhadasCaso de teste Fast Forward (avano rpido)Teste exploratrio no MTMDemonstraoAutomao e MtricasAutomao ContnuaAutomao de Lab CenterSlide Number 72Slide Number 73Slide Number 74Slide Number 75Um problema comumConceitoCenrio envolvendo testador/desenvolvedorHabilitando o IntelliTrace CollectorConfigurao do IntelliTrace CollectorProvocando um bug em um ambiente que tem o IntelliTrace habilitadoDesenvolvedores recebem o bug como um Work itemDesenvolvedores abrem o arquivo .iTraceMtricasMonitorando mtricas de qualidadeSlide Number 86Slide Number 87Slide Number 88Slide Number 89Slide Number 90Slide Number 91Cobertura de cdigo no Visual Studio 2015Anlise de cdigo cloneAmbiente de LaboratrioBenefcios de ambientes de LaboratrioBenefcios de ambientes do SCVMMSistemas suportados no ambiente virtualFamlia Microsoft System CenterA importncia dos Symbol FilesAtividadesOutros RecursosRevisoAvaliao