Igor: profilIgor Abade V. Leite (a.k...FotografieBlogSeznamyDalší Nástroje Nápověda

Blog


13 října

TFS hospedado – excelente para quem não pode ter infra-estrutura própria

Você gostaria de usar o Team Foundation Server mas não pode ou não quer manter um ambiente próprio em sua casa ou empresa?

Uma boa alternativa é o serviço da SaaS Made Easy – uma empresa americana que oferece várias soluções de SaaS (Software as a Service) – dentre elas, uma de Team Foundation Server.

Saiba mais sobre a oferta de serviços deles em http://secure.saasmadeeasy.com/Web/Services/TeamFoundationServer/Pages/default.aspx.

E você, conhece algum outro provedor de serviços que ofereça um TFS hospedado? Compartilhe conosco aqui nos comentários!

09 září

Telerik Tools for Team System (TFS Dashboard & TFS Work Item Manager)

Um dos MVPs de Team System, Joel Semeniuk, acabou de nos avisar sobre uma ferramenta (gratuita :)) feita em WPF para interagir com o TFS.

Para usuários dos processos MSF Agile, MSF CMMI e Scrum Conchango, é possível visualizar dashboards de seus projetos e taskboards de suas atividades. Vale a pena conferir!

Eu estou instalando agora a ferramenta para avaliá-la e conto depois como foi minha experiência.

 

 

Para mais informações e download, acesse http://www.telerik.com/products/tfsmanager-and-tfsdashboard.aspx

 

02 září

Palestra de VSTS Database no TechEd Brasil 2009

Pessoal, quero agradecer a todos os que participaram da minha palestra sobre o VSTS Database 2010 no TechEd Brasil 2009, na última quinta-feira 27/agosto.

Para quem quiser ter acesso ao material que foi apresentado, basta baixar esta apresentação:

 

30 července

Smart Power Plan Switcher for Windows

Você sabe como melhorar o desempenho do seu notebook – e ainda por cima aumentar a duração da bateria?

Resposta: Através do uso correto dos planos de energia do Windows.

O Windows Vista evoluiu o conceito de "planos de energia" - conjuntos de configurações de energia que podem ser usadas para economizar energia elétrica (e portanto aumentar a duração da bateria de notebooks) ou para oferecer o maior desempenho possível para seu computador (às custas de um consumo maior de energia). Você pode tirar proveito de conjuntos pré-definidos tais como "Economia de Energia" ou "Alto Desempenho" para ajustar o comportamento do computador às suas necessidades.

Entretanto, você já desejou que o Windows Vista fosse "esperto" o suficiente para detectar o estado de energia atual do seu computador (se plugado à tomada ou usando a bateria) e mudar o plano de energia de acordo? Quer dizer, porque ele não usa "Economia de Energia" quando estiver usando a bateria e "Alto Desempenho" quando plugado à tomada?

Spps-Notification.png

Verdade seja dita, você poderia obter um comportamento similar a esse criando um novo plano de energia e mesclando - manualmente - as configurações dos planos Economia de Energia e Alto Desempenho. Mas isso seria muito trabalhoso!

Por isso, eu decidi criar o Smart Power Plan Switcher (Mudança Inteligente do Plano de Energia) para fazer o que eu sempre quis que o Windows fizesse por mim: mudar o plano de energia sempre que eu plugasse (ou desplugasse) meu notebook na tomada.

Spps-Settings.png

Compatibilidade

Smart Power Plan Switcher é compatível com Windows Vista ou Windows Server 2008 e superiores - incluindo os novos Windows 7 e Windows Server 2008 R2.

Download

Faça seu download a partir do site MSDN Code Gallery.

 

Cursos oficiais de VSTS: MOC 6214, 6215

Interessado em aprender mais sobre o Team System? Então recomendo fortemente os dois cursos oficiais Microsoft (MOC, Microsoft Official Curriculum) para o VSTS:

Curso MOC 6214A: Effective Team Development using Microsoft Visual Studio Team System

o   Duração: Três dias

