Hands-on labs de ALM no Microsoft Technology Center

Nos dias 29, 30 e 31 de Janeiro tive a oportunidade de conduzir um Hands-on labs (HOL) para clientes e potenciais clientes de ALM da Microsoft no Microsoft Technology Center, uma espécie de showroom da Microsoft e único MTC na América Latina.

O evento foi muito bacana. Cada dia um conteúdo diferente, para um público diferente e para necessidades e desafios completamente diferentes. No primeiro dia falei para um público de Arquitetura, onde discutimos Planejamento Ágil, Estratégias de Branch / Merge, Storyboard, além de ferramentas para exploração de arquitetura e descoberta de código. No segundo dia, o foco foi o papel do Desenvolvedor e fizemos um deep dive no IntelliTrace (Debug e Produção), falamos de Unit Tests, TDD, MS Fakes e análise de código estático e no último dia, focamos nos Testadores e cobrimos o Test Manager de ponta a ponta, mostrando não só o planejamento e execução de testes manuais, como também sua integração com o Coded UI para automação de testes de interface.

Sem dúvida, 3 dias de muito aprendizado e de muita informação. Porém, não podíamos esquecer que estávamos no único showroom da Microsoft da América Latina, então aproveitei para levar o pessoal para conhecer o Envisioning Center, jogarmos Xbox com Kinect e fazermos muito networking. Uma experiência marcante, que precisa ser lembrada e repetida.

Ahhh, enquanto eu ralava, o bonitão aí fingia que trabalhava e posava para fotos J

E você? Gostaria de participar desta experiência? Entre em contato.

Abraços
André Dias

 

Vídeo: Teste Exploratório com Microsoft Test Manager 2012

Ano novo, blog novo, canal no Youtube novo e conteúdo novo sobre novas ferramentas. E nada melhor para estrear o canal no Youtube do que apresentar uma das funcionalidades mais fantásticas do Microsoft Test Manager 2012. A funcionalidade de Testes Exploratórios.

Imagine o seguinte cenário: Você chega para trabalhar e tem uma nova aplicação para testar. Quando você vai procurar os requisitos, você não os encontra. Você procura por casos de testes e nada. E aí? Bom, você consegue o telefone do Analista de Negócios, bate um papo rapidamente com ele, entende a dinâmica da aplicação e pronto. É isso que você tem de informação para planejar e realizar os seus testes.

É neste momento que a funcionalidade de Teste Exploratório se destaca. Ela permite que você comece a utilizar o Test Manager, porém sem a necessidade de ter um Plano de Teste formal, uma Suíte de Testes bem definida ou ainda Casos de Testes bem detalhados. Porém, você continua tendo todos os recursos como rastreabilidade, evidências, abertura de bugs de forma integrada e você tem ainda a possibilidade de gerar casos de testes a partir de um Bug encontrado. Sem dúvida uma ferramenta fantástica que é o sonho de consumo de qualquer testador.

Confira abaixo um vídeo bem curtinho de apenas 15 minutos onde todos esses recursos são explorados.

Abraços e até a próxima

MCSD ALM

Há algumas semanas, eu “twittei” sobre um convite que o time de MS Learning fez para pessoas que trabalham com Testes, TFS e ALM. O objetivo da pesquisa era saber se essas pessoas achavam importante ter uma certificação mais abrangente, que cobrisse não só especialidades em testes ou TFS, mas que cobrisse uma disciplina maior como o ALM, algo como já temos com as disciplinas de Web Development e Windows Development.

Respondi a pesquisa, aproveitei para fazer as 3 novas certificações de ALM e, na semana passada, para minha surpresa, acabei recebendo mais uma certificação “de brinde”. Quando fui conferir, era justamente o MCSD ALM, uma certificação mais abrangente, composta por 3 exames com focos em áreas diversas do ALM e, como eu já tinha feitos os exames obrigatórios, assim que a nova certificação saiu, já foi pro meu transcript 🙂

 

Os Exames

70-496 – Administering Visual Studio Team Foundation Server 2012

É, basicamente, uma atualização do 70-512, porém a prova exige bem mais do que era exigido no TFS 2010. Como a própria descrição do exame informa, não basta saber apenas TFS, uma vez que System Center, SharePoint, SQL Server, IIS, Reporting Services e TFS Service são assuntos bastante cobrados.

Não é permitido fazer comentário sobre as questões da prova, mas uma dica que eu dou é: power tools e interface visual nos ajudam muito no dia a dia, mas saiba administrar todo o TFS através de linha de comando. Vai fazer uma grande diferença.

