Integração Team Foundation Server (TFS) e Project Server– Wiki Completo

Esse Wiki tem como finalidade explicar todos os passos para a integração do Team Foundation Server 2012 ou 2013 e o Project Server 2013 e os testes de validação para identificar se o sincronismo está funcionando corretamente.

A integração do TFS e Project Server é extremamente importante, pois além de termos o projeto bem alinhado entre a equipe de Projetos e Desenvolvimento, ou o Scrum Master e o time de DEV, também evitamos diversos locais de atualização em que o desenvolvedor precisa atualizar no TFS, Web do Project Server, etc, além da equipe de projetos e lideres terem que ficar insistindo para que a equipe atualize para que as informações sejam atuais. Ou seja, um trabalho imenso que pode ser evitado fazendo esse sincronismo e deixando todos felizes e fazendo realmente o que interessa: Programar, Criar, etc.

REQUISITOS:

Observe os requisitos para realizar o procedimento corretamente.

– Permissões

Direitos administrativos no TFS e Project Server para a conta de serviço do TFS que irá executar o sincronismo.

image

Direitos administrativos do usuário ao executar os comandos de sincronismo. Importante que esse usuário também seja administrador do TFS e Project Server para acessar os caminhos da URL.

image

– Visual Studio Team Foundation Server 2013

Esse post parte do pressuposto que o TFS 2013 já está instalado e funcional. Dúvidas na instalação poderão ser tiradas no guia de instalação da Microsoft.

http://msdn.microsoft.com/pt-br/library/dd631899.aspx

– Visual Studio Team Explorer 2013

Será necessária a instalação do Team Explorer para execução dos comandos CLI de sincronismo. Instale em sua estação e no servidor TFS.

image

image

– Visual Studio Team Foundation Server 2013 Power Tools

Instale também o Power Tools do TFS para poder usar ele sempre que necessário, como para editar Work Items, etc. Instale em sua estação e no servidor TFS.

http://visualstudiogallery.msdn.microsoft.com/f017b10c-02b4-4d6d-9845-58a06545627f

image

image

image

image

image

image

– Sharepoint Server 2013

Esse post parte do pressuposto que o Sharepoint 2013 já está instalado e configurada sua integração com o TFS 2013 e também com o Project Server 2013. Dúvidas na instalação poderão ser tiradas no guia de instalação da Microsoft.

image

http://msdn.microsoft.com/pt-br/library/hh667648.aspx

– Project Server 2013

Esse post parte do pressuposto que o Project Server 2013 já está instalado e funcional. Dúvidas na instalação poderão ser tiradas no guia de instalação da Microsoft.

http://technet.microsoft.com/pt-br/library/ee662109.aspx

– Extensões do Project Server 2013 para Team Foundation Server 2013 que está disponível na mídia de instalação do TFS 2013

http://msdn.microsoft.com/en-us/library/hh549244.aspx

Para instalar as extensões do TFS no Project, siga o procedimento abaixo:

Abra a mídia no seu servidor do Project Server e realize a instalação conforme os passos abaixo:

image

image

image

image

CENÁRIO DE INTEGRAÇÃO

Depois de instalar os pré-requisitos, iremos criar um projeto a partir do zero para realizar a integração.

Primeiramente você deverá executar 03 comandos (execute os comandos com direitos administrativos, de preferência dentro do servidor TFS) para ativar o sincronismo do TFS com o Project Server.

Comandos Shell para a integração doTFS e Project Server:

Execute esse comando a partir do Team Explorer ou Prompt de Comando do TFS:
Atenção (execute do CMD do Visual Studio 2013).

1. Comando: TfsAdmin ProjectServer /RegisterPWA /pwa:http://servidordoproject/PWA /tfs:https://servidordotfs/tfs/

Obs.: No exemplo do comando está em HTTPS, mas funcionará normalmente em HTTP na porta 8080 se seu TFS estiver publicado dessa forma.

image

Depois execute o comando abaixo:

2. Comando: TfsAdmin ProjectServer /MapPWAToCollection /pwa:http://servidordoproject/PWA /collection:https://servidordotfs/tfs/collection

Obs.: Collection é a coleção de projetos que você irá mapear.

image

Caso apresente algum erro, consulte esse Wiki que fiz justamente para o problema: http://social.technet.microsoft.com/wiki/pt-br/contents/articles/22691.tf244064-an-error-occurred-while-retrieving-event-handler-tfsapprovalsupdatedeventhandler-generalsecurityaccessdenied.aspx

3. Comando: TfsAdmin ProjectServer /UploadFieldMappings /collection:https://servidordotfs/tfs/collection /useDefaultFieldMappings

image

Obs.: Na tela usei o /force pois já havia mapeado os campos, porém para demonstração realizei novamente o processo.