o   Público-alvo: Equipe de desenvolvimento (desenvolvedores, arquitetos, líderes de equipe/projeto, testadores, DBAs/DAs)

o   Conteúdo: Este curso provê aos alunos o conhecimento e as habilidades para gerenciar ferramentas de controle de versão, implantar um processo de build automatizado, utilizar ferramentas que auxiliam no desenvolvimento guiado por testes (test-driven development) e utilizar um processo de desenvolvimento automatizado, tudo integrado diretamente no Visual Studio 2008. Ao final do curso, a equipe de desenvolvimento estará preparada para utilizar técnicas guiadas por testes e eficientes processos de desenvolvimento para criar softwares com uma mudança mínima no volume de trabalho do projeto.

·         Curso MOC 6215A: Implementing and Administering Microsoft Visual Studio 2008 Team Foundation Server

o   Duração: Três dias

o   Público-alvo: Equipe de infra-estrutura responsável pela administração do TFS; equipe de metodologia e processo de desenvolvimento, líderes de equipe

o   Conteúdo: Este curso provê aos alunos o conhecimento e as habilidades para implementar e administrar o Microsoft Visual Studio 2008 Team Foundation Server. O curso foca em detalhes da instalação e configuração, projetos de equipe (team projects), itens de trabalho (work items), controle de versão, Team Build, relatórios e customização de modelos de processo.

Os dois cursos, juntos, servem como preparação para a prova de certificação 70-510 – Visual Studio Team Foundation Server.

Procure um centro de treinamento oficial Microsoft mais próximo de sua residência e bom curso!

 

Technorati Tags: ,,,
25 května

Como saber se os usuários estão usando o TFS Proxy?

Há um tempo atrás um cliente que instalou o TFS Proxy em sua empresa queria saber se o serviço estava realmente em uso – ou seja, se todos os desenvolvedores tinham configurado corretamente seu ambiente para tirar proveito do proxy.

Veja aqui uma dica que recebi de Grant Holliday:

Execute a consulta abaixo no banco de dados TfsActivityLogging.

Se todo mundo estiver usando o servidor de proxy, as únicas requisições no log de atividades deverão ser aquelas feitas pelo próprio servidor de log – ou seja, não deve aparecer nenhum nome de usuário aqui. Requisições que não tenham sido feitas pelo servidor de proxy:

  • Foram feitas por um usuário que não esteja com o proxy configurado localmente; ou
  • O usuário está com o proy configurado, mas no instante da chamada o proxy estava indisponível e ele foi direto ao AT.

A segunda condição do WHERE abaixo está comentada. Sabemos que todos os servidores de proxy rodam, por padrão, como NETWORK SERVICE. Dessa forma, podemos filtrar solicitações não originadas de um proxy.

SELECT
     SUM([ExecutionCount]) as DownloadCount
      ,[IdentityName]
      ,[IPAddress]
FROM
      [TfsActivityLogging].[dbo].[tbl_Command] WITH (NOLOCK)
WHERE
      Command = 'Download'
      AND StartTime > DATEADD(hh, -6, GETUTCDATE())
     
-- AND IdentityName NOT LIKE '%$'
GROUP BY
      IPAddress, IdentityName
ORDER BY
      SUM([ExecutionCount]) DESC

 

Technorati Tags: ,,,
12 května

Assista às palestras de VSTS na “Semana Tech” da Ka Solution

image

Na próxima semana teremos um evento muito bacana na Ka Solution, a “Semana Tech”, com inúmeras palestras sobre diversos produtos Microsoft.

Dentre essas palestras, gostaria de destacar as duas que teremos sobre VSTS:

Tema

Data

Periodo

Sala

Palestrante

Como acompanhar e controlar projetos com Team Foundation Server

21/05/2009

14:00 as 17:00

16

Igor Abade

Como realizar testes, arquitetura e desenvolvimento avançado com Visual Studio Team Editions

22/05/2009

14:00 as 17:00

16

Igor Abade

 

Para mais informações sobre o evento, visite http://www.kasolution.com.br/ka/palestras.asp

 

Technorati Tags: ,,
11 května

