ALM – Quem São os ALM Rangers?

Introdução

O ALM Rangers são um grupo de especialistas que promovem a colaboração entre os grupos de produtos do Visual Studio, o Microsoft Services e a comunidade MVP (Microsoft Most Valuable Professional) publicando as melhores práticas, idéias, ferramentas, indicações de melhorias, ajudando toda a comunidade técnica.

image

Missão do ALM Rangers

Fornecer orientação profissional, experiência prática e soluções preenchendo lacunas para a comunidade ALM.

image

Integrantes do ALM Rangers

Clique aqui para conhecer os integrantes desse incrível time.

Papéis e Responsabilidades do ALM Rangers

O time do ALM Rangers é extremamente organizado, com papéis definidos, processos, responsabilidades e objetivos.

image

Conheça toda a estrutura clicando aqui.

image

image

Soluções, Guias e Ferramentas

Dos diversos trabalhos realizados pelo time, destacamos:

Guia Controle de Versão (Branching e Merging)

Ferramenta de Extração Efetiva de Permissão do Team Foundation Server

Guia – Configurando Códigos para Práticas de DevOps e ALM

Guia de Atualização do Team Foundation Server

Blog e Página

Conheça o Blog do Willy Schaub sobre o ALM Rangers e conheça também a página do Codeplex onde o material do ALM Rangers é divulgado.

Operações – Como Montar uma Base de Conhecimento (Dicas)

Olá Pessoal!

Há alguns posts atrás escrevi como montar uma Base de Conhecimento, dando dicas, exemplo e ferramentas.

Para completar esse post, criei duas apresentações, uma abordando o tema, com mais dicas, exemplos, fluxos e uma outra apresentação explanando na prática como usar a ferramenta da Microsoft o Sharepoint Server e seu sistema Wiki para montar a sua tão sonhada base de conhecimento, inclusive inserindo:

– Tags

– Palavras Chaves

– Formulários de Feedback

– Pesquisa de Artigos

– Artigos Populares

– Artigos Indicados

– Classificação dos Posts

e muito mais. E de forma fácil e intuitiva.

A Base de Conhecimento pode ser usado em:

Operações de TI

– Área de Informações de procedimentos, manuais, documentos, com versionamentos, controles de ativos (IC);

– Fluxos de aprovações, controle de tarefas, blogs de dicas de TI;

– Atender os requisitos de uma ISO ou outra norma como Versionamento de Documentos, Divulgação de Informações, Controle de IC, Base de Conhecimento, Gestão do Conhecimento, entre outros;

– Armazenamento de Projetos, informações de clientes, informações de ambientes, sistemas, contatos, entre outros;

– Ferramenta para apoio na criação de um Help Desk;

ALM (Application Lifecycle Management)

– Em sua Gestão de Configuração, armazenando seus ativos de imagens, documentos (em formato Wiki), versionamento de documentos, fluxos de aprovação, entre outras atividades inerentes ao GC;

– Integração com seu Team Foundation Server para os sites de Coleções de Projetos;

– Use o sistema do Sharepoint para escrever seus documentos, manuais e dicas usando os sistemas de Wiki e Blog que são extremamente colaborativos e intuitivos;

– Dicas, informações de forma colaborativa para Testadores, Desenvolvedores, Arquitetos, Analistas, de ambientes, fluxos, dicas técnicas (um local central de informação);

– Divulgação de informações a todos da empresa;

Então aproveitem bem!

Artigo: Como Montar uma Base de Conhecimento

Apresentação 01 – Como Montar uma Base de Conhecimento

Apresentação 02 – Ferramentas e Passo a Passo para a Montagem da Base de Conhecimento

ALM – Microsoft Test Manager–MTM Copy Tool

Olá Pessoal!

Inspirado na publicação do Vinicius Moura (ALM – Lambda3), resolvi escrever esse post sobre a ferramenta MTM Copy Tool.