70-497 – Software Testing with Visual Studio 2012

Essa prova não tem muito segredo, se você trabalha com o Test Manager no dia a dia, consegue fazer essa prova tranquilamente. Porém, não esqueça do Lab Center! Ele não é uma feature muito utilizada, mas também cai na prova.

70-498 – Delivering Continuous Value with Visual Studio 2012 Application Lifecycle Management

Agora meu amigo, prepare-se para esse exame. É uma prova que cai tudo de tudo, você precisa conhecer sobre Agile, Kanban, CMMi, Scrum, técnicas ágeis de engenharia de software, planejamento e gerenciamento de projetos, operações (infra), QA, enfim, é cobrado praticamente tudo dentro de ALM, uma prova que exige bastante. Boa sorte com ela!

 

Material de Estudo

Ainda não temos muito material de estudo para esses exames, mas vale a pena dar uma olhada no material abaixo:

Fora esses livros, recomendo também a leitura dos guias de instalação e administração do TFS e tudo o que estiver abaixo desse link no MSDN.

 

Outras informações

O valor de cada exame é de R$ 175,00 e a Microsoft está com um promoção de Second Shot, ou seja, se você não passar da primeira vez, pode refazer o exame sem nenhum custo adicional. Mais informações sobre o Second Shot, bem como sobre o novíssimo MCSD ALM podem ser encontradas no seguinte endereço: http://www.microsoft.com/learning/en/us/mcsd-application-lifecycle-management.aspx

 

Abraços e até a próxima,
André Dias

Por que assistir a trilha de ALM no TDC 2012?

Como vocês já devem saber, no período de 4 a 8 de Julho, teremos uma nova edição do TDC (The Developers Conference), um evento realizado anualmente pela GlobalCode, com 5 dias de duração, com 35 trilhas e 240 palestras cobrindo assuntos das mais diversas tribos. Sem dúvida, um dos maiores eventos de TI do país. Quer aprender sobre robótica, cloud computing, tv digital, games, .net, java, python, ruby, scala, isso mesmo, scala? Apareça por lá!

 The Developers Conference 2012, um evento organizado pela Globalcode

Com toda essa diversidade tecnológica, eu me sinto obrigado a dizer: Você precisa ir a esse evento. Mesmo que você seja um cara muito bom no que você faz atualmente, sem dúvida, você será iniciante em algum outro assunto e o TDC é um ótimo lugar para você conhecer pessoas e assuntos novos.

Minha recomendação? Se possível, vá todos os dias ao TDC, mas se você puder ir apenas um dia, vá na quinta-feira (05/07) e assista a trilha de ALM. Não acredita em mim? Vou listar alguns motivos e te convencer que você deve assistir essa trilha:

ALM vai te tornar um profissional melhor

No meu dia a dia, como consultor de ALM, eu preciso conversar com diversos perfis diferentes, entre eles: desenvolvedores, arquitetos, testadores, profissionais de infraestrutura, DBAs, analistas de negócio, de processo, gerentes, diretores e até CIOs. E não é só conversar, eu preciso entender quais são as suas necessidades, propor melhorias e fazer a coisa acontecer.

Não é um trabalho simples. Muitas vezes você precisa mexer na cultura e no processo da organização. Você precisa mudar a forma com que as pessoas trabalham e acho que você já consegue perceber o problema que é para um estranho chegar na empresa e dar “pitacos” no trabalho de todo mundo.

Será necessário discutir melhores técnicas ou ferramentas de qualidade com o testador. Em algum momento durante uma automação, você vai precisar de um acesso administrativo e o DBA ou o ITPro vai barrar e você vai precisar convencer esses caras, ou as vezes precisará convencer o chefe, do chefe, do chefe desses caras que isso vai trazer benefícios e não retirar poderes deles. Enfim, você terá que ter um conhecimento mínimo de todas essas áreas para conseguir o respeito dessas pessoas, afinal, linhas de código vão virar bolinhas verdes ou vermelhas no scorecard dos diretores e eles terão que confiar nessas informações para tomar decisões.

Neste momento, você deve estar com um destes sentimentos completamente antagônicos: ou você já desistiu da área de ALM, pois vai dar muito trabalho estudar esse monte de coisas ou está vendo um grande desafio e diversão por muitos anos.

ALM vai te dar diversão por vários anos

Pois é, eu escolhi a segunda opção e posso garantir que não há nada mais divertido que ser consultor de ALM. Cada dia em uma empresa diferente, cenários e culturas diferentes, pessoas, processos e ferramentas diferentes, mas todas com um problema em comum: elas querem se tornar empresas de software melhores e elas contam com você pra isso.