Agrupando Team Queries

Equipes que utilizem o Team Foundation Server podem acabar com uma grande quantidade de Team Queries – o que eventualmente compromete sua utilidade. Como achar uma query específica no meio de uma enxurrada de outras queries?

O TFS 2010 trará novidades neste aspecto – mais especificamente, a habilidade de criar pastas no Team Explorer, sob “Work Items”, para agrupar suas consultar pessoais e de equipe. Mas até lá, você pode usar o SharePoint para ajudá-lo a criar uma biblioteca de consultas pré-definidas que você queira compartilhar com sua equipe. Veja como em http://blogs.msdn.com/noahc/archive/2007/01/19/managing-lots-of-work-item-queries.aspx

 

Acesso negado ao acessar o TFS a partir de uma aplicação Web

Se você criar uma aplicação ASP.NET (Web Site, Web Application ou Web Service) e tentar conectar ao TFS a partir dessa aplicação, pode encontrar o seginte erro:

Microsoft.TeamFoundation.WorkItemTracking.Client.UnexpectedErrorException: Cannot complete the operation. An unexpected error occurred. ---> Microsoft.TeamFoundation.WorkItemTracking.Client.ClientException: Access is denied.
(Windows)
Could not open file 'C:\Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache\ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca\0\metadata1.curcache'. (Work Item Tracking Metadata Cache)
Access is denied.
(Windows)
Access is denied.
(Windows)
Could not open file 'C:\Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache\ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca\0\metadata1.curcache'. (Work Item Tracking Metadata Cache)
Could not initialize metadata cache for product 'ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca'. (Work Item Tracking Metadata Cache)
Unspecified error
(Windows)
   --- End of inner exception stack trace ---
   at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.HandleComException(Int32 hr)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.DatastoreClass.ConnectEx(String connectionString, Int32 hCredentials, String defaultCachePath, String instanceId, String userSamName, String userFriendlyName, String userSid)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.InitializeInternal()
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore
.Microsoft.TeamFoundation.Client.ITeamFoundationServerObject.Initialize(TeamFoundationServer teamFoundationServer)
   at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore..ctor(TeamFoundationServer teamFoundationServer)
   at Service.TFSConnect() in d:\Inetpub\actsws\App_Code\Service.cs:line 55
   at Service.GetPubInfo(Int32 publishId) in d:\Inetpub\actsws\App_Code\Service.cs:line 67

Esse erro deve-se ao fato de que, por padrão, a conta de usuário da aplicação ASP.NET (Network Service no Windows 2003 ou superior) não tem direito de gravação no diretório de cache que os objetos do TFS criam localmente na máquina enode sua aplicação está sendo executada.

Para corrigir esse erro, adicione a seguinte linha ao web.config da aplicação que irá acessar o TFS:

<configuration>
    …
    <appSettings>
        <add key="WorkItemTrackingCacheRoot" value="E:\FolderForCache" />
    </appSettings>
</configuration>

Onde “E:\FolderCache” é um diretório no servidor em que o usuário do pool de aplicações do ASP.NET tenha direito de gravação. Para mais informações, acesse http://blogs.msdn.com/narend/archive/2006/07/29/how-to-configure-wit-om-on-a-web-application.aspx.

 

24 dubna

Code Analysis: Quais regras a Microsoft usa internamente?

Esta é uma dúvida recorrente, sempre que apresento o recurso de Code Analysis para um cliente:

“Com essa enorme quantidade de regras, quais eu realmente devo ligar?”

Ainda que não haja uma resposta precisa a essa pergunta – é sempre necessário analisar o cenário do cliente para entender quais regras fazem sentido – um bom ponto de partida é o post do time do FxCop (no qual o Code Analysis do Team System é baseado):

What rules do Microsoft have turned on internally?

 

Como resolver problemas em testes web

Se você usa o recurso de testes Web (“Web Tests”) do Team System Test Edition, certamente vai querer ler as dicas de resolução de problemas que o Sean Lumlev postou no seu blog. Confira o post How to debug a Web Test.

 