Essa ferramenta possibilidade você realizar cópias de Suites de Testes entre Coleções de Projetos! Alegre

Requisitos

Caso você não possua o TFS 2012, precisa instalar o Team Explorer 2012.

Team Explorer 2012: http://www.microsoft.com/en-us/download/details.aspx?id=30656

image

– Download da Ferramenta

Entre no site do Codeplex e realize o download da ferramenta.

http://mtmcopytool.codeplex.com/

image

Em seguida extraia ela em algum local de seu computador. Depois execute TestCaseCopyTool.exe.

image

Abrirá a janela abaixo. Conecte em seu projeto e realize o clone da suite para o projeto que desejar!

image

image

No meu exemplo, vou copiar um caso de teste do meu Projeto no TFS 2013 (on premisses) para meu TFS no Visual Studio Online.

Passo 1

Seleciono meu Team Foundation Server;

Seleciono o Projeto;

Passo 2

Seleciono meu Team Foundation Server (Online);

Seleciono meu Projeto.

Seleciono os Casos de Testes;

Passo 3

Crio um plano de testes ou selecione um do meu projeto destino;

Clico em Start Migration;

image

image

Depois, veja na Query do Visual Studio, ou Online!

image

image

 

– Referências e Maiores Informações

MTM Copy Tool – Codeplex

Um forte abraço!

Alan Carlos
Technet Wiki Ninja

ALM–Assinatura Digital de Softwares – Assinatura Digital de Código x Assinatura com Nomes Fortes

Olá Pessoal!

Segue ótimo post escrito pelo Clayton Zambon sobre Assinatura Digital de Software.

Assinatura Digital de Código

É utilizado por empresas e desenvolvedores, para assinar digitalmente os softwares que eles distribuem para seus clientes ou pela Internet. Esta assinatura inclui o nome do desenvolvedor (empresa) protegendo contra injeção de malwares ou outros tipos de corrupções de código. Esta Assinatura de Código fornece aos clientes a mesma segurança e garantia de um software embalado que é vendido em lojas físicas.

Para realizar a Assinatura de Código a Empresa ou desenvolvedor necessita ter um Certificado Digital destinado a realizar a Assinatura de Código.

Assinatura com Nomes Fortes

São usadas ​​para verificar a integridade dos dados que estão sendo passados ​​do autor (o assinante) para um destinatário (o verificador). As assinaturas são geradas e verificadas usando criptografia de chave pública. O signatário de uma mensagem tem um par de chaves criptográficas: uma chave pública, que todo mundo sabe, e uma chave privada, que é mantida em segredo pelo signatário. O verificador só conhece a chave pública, que é usado para verificar se o signatário sabia que a chave privada e a mensagem.

Em alguns casos, quando alguma infra-estrutura adicional está no lugar, as assinaturas digitais podem também ser usadas ​​para aprender com fiabilidade o nome do signatário, e para assegurar um bloco de dados (de uma mensagem, um código, ou assim por diante) não tenha sido modificado depois o assinante criado a assinatura para os dados.

Vários mecanismos são utilizados para implementar assinaturas digitais. A implementação atual de fortes nomes do NET Framework. conta com o algoritmo de chave pública RSA e o algoritmo de hash SHA-1.

Os nomes fortes oferecem um mecanismo poderoso para dar aos assemblys do .NET Framework identidades únicas. O nome forte para um conjunto é composto por cinco partes: uma chave pública, um nome simples, uma versão, uma cultura opcional, e uma arquitetura de processador opcional. A chave pública é uma chave pública RSA. O nome simples é apenas um texto de cadeia, geralmente o nome do arquivo (sem a extensão) que contém o assembly. A versão é um número de versão de quatro partes, sob a forma de Principal.Secundária.Compilação.Revisão (por exemplo, 1.0.0.1).

Fonte: http://msdn.microsoft.com/en-us/magazine/cc163583.aspx

Assinatura de Código

Como verifico se o arquivo possui Assinatura de Código?

