BDD Conveniente: SpecFlow+TFS

Na internet, há muitos artigos sobre como usar o SpecFlow e configurar o TFS para rodar testes, mas não existe nenhum que aborde todos os aspectos. Neste artigo, explicarei como facilitar a execução e edição de cenários do SpecFlow para todos.

Abaixo, você descobrirá como obter:

  • Execução de testes a partir do TFS
  • Linkagem automática de cenários aos casos de teste no TFS
  • Conteúdo sempre atualizado dos casos de teste no TFS
  • Capacidade de editar cenários diretamente no sistema de controle de versão pelos testadores
    BDD Conveniente: SpecFlow+TFS

Antecedentes

Nos deparamos com a tarefa de automatizar o teste do aplicativo usando a abordagem BDD. Como o sistema principal de rastreamento de tarefas em nossa empresa é o TFS, visualizei que os passos do cenário do SpecFlow correspondem aos passos dos casos de teste no TFS, e a execução dos testes ocorre a partir dos planos de teste. A seguir, explicarei como implementei isso.

O que precisamos:

  1. Projeto com testes em SpecFlow
  2. Azure DevOps Server (também conhecido como Team Foundation Server)
  3. Ferramenta para sincronização de cenários do SpecFlow com casos de teste no TFS

Configuração

1. Criação de build do projeto com testes

Aqui é simples, build e publicação de artefatos. Falarei sobre a terceira tarefa com mais detalhes a seguir.

BDD Conveniente: SpecFlow+TFS

2. Criação de release para execução de testes

Criamos um release com uma tarefa — Visual Studio Test

BDD Conveniente: SpecFlow+TFS

Neste caso, a tarefa está configurada para executar testes manualmente a partir do plano de teste

BDD Conveniente: SpecFlow+TFS

3. Sincronização de casos de teste

Sabemos que o Visual Studio permite vincular métodos de teste a casos de teste no TFS e executá-los a partir dos planos de teste. Para não fazer isso manualmente, e também para sincronizar o conteúdo dos cenários, escrevi um simples aplicativo console FeatureSync. O princípio é simples — fazemos o parsing do arquivo feature e, com a ajuda da API do TFS, atualizamos os casos de teste.

Como usar o FeatureSync

Adicione o namespace e a localidade no cabeçalho do arquivo feature:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*o namespace deve coincidir com o nome do arquivo .dll que contém os métodos de teste

Criamos casos de teste vazios no TFS e adicionamos tags com seus ids aos cenários:

BDD Conveniente: SpecFlow+TFS

@2124573 @positivo
Cenário: Autorização bem-sucedida
    Dado que estou na página de autorização
    E eu digito:
        | Login | Senha |
        | usuário  | senha     |
    Quando eu pressiono o botão Login
    Então o navegador redireciona para a página inicial

Executamos o FeatureSync:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-seu-token-tfs-2d7sjwfbj7rzba

No nosso caso, a execução ocorre após a build do projeto com testes:

BDD Conveniente: SpecFlow+TFS

Resultado da sincronização

Os passos do cenário do SpecFlow foram sincronizados e o status de automação foi atualizado

BDD Conveniente: SpecFlow+TFS

BDD Conveniente: SpecFlow+TFS

4. Configuração do plano de teste

Criamos um plano de teste, adicionamos nossos casos de teste automatizados, nas configurações escolhemos a versão e a build.

BDD Conveniente: SpecFlow+TFS

BDD Conveniente: SpecFlow+TFS

5. Execução dos testes

Selecionamos o teste necessário no plano de teste e o executamos.

BDD Conveniente: SpecFlow+TFS

Conclusão

Vantagens dessa configuração:

  • qualquer testador pode abrir um arquivo de funcionalidade na interface web de controle de versões, editá-lo e as alterações entrarão em vigor imediatamente após a build.
  • é possível executar os testes a qualquer momento, individualmente.
  • modelo de teste transparente — sabemos sempre o que o teste que executamos está fazendo.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster