Tipos de Testes Possíveis com Visual Studio Testing Tools

Oi Pessoal,

no post de hoje vou falar sobre os tipos de testes que são suportados pela Visual Studio Testing Tools.

Acho que é importante dizer que o Visual Studio Testing Tools é um conjunto de ferramentas da família Visual Studio voltadas para teste de software.

Estas ferramentas são:

  • Microsoft Test Manager;
  • Visual Studio;
  • Visual Studio Team Foundation Server;
  • Visual Studio Lab Management;

Todas estas ferramentas estão disponíveis nas versões 2010 e 2012 da família Visual Studio.

Algumas pessoas podem dizer que na verdade o Team Foundation Server é um ferramenta de ALM, mas eu acredito que ele é um pouco mais que isso, e quando estamos falando de teste de software, ele é a ferramenta que possibilita a gestão de configuração do teste de software.

Bom, mas quais são os tipos de testes que posso executar utilizando o Visual Studio Testing Tools?

Abaixo irei relacionar alguns dos tipos de testes e quais ferramentas utilizar para alcançar cada objetivo:

Microsoft Test Manager


Ferramenta que permite o gerenciamento de alguns testes de sistema. O Test Manager é baseado em Planos de Teste e Casos de Testes. Através a criação destes, é possível a execução de uma série de testes. É importante lembrar que o Microsoft Test Manager não é uma ferramenta de automatização de testes, mas pode executar testes automatizados que foram gerados através do Visual Studio.



Tipos de Teste:

  • Testes de Interface Gráfica de Usuário (Manual e Automatizado);
  • Testes Funcionais (Manual e Automatizado);
  • Testes de Usabilidade (Manual baseado em uma heurística);
  • Testes de Fumaça (Manual e Automatizado);
  • Testes Exploratórios (Manual - Ele possui um tipo de Bug chamado "Bug Exploratório", esse tipo de Bug permite a criação de um Caso de Teste baseado em Script automaticamente);
  • Testes de Regressão (Manual e Automatizado - Usando o conceito de Build do Team Foundation Server, é possível relacionar um Plano de Teste a um novo Build, com isso, o Microsoft Test Manager irá propor testes que precisam ser executados, baseado no código alterado no último Build - Eu adoro essa funcionalidade!!!)
  • Testes de Acessebilidade (Manual baseado em uma heurística).

Visual Studio


 A ferramenta Visual Studio é conhecida por muitos como uma ferramenta de desenvolvimento de software, além disso, ela é uma ótima ferramenta para testadores, arquitetos etc. Por padrão, ela já dá suporte a TDD (Test Driven Developement) e possibilita a utilização de BDD (Behavior Driven Develoment) através do Add-in Specflow.

O mais bacana do Visual Studio é que tudo pode ser automatizado. Os tipos de testes possíveis com o Visual Studio permitem automatização e também vinculação com o Build gerado através do MS Build. Isso é muito legal, porque é possível modificar o Build Template para adicionar uma série de testes. Um exemplo de cenário de build:

1) Inicia o Build;
2) O build é compilado;
3) Todos os unit test (teste de unidade) da Solution são executados automaticamente;
4) Todos os testes de integração são executados automaticamente;
5) O MS Build faz deploy no ambiente de homogação;
6) Todos os Coded UI (teste de interface de usuário) Test são executados automaticamente no ambiente de homologação;
7) Testes de Carga são executados automaticamente no ambiente de homologação;
8) Testes de Segurança são executados automaticamente no ambiente de homologação;
9) O MS Build faz o deploy no ambiente produção.

Bonito né?!




Tipos de Teste:

  • Testes de Unidade (Manual e Automatizado);
  • Testes de Integração (Manaul e Automatizado);
  • TDD (não é um tipo de teste, mas sim um processo de desenvolvimento de software);
  • BDD (não é um tipo de teste, mas sim um processo de desenvolvimento de software);
  • Testes de Interface Gráfica de Usuário (Manual e Automatizado);
  • Testes Funcionais (Manual e Automatizado);  
  • Testes de Fumaça (Manual e Automatizado);
  • Testes de Desempenho (Somente para Web);
  • Testes de Carga (Somente para Web);
  • Testes de Stress (Somente para Web);
  • Testes de Recuperação (Somente para Web);
  • Spike Test (Somente para Web).

Visual Studio Team Foundation Server


A ferramenta Visual Studio Team Foundation Server é uma ferramenta de colaboração de times de desenvolvimento. Ela possui uma série de dimensões para contribuir para cada papel dentro de um time de desenvolvimento de software. Para testes, o TFS funciona como um repositório, permitindo que o Visual Studio e o Test Manager se conectem a eles para consumir os testes armazenados.

Por exemplo, no Microsoft Test Manager, quando é criado um caso de teste, na verdade, você está criando um WorkItem (item de trabalho) no Team Foundadion Server do tipo Test Case e quando você o executa, as informações relacionadas a cada execução do teste são salvas na base do TFS. Com isso, é possível compartilhar com todo o time as informações geradas a partir da execução de um caso de teste, e se, por exemplo, esse caso de teste gerou um falha, é possível gerar um Bug automaticamente utilizando as informações que tinham sido armazenadas anteriormente no test run.



Além disso, o TFS conta um uma base de dados no formato BI Cube (Cubo de Business Intelligence), dessa forma, é possível analisar a quantidade de testes executados x Bugs, histórias de usuário x testes x Bug, testes executados por testador, qualidade dos Builds gerados etc...

 O TFS não permite nenhum tipo de teste específico, porém, permite a adição de controle de ambientes de testes físicos e virtuais.

Utilizando Controladores de Testes (Test Controllers) e diversos agentes de testes (Test Agents) é possível executar remotamente testes na máquina de outro usuário e até mesmo em servidores.

Visual Studio Lab Management


A Visual Studio Lab Management é uma ferramenta de gerencimento de ambiente de testes virtuais. O mais bacana dela é permitir a criação de uma série de ambientes com máquinas virtuais para simular os mais diversos cenários.

Quando utilizada em conjunto com o Microsoft Test Manager é possível salvar o estado de uma máquina virtual em execução e vinculá-la a um Bug, dessa forma quando o desenvolvedor receber o Bug, a máquina virtual estará no mesmo estado no qual o Bug foi encontrado. (Aninal né?!).




 
Conclusão: As ferramentas de testes da Microsoft estão començando a aparecer no mercado brasileiro agora e eu acredito que no futuro, a maioria das equipes que desenvolvem em C# .NET irão utilizá-las, logo é um mercado bem grande que existe por ai!

Dúvidas? Publique nos comentários!

Abraços,

Alan.

Procurando uma empresa para lhe ajudar a migrar seus aplicativos para nuvem? Acesse: https://www.saguitech.com.br

Comentários

Postagens mais visitadas deste blog

[Tutorial] - Automatizando Testes com SAP e Visual Studio

[Tutorial] Executando Code Metrics com Visual Studio

[Tutorial] Automatizando testes com o Visual Studio Manualmente