No Windows, basta clicar com o botão direito do mouse sobre o arquivo e escolher a opção Propriedades. Na tela que é exibida verifique se é exibida a aba Assinatura Digitais, selecione esta aba e será a lista de assinaturas, caso o arquivo possuía Assinatura de Código existirá na lista no mínimo um Certificado Digital sendo possível visualizá-lo.

Veja no print abaixo a demonstração da assinatura de código contida na DLL AspNetMMCExt.dll presente no diretório C:\Windows\Microsoft.NET\assembly\GAC_MSIL\AspNetMMCExt\v4.0_4.0.0.0__b03f5f7f11d50a3a

clip_image002

Como verifico se o meu Certificado Digital tem a atribuição para Assinar Códigos?

No Windows, basta abrir o console onde ficam armazenados os Certificados digitais digitando MMC em Executar. Escolha o Certificado Digital que deseja verificar e dê um duplo clique sobre o arquivo. Será exibida a tela do Certificado Digital e na aba geral deve ter uma frase informando que o Certificado Digital, garante qie o software provenha do editor de software. Veja no Print abaixo a tela que é apresentada e como é exibida a mensagem:

clip_image004

Onde compro um Certificado Digital de Código?

Há diversas empresas que vendem certificados digitais de código, como por exemplo a GoDaddy.

http://br.godaddy.com/ssl/code-signing-certificate.aspx?ci=87235

Possuindo o Certificado Digital correto, como eu assino digitalmente um arquivo?

Para assinar um arquivo digitalmente no Microsoft Windows, a Empresa ou desenvolvedor pode utilizar a ferramenta SignTool. Esta ferramenta é instalada juntamente com a IDE de programação do Visual Studio mas também pode ser adquirida via download pelo KIT SDK Microsoft Windows.

Possuindo a Ferramenta SignTool você pode tanto verificar se um arquivo está assinado, quanto assinar arquivos digitalmente.

Para verificar se um arquivo está assinado digitalmente basta utilizar o comando abaixo:

Signtool verify C:\diretoriodoarquivo\<arquivo>.exe

Para verificar se uma DLL está assinada digitalmente basta utilizar o comando abaixo:

Signtool verify /a C:\diretoriodaDLL\<arquivoDLL>.dll

Para assinar digitalmente um arquivo ou DLL basta utilizar o comando abaixo:

Signtool sign /f <CertificadoDaEmpresa>.pfx /p <password> C:\diretoriodoarquivo\<arquivoDLLouEXE>.exe

Caso o Certificado digital não possua senha, basta omitir o parâmetro /p.

Uma dica legal é utilizar o parâmetro /debug nas verificações de assinaturas, pois esta opção lista de forma detalhada o certificado digital que está sendo utilizado, então o comando ficaria da seguinte forma:

Signtool verify /debug /a C:\diretoriodaDLL\<arquivoDLL>.dll

Maiores detalhes e parâmetros da ferramenta SignTool podem ser consultados no site http://msdn.microsoft.com/pt-br/library/8s9b9yaz(v=vs.110).aspx

Caso você esteja tentado assinar algum arquivo ou DLL e a mensagem “Signtool Error: No certificates were found that met all the given criteria.” sempre é exibida, significa que o Certificado Digital que está sendo utilizado para a assinatura, não possui os requisitos necessários para efetuar a Assinatura de Código.

Veja abaixo a comparação entre dois certificados digitais, um é utilizado apenas para assinatura digital de documentos eletrônicos e o outro é utilizado para Assinatura de Códigos.

Certificado Digital utilizado para assinatura de documentos eletrônicos

clip_image006

Certificado Digital utilizado para Assinatura de Códigos

clip_image007

Assinatura com Nomes Fortes

Porque usar Assinatura com Nomes Fortes?