15 února

Use o TFS para gerenciar seus projetos de SharePoint

Se você vai participar de um projeto que envolva customização do SharePoint – um tipo de projeto cada vez mais comum, dada a crescente popularidade do SharePoint – pode usar o TFS como suporte para a gestão do ciclo de vida da aplicação que será criada.

Para saber mais sobre como usar o TFS num projeto de SharePoint, consulte os links abaixo. Eles contêm alguns dos materiais disponíveis sobre o assunto.

 

Technorati Tags: ,,,

“The load test data repository is out of space”

Ao usar o teste de carga do VSTS você encontrou o seguinte erro:

---------------------------
Microsoft Visual Studio
---------------------------
Error occurred running test. (Computer  <computador>) Could not access the load test results repository: The load test results repository is out of space.  Allocate more space to the repository (if possible), or delete results of older load test runs.
---------------------------
OK  
---------------------------

Sua primeira reação é checar o disco da máquina indicada na mensagem de erro e limpar a pasta TestResults, apagando todos os arquivos (ex. TRX) existentes lá. Só que não vai adiantar – o problema é outro…

Na verdade, o espaço que se esgotou foi o do banco de dados de resultados de testes, não a pasta TestResults. Isso se deve ao fato de que o VSTS Test Edition armazena os resultados dos testes de cargas (todos aqueles indicadores que podemos acompanhar em tempo real ao executarmos um teste) num banco de dados SQL Server. Por padrão, esse banco de dados é um SQL Server Express, que tem um limite máximo de 4GB por banco de dados.

Se você pretende executar muitos testes de carga – ou durante longos períodos – pode acabar alcançando o limite de 4GB. Nesse caso você tem duas opções:

  1. Usar uma versão completa do SQL Server (por exemplo a Standard); ou
  2. Exclua resultados antigos do banco de dados: abra um teste de carga no Visual Studio, encontre o botão "Manage Load Test Results" e use essa caixa de diálogo para ver, excluir, exportar e importar resultados de testes. Você poder exportar antes de excluir resultados antigos para poder visualizá-los posteriormente.

 

image

 

Para mais informações, procure por "Working with Load Tests" no MSDN.

 

10 února

Dicas para melhorar o desempenho do seu Team Build

Conheça algumas dicas muito boas para melhorar a velocidade dos seus builds – cortesia de Jim Lamb, Program Manager do Team Build.

  • Reduza o escopo do seu Get ao mínimo possível – com isso você reduz o tempo de download do código-fonte. Ajuste os mapeamentos do espaço de trabalho do build para baixar apenas o essencial.
  • Reduza a verbosidade do loogger do MSBulid (o default é “diagnostic” no .NET 3.5) adicionando a seguinte chave ao seu arquivo TfsBuild.rsp: “/flp:verbosity=normal”.
  • Defina a propriedade IncrementalGet como True no arquivo TFSBuild.proj se você puder reaproveitar o código-fonte entre os builds (isto é, baixar apenas os arquivos alterados desde o último build).
  • Defina a propriedade IncrementalBuild como True se você puder reaproveitar as compilações entre os builds (isto é, recompilar apenas os arquivos alterados desde o último build).
  • Ative o suporte a multiprocessadores do MSBuild para obter uma paralelização da compilação das soluções – funciona melhor em Agentes de Build com processadores multi-core.
  • Instale o Service Pack 1 do VSTS/TFS e o Hotfix 'TargetsNotLogged' em seus Agentes de Build para reduzir o “ruído” nos logs de build.
  • Avalie uma eventual divisão do seu processo de build em várias definições de build. Por exemplo (a) um build incremental de integração contínua que apenas valida o último changeset sem copiar um drop (os binários resultantes do build) e (b) um build noturno, a partir do zero, que compila o mesmo label do último build de integração contínua bem-sucedido e executa um conjunto de testes automatizados.
  • Agende desfragmentações de disco em seus agentes de build. Se você faz integração contínua e builds diários, provavelmente o ideal é que você faça essa desfragmentação aos finais de semana.
  • Use máquina de build com HDs rápidos. Atualizar seu agente de build com um disco rígido mais novo e mais rápido é uma maneira relativamente barata de aumentar o desempenho do seu build. Por exemplo, a velocidade do HD WD 750 GB 7200 RPM é bem próxima à dos mais rápidos HDs mecânicos com preço abaixo de US$100.
  • Use um sistema operacional de servidor (não um workstation) para hospedar os drop folders. Por exemplo, prefira o Windows Server 2003 ao XP.

 

