Compartilhar via


ALM - Test Manager - Criando e Executando Test Plans

Nesse artigo iremos ver como criar Test Plans, adicionar Suites, Test Cases e executar esses testes de maneira bem simples, sendo um cenário aplicável a grande parte das equipes de testes, onde iremos realizar algumas configurações para atender o nosso cenário.

Introdução

O Microsoft Test Manager (MTM) é a ferramenta de gerenciamento execução de testes da plataforma Visual Studio, e compõe a suite de ALM. Possibilita um total gerenciamento dos seus planos de testes, casos de testes, execuções de testes, etc. É uma ferramenta desenvolvida para os times de testes, para que esse time possa utilizar uma ferramenta mais simples que o Visual Studio, porém que atenda todas as suas necessidades e sem perder em termos de gama de possibilidades.

Cenário

Nesse artigo iremos utilizar um team project criado utilizando o Visual Studio Online, porém o que se aplica a ele se aplica também a versão on-premisses do TFS. Não veremos a criação do team project uma vez que não há nenhuma configuração especial necessária nesse momento e também para não sairmos do foco. Nosso cenário será basicamente a criação de um plano de testes para uma solução desenvolvida por uma fábrica de software terceirizada.

Vale ressaltar que iremos abordar a gestão e execução de testes com base em test cases já criados e não considerando o uso de builds e ambientes de Lab Management.

Microsoft Test Manager