Os nomes fortes impedem a duplicação de seu código por um terceiro (que, é claro, desde que você mantenha a chave privada segura). Como mencionado, o NET Framework. Verifica a assinatura ou ao carregar a montagem ou ao instalá-lo no GAC. Sem acesso à chave privada, um usuário mal-intencionado não pode modificar seu código e sucesso reassiná-lo.

Vantagens e pontos a serem observados

Assinatura de nome forte é uma boa ideia para a maioria das aplicações, especialmente aqueles que são implantados através de uma rede ou qualquer outro meio não totalmente controlado pelo implementador. Os anti-spoofing e anti-adulteração benefícios são muito valiosos. No entanto, existem alguns desafios a ter em conta quando se usa assinatura de nome forte.

Em primeiro lugar, todos os assemblys referenciados por um assembly fortemente nomeado também devem ser fortemente nomeados. Se referenciarmos um assembly escrito por terceiros que não for assinado com nome forte, não poderemos assinar com nome forte o nosso assembly.

Fonte:

http://msdn.microsoft.com/en-us/magazine/cc163583.aspx

Como gerar um Assembly assinado com nome forte

Existem outras formas de realizar a Assinatura de Nomes Fortes em arquivos ou DLLs porém descrevo abaixo a mais simples e prática de ser executada.

Utilizando o prompt de comando do Visual Studio 2013 vamos utilizar a ferramenta Strong Name Tool (Sn.exe) para gerar um par de chaves pública/privada. Execute os passos abaixo:

1º Passo: abra o prompt de comando do Visual Studio 2013;

2º Passo: no prompt que é aberto execute o seguinte comando: sn –k <NomeDoArquivo>.snk

3º Passo: Após executar o comando, será criado o arquivo <NomeDoArquivo>.snk no diretório C:\Program Files (x86)\Microsoft Visual Studio 12.0;

4º Passo: copie o arquivo .snk para a pasta onde está localizado o projeto Assembly;

5º Passo: adicione o atributo [assembly: AssemblyKeyFileAttribute(“NomeDoArquivo.snk”)] no arquivo de código fonte AssemblyInfo.cs;

6º Passo: por fim, compile o arquivo de código-fonte.

Prompt de Comando do Visual Studio 2013

clip_image009

Local onde é gerado o arquivo .snk

clip_image011

Arquivo do código-fonte onde deve ser inserido o atributo.

clip_image013

Fonte:

http://msdn.microsoft.com/pt-br/library/xc31ft41%28v=vs.110%29.aspx

ALM – Usando o Microsoft AppInsights – Análise de Performance

Olá Pessoal,

Participei do evento na Microsoft Visual Studio Summit e tive o prazer de ver a palestra do T-Shotter, que demonstrou a mais nova ferramenta da Microsoft, o AppInsights!

O que é o Microsoft Application Insights ou “AppInsights”?

É uma ferramenta de análise de aplicações Web e Móveis que tem como objetivo ajudar o desenvolvedor a monitorar suas aplicações, independente de onde estejam instaladas, como celulares, tablets, televisores, servidores, em qualquer parte do mundo. Com essa poderosa ferramenta, você poderá avaliar como seu aplicativo está se comportando nos tablets espalhados pelo mundo, quais as funcionalidades mais usadas, quais as funcionalidades menos usadas, quais os navegadores mais utilizados para acessarem sua aplicação, entre outros recursos.

Como funciona?

Dependendo das funcionalidades que você deseja, você deverá configurar de determinada forma, desde um simples monitoramento por ping até uma instrumentações no seu código-fonte para acompanhamento das funcionalidades mais usadas.

Quanto custa?

Por enquanto a versão é Preview, pode sofrer alterações significativas, mas é gratuita (por enquanto!)

Configurando Análise de Performance

Antes de começar, leia esse artigo ALM – Usando o Microsoft AppInsights – Configurando

Com o AppInsights é possível configurar uma análise de performance e acompanhar o desempenho de seu servidor e aplicação. Para isso, execute os pasos abaixo:

– Adicione sua aplicação:

image

image

 