Eles vão olhar para você, contar os problemas e exigir uma solução. Com o tempo, você terá as soluções na ponta língua, mas em algum momento, vão pedir para você integrar a solução A, com a solução do concorrente e lá vai você estudar a solução do concorrente, e quando você achar que é o consultor ultra-mega-blaster, algum fornecedor vai mudar toda a pilha de produtos (a Microsoft costuma fazer isso a cada 2 anos) e te fazer estudar tudo de novo. Meu amigo, é desafio e diversão que não acaba mais

ALM vai te fazer ganhar bastante dinheiro

Obviamente, ninguém é masoquista e trabalha, por esporte, diversão ou amor a camisa, pelo menos não só por isso. Em algum momento, vamos querer alguma recompensa por todo esse esforço e, se vier de forma financeira, melhor ainda. E aqui vem a grande notícia…

…Meu amigo, pare e pense: se está difícil achar um programador sênior bom, imagine achar um consultor de ALM? Não precisa nem ser sênior, simplesmente você não acha! Ou a sua empresa forma alguém, ou “rouba” alguém do concorrente, paga peso de ouro e arruma um pouco de confusão para a sua empresa.

O mercado sabe disso, as empresas que trabalham com ALM sabem disso, e nada mais justo esse cara ganhar muito mais que qualquer dev sênior, afinal o cara tem que estudar o tempo todo, porém estudar várias disciplinas.

Neste momento, acredito que, se você ainda não está convencido, está no mínimo curioso para assistir a trilha de ALM do TDC e deixo aqui uma dica para você: Todas as empresas que palestrarão nesta trilha estão contratando, sem exceção. Até a Microsoft está com vaga para consultor de ALM e paga muito bem (pensando bem, nem tanto assim :-)). Caso você queira entrar nesse mundo, venha conversar conosco durante o evento.

Bom galera, é isso, eu quis passar um pouco da minha experiência para vocês e mostrar como essa área de ALM é promissora e porque você precisa assistir essa trilha no TDC.

Pra finalizar, só uma “puxadinha da sardinha” para o meu lado: Nós teremos duas trilhas de ALM no evento. Eu estou coordenando a trilha de Microsoft ALM, plataforma essa que foi eleita recentemente a melhor plataforma de ALM do mercado, segundo o Gartner. Então, fica aí a minha dica para você ir ao evento e assistir a trilha de Microsoft ALM, porém, tenho que comentar que em algum momento, você precisará conhecer boa parte das técnicas e ferramentas que serão abordadas na trilha de Open ALM. Portanto, caso você simpatize mais com essa plataforma, recomendo que a visite também, você aprenderá muita coisa útil para a sua carreira como consultor de ALM :-).

E aí, ficou convencido? Vai assistir a trilha de ALM? Deixe seu comentário abaixo!

Abraços e até a próxima.
André Dias

Tudo o que você precisa saber sobre testes no Visual Studio – Parte 3

Dando continuidade à série de vídeos sobre testes com o Visual Studio 2010, acabamos de publicar a 3a. parte na Lambda3 TV. Neste terceiro episódio, abordamos os seguintes assuntos:

  • Microsoft Test Manager
    • Criação e configuração de planos de teste
    • Criação de test suites a partir de user stories
    • Criação de casos de teste
    • Execução de casos de testes com o test runner
    • Criação de casos de teste com diferentes configurações de browser
    • Execução de Casos de Testes utilizando FireFox
    • Geração de bugs a partir do test runner
    • Anexo automático de evidências como vídeos, screenshots, Intellitrace, event log e system information nos bugs.
    • Gerenciamento de bugs e casos de testes
    • Identificação e verificação de bugs corrigidos
    • Identificação e re-teste de casos de testes impactados
    • Criação de casos de teste com fonte de dados (parâmetros)
    • Databind de casos de teste com a aplicação
    • Execução de casos de testes com parâmetros diferentes
  • Coded UI
    • Geração de teste automatizado a partir de um caso de teste do Test Manager
    • Inclusão de assertions
    • Geração de código de teste do zero
    • Execução de um caso de teste complexo (cenário de compra de produto)
  • Build (apenas utilização)
    • Integração Contínua
    • Deployment automático no IIS

Se você perdeu os últimos dois episódios, não deixe de acessá-los:

Abraços e até a próxima
André Dias

Vale a pena utilizar o Team Build?

Ontem, eu respondi uma dúvida no grupo de discussão do ALM Brasil e vou replicá-la aqui, pois acredito que possa ajudar outras pessoas com a mesma necessidade.