Quando falamos em testes de software temos uma gama considerável de testes a serem realizados, desde testes exploratórios onde vamos descobrindo os possíveis cenários a medida que aprendemos a utilizar o produto indo até testes automatizados de interface. Dentro da plataforma Visual Studio o Microsoft Test Manager é a ferramenta utilizada para testes manuais, testes exploratórios e semi-automações (quando utilizamos o termo semi-automações estamos nos referindo a testes manuais que foram previamente executados e seus passos foram gravados, e que em uma próxima rodada de execuções não há a necessidade do testador executa-los simplesmente acompanhar sua execução. Além disso o MTM é a ferramenta utilizada para gerenciar e organizar laboratórios virtuais.

O MTM trabalha sempre conectado a um team project de forma que todos os artefatos por ele gerados são tratados como work itens dentro do TFS o que permite uma centralização dos dados de testes e uma total rastreabilidade dos testes com relação as features desenvolvidas ou por exemplo a builds gerados.

Criando um plano de testes no Microsoft Test Manager

Quando estamos trabalhando com o MTM nosso primeiro passo é selecionar em qual team project iremos nos conectar para isso precisamos ter nosso servidor de TFS configurado e possuir as devidas permissões no team project.

Imagem 1 – Selecionando o Team Project

Após nos conectarmos ao Team Project podemos seguir dois caminhos: nos conectar ao Testing Center que é um dos grande grupos do MTM ou ao Lab Center . No primeiro momento vamos nos conectar ao Testiing Center , mas para podermos nos conectar precisamos selecionar um Test Plan previamente criado ou criar um novo.* *Os Test Plans são agrupadores para os testes ou também podemos entende-los como grupos de testes que desejamos realizar (explicação para simples entendimento ok ? O conceito de Test Plan vai além) , podemos ter por exemplos Test Plans de desenvolvimento, de homologação, por release, por builds, etc. Cada um com seus test cases com suas features, etc.

Imagem 2 – Conectando ao Testing Center

Para criarmos um novo Test Plan iremos clicar na opção Add. Será solicitado que informemos o nome do Plan, a Area e a Interation. Nesse nosso cenário vamos criar um Test Plan  para a nossa Release 1 – nesse caso a Release 1 é uma das nossas iterations - e daremos o nome de Release 1.0. Após clicarmos no Add iremos selecionar a opção “Select Plan” .

Imagem 3 – Criando um Test Plan

Após selecionar o Test Plan  que iremos trabalhar teremos acesso ao conteúdo do Testing Center que será por onde iremos realizar todos os trabalhos referentes a planejamento, execução e organização do testes. Deste ponto em diante não iremos abordar de maneira sequêncial os menus, mas sim de uma forma que simule ao máximo um cenário do dia-a-dia.

Planejando nosso plano de testes

O primeiro passo que tomaremos é planejar o plano de testes: quais serão os testes envolvidos, quais serão as features envolvidas, quais serão as configurações que utilizaremos, etc. Se observarmos na tela aberta após criarmos nosso Test Plan podemos ver estamos no menu Plan dentro da opção Contents.

Imagem 4 – Tela inicial do Testing Center

Aqui iremos incluir novas suítes, novas features, novos test cases, etc. Podemos entender as suítes como organizadores para nossos Test Plan, com elas podemos separar nosso Test Plan por módulos, produto, etc. A suíte pode possuir outra suite dentro ou test cases ou features. No MTM possuimos dois tipos de suítes: a suite convencional na qual iremos adicionando os itens manualmente de forma hierárquica dentro dela e as su��tes baseadas em querys, onde temos a inclusão/remoção dos test cases de maneira automática de acordo com os filtro incluídos na consulta. Para incluir uma nova suite basta clicarmos na opção New.

Imagem 5 – Adicionando novas suites de testes

Temos vários pontos a serem analisados antes de decidirmos qual tipo de suite iremos utilizar: quando trabalhamos com suítes baseadas em querys temos uma “atualização” automática dos test cases por exemplo, porém esse é um ponto contra no caso de Test Plans de Releases onde já temos uma definição exata e inalterável do que queremos testar. O que é melhor utilizarmos ? Depende de cada cenário, a ideia aqui é apresentar as opções que temos.

Nesse primeiro momento iremos adicionar duas suítes convencionais e daremos os nomes de Web e Desktop. Podemos observar na Imagem 5 que ao lado da opção New temos a opção “Add Requirements”, quando estamos criando nosso plano de testes além de agrupar por suítes, podemos adicionar quais features do nosso produto iremos testar e então abaixo dessa feature dizer quais são os test cases. No nosso exemplo temos um requirement para o produto web e um para o produto desktop, para adiciona-los basta selecionar a suite e clicar em “Add Requirement” após isso será exibida uma tela para pesquisarmos os nossos worksitens de acordo com o que queremos, por padrão a consulta retorna os workitens no grupo de “Requirement Category” e que estão dentro da Area na qual criamos nosso Test Plan. Iremos adicionar os requirements nas determinadas suítes.

Imagem 6 – Inserindo requirements nas suites

Após selecionarmos quais os requirement que desejamos basta clicarmos em “Add requirement to test plan”.

Imagem 7 – Requirement adicionado no test suite

Agora que temos nossa estrutura quase pronta, basta adicionarmos os nossos test cases pré-existentes ou criar novos test cases, no nosso exemplo iremos adicionar test cases pré-existentes. Para isso vamos clicar no requirement em questão e clicar na opção “Add” que está na direita. Caso quiséssemos criar novos test cases iriamos clicar em “New”. Quando clicarmos em “Add” será exibido o formulário para configurarmos uma query para localizar os test cases que desejamos e assim adiciona-los no Test Plan clicando em “Add test cases”.

Imagem 8 – Adicionando Test Cases ao Test Plan

Após adicionarmos nossos test cases temos nosso Test Plan quase concluído, já que temos quais são os itens que queremos realizar, porém ainda temos algumas tarefas administrativas para realizar. Se observamos no menu da direita iremos identificar bem abaixo do nome do Test Suite uma opção de configuração, que estará exibindo as configurações de testes padrões. Essas configurações são configurações relacionadas a, por exemplo, qual navegador eu quero testar minha aplicação ? Qual banco de dados eu quero testar minha aplicação ? Para que o tester saiba exatamente eu qual ambiente executar o teste. Essas configurações podem ser definidas em todos os níveis do Test Plan até o test case, porém é altamente recomendado que deixemos a configuração sempre no nível mais alto (no caso o test plan). Para criarmos novas configurações de teste iremos até a aba Organize e selecionaremos a opção “Test Configuratoion Manager”.

Imagem 9 – Editando as configuration variables

Vamos criar um nova configuração para nossos testes, mas antes precisamos entender que, as configurações de testes são baseadas em “Configuration Variables” que são variáveis globais que representam aspectos dos nossos testes, por exemplo, Sistema operacional onde serão executados os testes ou como citado banco de dados , navegador, etc. Para gerenciar essas variáveis basta clicarmos em “Manage configuration variables”. Por padrão o TFS possuí as variáveis de Operation System e Browser, vamos incluir também uma nova variável chamada Database, e inserir os valores possíveis para essa variável.

Imagem 10 – Adicionando uma nova configuration variable

Após termos alterado as variáveis iremos criar novas configurações para nossos testes. Cada configuração combina as variáveis criadas para que possamos reproduzir os testes nos cenários na qual nosso produto é ou será homologado. Para ciarmos uma nova configuração basta clicarmos em “New” e a tela exibida para criarmos a configuração será semelhante a exibida na figura 11.

Imagem 11 – Criando uma nova configuração

Após criarmos nossa nova configuração, iremos voltar para a Aba Plan e alterar a configuração do nosso test plan para essa configuração criada. Lembrando que podemos possuir varias configurações e cada execução de testes será individual para cada configuração.

Imagem 12 – Alterando as configurações de teste

Feito isso temos nosso test configurado, e pronto para ser executado.

Executando testes

Feito isso temos condições de realizar nossos testes manuais. Para isso vamos até o menu Test e vamos clicar na opção “Run Tests”. Feito isso visualizaremos nossa hierarquia de test suítes (apenas as que contém test cases associados) pronta para ser executada.

Imagem 13 – Menu principal da execução de testes

Nesse ponto podemos optar por executar toda a suite (ou as sub-suites que criamos) ou executar test cases individuais ou apenas alguns test cases esporádicos. Para isso temos as opções Run tanto no menu da esquerda referente a suite na qual estamos selecionados e na direita para os test cases que selecionarmos.

Ainda na opção Run, temos a opção de simplesmente executar um test com a nossa aplicação ou apontar qual build dela estamos nos referindo. No nosso exemplo vamos apenas executar os testes de maneira convencional.

Quando clicarmos em Run uma janela será exibida que é a janela com os recursos do executor de testes, responsável pela execução dos testes.

Imagem 14 –Janela de execução dos testes

Nessa tela temos a opção de simplesmente executar os testes clicando em “Star Test” ou ainda de marcar a opção “Create Action Recording” para gravar os passos utilizados para a execução desse teste. Esses passos serão gravados e poderemos utiliza-los nas próximas execuções para não precisar executar manualmente todas as etapas (além disso a gravação dos testes manuais serve como base para futuras automações via CodedUI que é a automação de testes de interface). Vamos simplesmente clicar em “Start Test”. A partir desse momento temos nossa interface de execução de testes totalmente disponivel.

Imagem 15 – Janela de execução dos testes

Nela temos os passos criados no test case, onde o tester se guiara para execução dos testes. Para cada etapa podemos ter os parâmetros informados na criação do test case, além de resultados esperados para orientar o tester se o teste está atendendo os resultados esperados ou se o teste falhou. Na frente de cada step do teste temos uma opção para informar se a etapa foi concluída com sucesso ou se falhou. Caso a etapa falhe temos como comentar o motivo da falha.

Imagem 16  - Etapas do teste

Além disso temos a opção logo acima das etapas do teste de capturar um Screenshots da tela e esse será anexado ao test para consultas futuras. Além disso, como no nosso caso em que uma etapa falhou podemos criar um bug diretamente da ferramenta clicando na opção create bug. Quando criamos um bug via execução de teste, esse é automaticamente associado ao Test Case e os dados coletados até o momento (Screenshots, etapas que passaram ou que falharem , dados do ambiente) são inseridos no mesmo, o que gera uma maior assertividade para que for tratar esse bug.

Imagem 17 – Exemplo de detalhes do bug criado a partir de execução de teste

Após encerrarmos nossa execução basta clicarmos em “End iteration” e fecharmos a janela de execução para que voltemos para a tela anterior do MTM.

Acompanhando os resultados de cada test case

Para acompanharmos o andamento de cada test case, basta selecionarmos o mesmo na listagem a direita e clicar em “View Results”. Com isso conseguiremos identificar todas as vezes que esse test case foi executado, os Bugs associados, os anexos associados e dados importantes para a gestão desse teste.

Imagem 18 – Detalhes das execuções do test case

Conclusão

Com isso vimos como configurar basicamente um Test Plan, incluir os respectivos Test Cases e executa-los, colhendo dados e gerando possíveis bugs. A ideia não era aprofundar em configurações nem nada do gênero mas sim mostrar como fazer uma configuração básica aplicável a grande parte das equipes de testes.

Até a próxima.