Technorati Tags: ,,,
02 února

Importante atualização de segurança para o Team System Web Access

Atualização de segurança - realmente importante!Estamos tão acostumados com a expressão “Atualização de Segurança” que é fácil deixar mensagens como esta “passarem batido”. Entretanto, se você tem o Team System Web Access (TSWA) instalado – em especial se ele puder ser acessado pela internet – então você realmente vai querer atualizá-lo para a versão abaixo:

http://go.microsoft.com/fwlink/?LinkID=136577

Esta versão inclui uma importante correção de segurança que você deve instalar imediatamente. Esse download não é um patch e sim uma versão completa do TSWA, por isso você deverá desinstalar o produto e reinstalar a nova versão. Logo teremos um artigo na KB; fique de olho no blog do Hakan para mais informações.

Para saber se você tem a versão correta do TSWA: Acesse o site do TSWA e vá em "Help -> About". Se a versão exibida for Build 9.0.3275 então você já tem a correção instalada. Qualquer versão anterior a isso deve ser atualizada. Especificamente, 9.0.3160 é o número de build do TSWA SP1.

 

A ferramenta de teste de carga do Team System é o Test Load Agent, certo?

Essa é uma dúvida muito comum. Um amigo MVP me fez essa pergunta há algum tempo. Assim, achei que era uma excelente oportunidade para blogar e tentar registrar a resposta.

 

A ferramenta de teste de carga do VSTS é o Visual Studio Test Edition.

 

Ponto. Simples assim. :-)

VSTS Test Edition

Isso quer dizer que, para estressar aplicações Web (ASP.NET, PHP, Java, Ruby etc.), Web Services (ASMX, WCF, JEE etc.) e bancos de dados (SQL Server e quaisquer outros suportados pelo ADO.NET) você deve usar o Visual Studio Team System Test Edition (a ferramenta de testes do Team System). Com ela você pode:

  • Criar as definições (scripts) do teste de carga;
  • Executar os testes (contra um ou mais servidores ao mesmo tempo);
  • Consolidar os dados (recebendo os indicadores de performance de todos os servidores envolvidos);
  • Analisar os dados (através de gráficos e tabelas no próprio ou através de exportação para Excel e relatórios em SQL Server Reporting Services);
  • Notificar a equipe de desenvolvimento em caso de problemas de desempenho (através da criação de itens de trabalho do tipo  Bug).

scrshot2

Agora que esclarecemos que o VSTS Test Edition é a ferramenta que devo usar para fazer os testes de carga, vem a pergunta: para quê serve então o Test Load Agent?

Use o VSTS Test Load Agent para aumentar a quantidade de usuários virtuais dos seus testes

O VSTS Test Edition pode gerar tantos usuários virtuais quantos você quiser. O único limite será a capacidade do seu hardware. É difícil estimar quanta carga um determinado computador é capaz de gerar, porém eu arriscaria dizer que uma boa estação de desenvolvimento deve conseguir algo entre 500 e 1000 usuários virtuais (esse número pode variar muito dependendo do tipo de teste que você faz).

A fim de criar um estresse que simule as condições reais de uso de sua aplicação, pode ser que você precise simular mais do que 500 ou mil usuários virtuais – especialmente se você pretende colocar essa aplicação na internet. Nesse caso, você precisaria de mais computadores, trabalhando lado a lado com o seu, cada um deles executando parte dos usuários virtuais.

É aí que entra o Test Load Agent.

Com o Test Load Agent, você pode promover máquinas em sua rede a agentes de carga – dividindo a responsabilidade do trabalho com o computador onde está o Test Edition.