Qualquer dúvida, você poderá consultar o link: http://msdn.microsoft.com/en-us/library/gg412656.aspx

Criando um Team Project no TFS

Crie um projeto de desenvolvimento no TFS chamado Projeto Exemplo XII.

Criando um Projeto de Desenvolvimento no Team Foundation Server 2013 (dentro da Collection que você sincronizou):

Siga os passos abaixo:

image

image

image

image

image

image

image

Criando um Projeto no Project Server (EPM).

Crie um projeto no EPM chamado Projeto Exemplo XII (com o mesmo nome do Projeto do Team Foundation Server).

image

image

Depois de criado os dois projetos, vamos sincronizar seus campos (no caso iremos mapear Requirement, Task e Bug). Para isso execute o comando abaixo:

4. Comando: TfsAdmin ProjectServer /MapPlanToTeamProject /collection:https://servidordotfs/tfs/collection /enterpriseproject:Projeto Exemplo XII /teamproject:Projeto Exemplo XII  /workitemtypes:”Requirement, Bug, Task”

Conforme o tipo de Metodologia que você selecionou, você irá mapear os campos correspondentes. No caso, escolhemos CMMI que usar Requirement, se fosse Scrum, iriamos mapear PBI.

image

image

Pronto! Os campos estão mapeados, agora vamos aos testes.

VALIDAÇÃO

Se tudo foi configurado corretamente, você poderá observar dentro de um Work Item do projeto sincronismo, em seu Visual Studio, uma nova aba criada chamada Project Server.

image

Ok, parece que está funcional, vamos realizar o primeiro teste!

Criando Work Item do Visual Studio para Publicar para o Project Server

Crie uma Tarefa (TASK) no Visual Studio:

image

image

Depois vá na abra Project Server e selecione para sincronizar com o Project Server:

image

Obs.: No caso da figura, o nome do projeto de empresa é outro PJExemploTFS, pois acabei criando um novo Projeto no TFS e Project Server com esse nome mas, no caso seria o projeto Exemplo XII.

Em seguida salve sua Task.

Obs.: Caso ocorra o erro TF285010, veja esse Wiki que postei para solução do erro.

http://social.technet.microsoft.com/wiki/pt-br/contents/articles/22711.tf285010-the-following-user-is-not-a-valid-project-server-resource.aspx

Para validar se seu Work Item sincronizou, vá na aba History – All Changes e verifique se o sincronismo ocorreu com sucesso, conforme a tela abaixo:

image

Isso significa que seu Work Item foi para o Project Server e aguarda a aprovação. Vamos conferir?

Abra a Web do seu Project Server e vá no projeto correspondente e em Aprovações e verifique se há uma aprovação sobre o novo Work Item criado:

image

Agora e só aprovar e verificar se o Work Item já está disponivel na tela do Project Professional.

image

E lá está ele!

image

Criando Work Item do Project Professional para Publicar para o Team Foundation Server

Abra seu Project Professional e selecione o Enterprise Project que está sincronizado com o Team Project do TFS.

Crie o Work Item desejado e atribua as informações como nome, recurso (que será o Assigned to do TFS), etc.

image

Salve e publique.

image

Aguarde alguns minutos e verifique se o Work Item já está disponível no seu Visual Studio.

image

E ele está lá!

Avaliando se o Work Item é atualizado

Vamos alterar alguns campos do Work Item e salvá-lo:

image

Agora, vamos identificar se houve alteração no cronograma do Project Professional. Clique em verificar andamento do Projeto em Questão:

image

Aprove a nova atualização.

image

Clique em OK.

image

Clique em Sim.

image

Clique em Sim.

image

Veja que houve um avanço. Calculado já em % do jeito que o Gestor de Projeto gosta!

image

Bom é isso, é possivel sincronizar mais projetos, coleções, Work Items, conforme sua necessidade!

Um abraço e até a próxima!

Alan Carlos

Séries ALM–Gerenciando Plano de Testes – Clone

Olá nesse artigo, demonstrei um cenário muito comum, onde comumente as equipes de testes tem retrabalhos com enormes planilhas de casos de testes feitas em Excel ou reescrevendo casos de testes para compilações paralelas de uma mesma versão de software.

Imagine que você está na compilação 1.0 de seu software e há mais de 500 Casos de Testes escritos em seu Plano de Testes, e a equipe de desenvolvimento libera a compilação 2.0 onde a equipe de testes deverá testar em paralelo as duas versões.

Usando o Test Manager, você faz esse gestão com apenas um passo:

Clonar Plano de Testes.

Para isso, siga os passos abaixo:

image

Você pode clonar o Plano de Testes, Suite de Testes e os Requisitos. E determinar em qual área e iteração que o clone irá para ser usado.

image

Espero ter ajudado e até a próxima!

Alan Carlos

