sustentando o alm no team foundation server · uma configuração não pode ser excluída se: - for...

Download Sustentando o ALM no Team Foundation Server · Uma configuração não pode ser excluída se: - For referenciada no ... - Grupos de casos de teste que se enquadram em um filtro definido

If you can't read please download the document

Upload: truongnguyet

Post on 06-Jan-2019

218 views

Category:

Documents


0 download

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