Assim, imaginemos o seguinte cenário:

  1. Preciso estressar uma aplicação web;
  2. Essa aplicação vai estar na internet;
  3. Espero uma carga de cinco mil usuários simultâneos;
  4. Nos primeiros testes executados pôde-se perceber que um computador consegue gerar no máximo mil usuários virtuais.

Para poder gerar a carga de cinco mil usuários você utiliza o Test Edition em conjunto com um ou mais computadores rodando o Test Load Agent para criar um conjunto de máquinas chamado de Test Rig. Test Rigs são o conjunto de um controlador e um ou mais agentes de teste de carga.

Uma outra distinção importante: testes de cargas executados a partir do Visual Studio estão limitados a um único core da minha máquina; o Load Agent, por outro lado, utiliza todos os cores. Como tipicamente o principal limitador na quantidade de usuários virtuais é a CPU, o Test Load Agente conseguiria gerar o dobro de usuário numa máquina dual-core, quando comparado com o Test Edition.

10 prosince

Palestra em Porto Alegre: SCRUM + VSTS

Para aqueles que puderem estar em Porto Alegre no dia 15/12/2008 e quiserem saber mais sobre gestão de projetos ágeis, SCRUM e sua integração com o Visual Studio Team System, não percam a palestra executada por um parceiro da Microsoft:

 

clip_image001

Inscreva-se por telefone ou email (disponíveis na figura acima).

Vale a pena começar a acompanhar mais de perto o modelo de gestão ágil oferecido pelo SCRUM. É um dos processos que tem uma das maiores taxas de adoção no mundo – e será suportado nativamente no VSTS 2010 através do novo modelo de processo VSTS Agile.

03 prosince

Treinamento de Visual Studio Team System para Parceiros Microsoft

Hoje de manhã tivemos um treinamento via LiveMeeting para parceiros Microsoft sobre VSTS.

image

Durante a apresentação prometemos compartilhar os materiais apresentados ao longo do treinamento. Assim, você encontrará abaixo dois PPTs que foram usados no treinamento:

 


Logo iremos postar também as perguntas e respostas da sessão do LiveMeeting que não ficaram registradas na gravação.

13 listopadu

Licenciamento do Team Build

Depois do meu post sobre a instalação do Visual Studio no servidor de build, recebi algumas perguntas a respeito. Resolvi aproveitar a deixa e esclarecer melhor o assunto de licenciamento. Lá vai:

  • Instalação de Team Editions no servidor 
    • Para executar testes unitários, análise de código e afins no servidor de build, é necessário ter a Team Edition correspondente instalada no servidor de build;
      • Ex.: Para análise de código durante o build, o servidor de build deve ter a Development Edition (ou Team Suite) instalada;
    • Não é necessário adquirir licenças adicionais das Team Editions para o(s) servidor(es) de build.
      • Basta que o usuário que cria o build esteja licenciado com a Team Edition correspondente. Com isso, ele tem o direito de instalá-la no(s) servidor(es);
    • Os usuários que apenas agendam/executam builds não precisam ter Team Editions.
      • Mesmo que o build inclua por exemplo análise de código, basta observar o item acima (criador do build deve estar licenciado)
  • · Licenciamento dos servidores de build 
    • Usuários do TFS podem instalar tantos servidores de build quantos quiserem. O Team Build é “gratuito”;
    • Não é necessário adquirir CALs para os servidores de build.

Se seu projeto tiver dependências em outros produtos como o Biztalk ou o SQL Server Reporting/Integration Services, precisará instalar suas versões developer (ou equivalentes).

Resumo da ópera: Se o cliente tiver comprado Team Editions para os profissionais responsáveis pela criação dos scripts de build, então não precisa de nenhuma licença adicional – nem mesmo CALs para os servidores de build.

Veja mais sobre o licenciamento do VSTS em  http://www.microsoft.com/downloads/details.aspx?FamilyID=1FA86E00-F0A3-4290-9DA9-6E0378A3A3C5&displaylang=en

 

Technorati Tags: ,,,