Séries ALM–Coletores de informações

No Microsoft Visual Studio Test Professional, temos o MTM onde podemos utilizar para realizarmos nossos testes. O Microsoft Test Manager é uma ferramenta poderosa e muito útil, com diversos utilitário e dentre eles destaco os coletores.

Esses coletores servem para nos apoiar a identifcar um BUG, reproduzir passos, automatizar testes. Veja abaixo como ativar e para que serve cada um:

image

image

Action Log – Log de Ações – Captura todos os passos e cliques que você executar no computador, gerando depois um código C# que pode ser reaproveitado em fazendo o teste de forma “automática”reproduzindo o que você fez, ou você pode garimpar esse código e transformá-lo de fato em um teste automatizado. Essa captura só funciona no modo cliente (execução local).

ASP.NET Client Proxy for IntelliTrace and Test Impact – Proxy para apoio na coleta de aplicativos Web de Servidores quando você ativa o IntelliTrace. Use sempre que seu cliente for um Web Server.

Code Coverage – Cobertura de Código – Coletar para capturar dados de códigos de aplicações ASP.NET que rodam no Internet Information Services.

Event Log – Log de Eventos – Captura os eventos do Windows conforme a execução do teste. Muito úitl, pois caso dê uma exceção no momento do teste, a mesma estará possivelmente registrada no evento. Serve local como remoto (cliente e servidor).

IntelliTrace – Fornece a visão detalhada do comportamento de um aplicativo. (cliente e servidor)

Screen and Voice Recorder – Gravação em vídeo e áudio do seu desktop no momento do teste. Muito útil em situações como

System Information – Informações completas do sistema. (cliente e servidor).

Test Impact – Ajuda a decidir quais testes precisam ser executados novamente quando for liberada uma próxima build. (cliente e servidor).’

Espero ter ajudado e até a próxima!

Alan Carlos

Séries ALM – Atribuir um Caso de Teste a um Testador

Depois de planejar seus Casos de Testes no Microsoft Test Manager, você pode distribuir esses casos para diversos testadores membros do time. Para fazer isso é simples:

Em Plan, clique como botão direito do mouse em cima do Caso de Teste que deseja atribuir e selecione no menu “Assign testers for selected tests”

image

Em seguida selecione o testador.

image

Depois de salvo, quando for executar, selecione em Test – Filter e selecione o Testador.

image

Pronto, perceba que o Caso de Teste está marcado para aquele testador que você atribuiu e ele poderá executar o mesmo.

Bom é isso, até a próxima!

Um abraço!

Alan Carlos

Associando um Plano de Testes a documentação de Requisitos

nImagine o cenário em que todas as funcionalidades de negócios estão documentadas no documento de requisitos e você precisa associar seu Plano de Testes a essa documentação, como proceder?

Fácil, você deve ir no Testing Center, em Plan e Properties

image

Em Links você pode adicionar toda a documentação referente as funcionalidades de negócio que estão documentadas.

image

Dessa forma, você e a equipe sempre terá as informações sobre os requisitos.

Espero ter ajudado e até a próxima!

Um abraço!

Alan Carlos

Séries ALM–Coletando informações de Bugs com o Test Manager

Imagine um cenário onde você realiza testes em um requisito e encontra um BUG. Depois de algum tempo em que você enviou esse BUG a equipe de desenvolvimento retorna informando que não conseguiu idenificar o que está ocorrendo. E agora?

Simples. com o Microsoft Test Manager é possível você ativar coletores para apoiar a equipe de desenvolvimento a identificar o que está ocorrendo.

Vá no Lab Center, Test Settings, Data and Diagnostics.

image

Selecione os coletores:

Intellitrace: Coletar dados de exceções .NET

Event Log: Coletar os eventos do Windows

ASP.NET Client Proxy for IntelliTrace and Test Impact: Apoiar o Intellitrace na captura dos logs caso a aplicação for Web.

image

E pronto! Ao executar o teste novamente no Test Runner, e abrir o BUG, os dados de coleta já estarão devidamente anexados ao BUG para análise do desenvolvedor e consequente descoberta do que ocorreu.

Um abraço e até a próxima!

Alan Carlos

Séries ALM–Avaliando o Progresso da Equipe de Testes

Com o Visual Studio ALM você consegue acompanhar o progresso do seu time de testes em um desenvolvimento ágil. Para isso, você precisa identificar os itens:

– Monitorar o progresso de teste para cada requisito.

– Identificar lacunas na cobertura de teste e

– Identificar quantos casos de teste estão passando ou não para cada requisito.

Para isso é muito simples, no Portal do Projeto, você deve usar o Relatório do Excel User Story Test Status.

Para abrir siga as telas abaixo:

image

image

image

Muito fácil né?

Espero ter ajudado e até a próxima!

Alan Carlos