A pergunta foi: “Quais são as vantagens de fazer a build no Team Build em vez do Visual Studio?”. Bom, vamos à resposta:

  1. Independência de pessoas e de estações de desenvolvimento
    • Qualquer pessoa com permissão pode gerar a build com apenas um click. Você não fica dependendo de apenas uma pessoa que já tem a máquina configurada para gerar a build;
  2. Melhora o gerenciamento de dependências
    • É muito comum o código compilar na máquina do desenvolvedor, mas quando vai para o servidor de build, não funciona de jeito nenhum. Isso normalmente ocorre devido a um gerenciamento de dependências ruim;
    • Como o servidor de build é uma máquina independente e ele compila o código que está no source control, se a sua estratégia de versionamento não gerenciar as dependências corretamente, o servidor de build dificilmente conseguirá compilar a sua aplicação, ou seja, ele te forçará a trabalhar direito;
    • Outro ganho que você terá aqui, é que sempre que um programador novo entrar no seu time, a chance dele fazer um get latest version no projeto e compilar de primeira será altíssima;
  3. Integração Contínua
    • A cada check-in você poderá:
      1. Executar testes de automatizados (inclusive de UI) garantindo que as funcionalidades existentes não sejam quebradas (teste de regressão);
      2. Ligar o Code Coverage e saber o percentual de código que os testes estão cobrindo;
      3. Validar a arquitetura da sua aplicação e garantir, por exemplo, que a camada de apresentação não faça acesso direto ao banco de dados;
      4. Execução de análise de código estática;
  4. Relatórios
    • Diversos relatórios cruzando informações sobre qualidade, build e bugs são gerados automaticamente pelo simples fato de você utilizar o Team Build;
  5. Políticas de check-in
    • Você pode impedir que o programador envie um código para o controlador de versão caso a build esteja quebrada. Isso evita que uma build ruim, fique ainda pior;
  6. Notificação por e-mail
    • Seu time pode ser avisado toda vez que uma build for executada, falhar ou mesmo ser promovida para ambientes de homologação / produção;
  7. Agendamento de Builds
    • Com esse recurso, você pode usar a prática de build noturna e, com isso, quando o programador chegar para trabalhar pela manhã, já saberá se a build está estável ou se tem algo para corrigir do dia anterior;
  8. Gated Check-in
    • Recurso muito bacana que permite rejeitar o check-in do programador caso a build falhe, seja por problemas de compilação, testes, arquitetura ou qualquer outro motivo.
  9. Automação de Deployment
    • Você pode estender o Team Build para usar frameworks como o MSBuild e MSDeploy para implantar o seu site em homologação/produção e atualizar o seu banco de dados com apenas um click;
  10. Rastreabilidade
    • Toda vez que você gera uma build, o Team Build automaticamente identifica e associa as changesets, work items e outros artefatos com a build. Com isso, você consegue ter uma rastreabilidade entre requisitos, código fonte, build e resultados de testes e consequentemente passa a atender práticas de Gerenciamento de Configuração requeridas pelo CMMi,  MPS.br e ITIL;
  11. Integração com o Microsoft Test Manager
    • Se você utilizar o MTM, o seu tester, assim que identificar que uma nova build foi gerada, saberá quais BUGs ele precisa verificar e quais planos de testes foram afetados e precisam ser retestados;
  12. Gerenciamento de Builds
    • A partir  de um console de gerenciamento, você consegue saber quais builds estão em ambientes de homologação, produção, etc;
  13. Aplicação de label automática;
    • Você não precisa se preocupar em aplicar labels no seu código fonte. O team build já faz isso para você e caso você queira alterar um código que está em produção, basta criar uma branch da label que o Team Build gerou;
  14. Totalmente extensível
    • Se nada disso acima te atender, você pode ir além e estender o workflow, eventos, e tudo mais que você imaginar;

E aí? Depois de tudo isso, você ainda vai fazer “build” no F5?

Abraços
André Dias

Resumo Semanal de ALM – 23/02/2012

Somasegar, VP da Developer Division, anuncia que o beta do Visual Studio 11 e do .NET Framework 4.5 será liberado no próximo dia 29/02 com licença “Go-Live”, isto é, pode ir pra produção com suporte da Microsoft.

Demorou, mas o meu pedido de longa data foi atendido. Finalmente teremos um TFS Express totalmente free! Essa versão do TFS oferecerá recursos como Source Control, Build, Work Items e Agile Taskboard para até 5 usuários.