– Realize o download do arquivo ApplicationInsights.config no site.

image

Depois, insira esse arquivo no diretório Web do IIS da sua aplicação .NET. Por exemplo: C:\Inetpub\Meu Site

image

Em seguida, realize o download e instale o agente em seu servidor.

image

Em seguida, instale o requisito Scripts e Ferramentas do IIS e .NET Framework 3.5.

Para o IIS 6.0, clique aqui.

Para o IIS 7.0 ou superior, instale a partir do adicionar/remover programas.

 

image

image

Nessa tela, você pode escolher para onde enviar os logs (AppInsights) e também para o Operation Manager!

image

image

image

Depois acesse sua Dashboard no Visual Studio Online e a configure.

image

image

image

Pronto! Aguarde a coleta dos dados que varia de 05 a 10 minutos e realize o acompanhamento de seu servidor e aplicação.

Espero que ajude!

Alan Carlos

Séries ALM – Preparando-se para o Exame 70-497 – Software Testing with Visual Studio 2012

Olá Pessoal,

Voltei depois de alguns dias de descanso e entro em um assunto bem interessante que é sobre a certificação MCSD – Application Lifecycle Management. Um certificação que está “bombando” no mercado de tecnologia e hoje acredito que é um programa muito bem acertado pela Microsoft para gerar um especialista em ALM. Com essa certificação você conseguirá gerir todo Team Foundation Server que é o melhor sistema de Gestão de Ciclo de Vida de Aplicativo, o Microsoft Test Manager que é uma poderosa ferramenta e gerenciamento de testes de software e o Visual Studio que dispensa comentários.

Na minha visão essa certificação vale para Gestores de Desenvolvimento, Gestor de Configuração, SQA, Engenheiros, Desenvolvedores (Testadores e Programadores), Lideres de Equipes.

Já postei anteriormente sobre o exame 70-496, que pode ser lido aqui.

Composição:

Exame composto por aproximadamente 46 questões, sendo que temos aproximadamente duas horas (tempo suficiente) para realizar esse exame. A Microsoft disponibiliza no site dela as informações sobre o que irá cair, conforme o link abaixo:

http://www.microsoft.com/learning/en-us/exam-70-497.aspx

Esse exame tem em inglês e também em português e seu custo é de R$ 175,00. E estamos novamente na época maravilhosa do Second Shot da Microsoft onde temos a possibilidade de realizar o exame novamente caso não passemos na primeira prova.

Segue link da requisição do second-shot: http://bsf01.com/Microsoft_Vouchers/SecondShot.aspx

Sugestão 01: Façam a prova em inglês de preferência, pois em português as traduções atrapalham bastante devido a estarmos aconstumados com a tela em inglês. Foi meu caso, bombei no primeiro exame devido as dúvidas que eu tinha na tradução feita.

Sugestão 02: Cuidado pois a prova está misturando telas do MTM 2010 e 2012 e até coisas do 2013, fiquem de olho e estudem nos links de apoio as 03 versões.

Material de Estudo:

Nesse caso sugiro que vocês assistam 03 à 04 vezes o MVA abaixo:

http://www.microsoftvirtualacademy.com/training-courses/visual-studio-para-teste-de-software#?fbid=ua-_EZwZ8eu

Vendo esse MVA, realize em conjunto testes usando o ambiente disponibilidade pelo Brian Keller (Visual Studio) para que você simule as situações de gestão do Team Foundation Server e aplique as dicas do MVA feito pelo André Dias para que você consiga obter êxito.

Ambiente de Estudo:

Ambiente de virtualização do Brian Keller:http://blogs.msdn.com/b/briankel/archive/2011/09/16/visual-studio-11-application-lifecycle-management-virtual-machine-and-hands-on-labs-demo-scripts.aspx

Link de Apoio (MSDN):

MTM 2013

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

MTM 2012

http://msdn.microsoft.com/pt-br/library/jj635157(v=vs.110).aspx

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