Se você tem o Visual Studio instalado em sua máquina e a empresa tem a assinatura do MSDN, não deixe de pedir ao responsável pelas assinaturas para atribuir uma delas a você. Dependendo de sua assinatura, você terá horas gratuitas de Azure, treinamentos gratuitos, chamados a suporte gratuito, além de acesso a Office, Project, Visio entre outros produtos.

Se você está usando a máquina virtual do Brian Keller com o Visual Studio 11 Developer Preview, o SQL Server Denalli Express (SQL Server 2012) vai expirar essa semana. Neste post, Brian explicar como corrigir o problema. (É bastante simples).

Nesta semana, o MVP de ALM, Marcelo Azuma, deu uma grande dica quando indicou o site do Grantt Holliday com todos os services packs e hotfixes que você deveria instalar em seu TFS, Visual Studio, SQL Server, SharePoint e todos os outros produtos que compõe a plataforma de ALM da Microsoft. Sem dúvida, um post para manter nos favoritos.

Neno Loje, MVP e ALM Ranger, apresenta duas soluções para alterar a porta do SMTP do TFS.

Por volta de Setembro/2011, vários tutoriais foram publicados no Channel9 para demonstrar o TFS Preview, o TFS na Nuvem da Microsoft. Como já passou algum tempo e o produto evoluiu bastante, todos os vídeos foram regravados e agora estão utilizando a versão mais recente do produto. Se você não viu, veja agora, se já viu veja novamente!

Abraços e até a próxima.
André Dias

Tudo o que você precisa saber sobre testes no Visual Studio – Parte 2

Dando continuidade à série de vídeos sobre testes com o Visual Studio 2010, acabamos de publicar a 2a. parte na Lambda3 TV. Neste segundo episódio, abordamos os seguintes assuntos:

  • Testes de Métodos Privados
    • PrivateObject
    • PrivateType
  • Asserts
    • Assert
    • CollectionAssert
    • StringAssert
  • TraceContext
  • Atributos Inicialização/Finalização
    • [AssemblyInitialize]
    • [AssemblyCleanup]
    • [ClassInitialize]
    • [ClassCleanup]
    • [TestInitialize]
    • [TestCleanup]
  • Ordered Test
  • TDD (Test Driven Development)
  • Refactoring

Se você perdeu o episódio anterior, não deixe de assistí-lo.

Gostaria de ver outros assuntos sobre testes ou algum outro conteúdo completamente diferente? Deixe seu comentário abaixo.

Até a próxima,
André Dias

Como mostrar o “Display Name” ao invés do “Username” no Source Control do TFS

Recentemente, fui questionado por um cliente sobre como fazer o source control do TFS mostrar o nome do usuário ao invés do login em janelas como Pending Changes, View History, etc. No início, achei a pergunta bastante estranha, porém, assim que vi o problema, eu pude entender a dor do cliente.

Podemos dizer que o TFS tem uma “inconsistência de usabilidade” entre os componentes de Source Control e Work Item. Isso por que enquanto o Source Control apresenta o login dos usuários que fizeram determinadas ações, os Works Items utilizam o campo Display Name do AD (Active Directory) que normalmente é um nome muito mais legível.

Em grande parte dos clientes isso não é perceptível, porém alguns clientes acabam utilizando códigos como usernames, por exemplo o número de matrícula (M787878). Imagine que informação útil saber que o usuário M787878 fez aquele check-in que você tanto procurava.

Enfim, fui pesquisar se era possível mostrar o Display Name ao invés do login do usuário e me deparei com um “BUG” no Connect. Basicamente, temos um usuário como esse mesmo problema e uma informação do Brian Harry, um dos pais do TFS, dizendo que esse é um pedido antigo, porém que estava com prioridade baixa e que já está sendo corrigido na próxima versão do TFS, provavelmente o TFS 2012.

Com isso a resposta por enquanto é: “Não dá pra fazer isso agora, mas na próxima versão do produto será possível”. Vamos aguardar!

Abraços e até a próxima,
André Dias

Tudo o que você precisa saber sobre testes no Visual Studio – Parte 1

Acabamos de inaugurar mais um canal de comunicação entre a Lambda3 e a comunidade, a Lambda3 TV. Trata-se de um canal no YouTube, onde iremos publicar não só conteúdo técnico, mas também treinamentos gratuitos, entrevistas entre outros conteúdos relevantes para a comunidade.

Para inaugurar este canal, acabei de publicar um vídeo que faz parte de uma série onde falarei sobre diversas ferramentas e frameworks de testes que estão presentes na plataforma Visual Studio ALM. Confira:

 

Abraços e até a próxima,
André Dias