BDD conveniente: SpecFlow + TFS

Existem muitos artigos na Internet sobre como usar o SpecFlow, como configurar o TFS para executar testes, mas não existe nenhum que contenha todos os aspectos. Neste artigo, direi como você pode tornar o lançamento e a edição de scripts SpecFlow conveniente para todos.

Abaixo do corte você aprenderá como conseguir:

  • Executando testes do TFS
  • Vinculação automática de scripts a casos de teste no TFS
  • Conteúdo sempre atualizado de casos de teste no TFS
  • Capacidade de editar scripts diretamente no sistema de controle de versão por testadores
    BDD conveniente: SpecFlow + TFS

Pré-história

Enfrentamos a tarefa de automatizar os testes de aplicativos usando a abordagem BDD. Como a base do sistema de rastreamento de tarefas em nossa empresa é o TFS, tive uma imagem em minha cabeça onde as etapas do script SpecFlow são as etapas dos casos de teste no TFS e os testes são iniciados a partir dos planos de teste. Abaixo está como eu o implementei.

O que precisamos:

  1. Projeto com testes no SpecFlow
  2. Azure DevOps Server (também conhecido como Team Foundation Server)
  3. Uma ferramenta para sincronizar scripts SpecFlow com casos de teste no TFS

Fixação

1. Criando uma construção de projeto com testes

Tudo é simples aqui, montagem e publicação de artefatos. Mais sobre a terceira tarefa posteriormente.

BDD conveniente: SpecFlow + TFS

2. Criando uma versão para executar testes

Criando uma versão 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 testes

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 de planos de teste. Para não fazer isso manualmente e também para sincronizar o conteúdo dos scripts, escrevi um aplicativo de console simples FeatureSync. O princípio é simples: analisamos o arquivo de recursos e atualizamos os casos de teste usando a API TFS.

Como usar o FeatureSync

Adicione namespace e localidade ao cabeçalho do arquivo de recursos:

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

*namespace deve corresponder ao nome do arquivo .dll que contém os métodos de teste

Criamos casos de teste vazios no TFS e adicionamos tags com seus id aos scripts:

BDD conveniente: SpecFlow + TFS

@2124573 @posistive
Scenario: Successful authorization
    Given I on authorization page
    And I enter:
        | Login | Password |
        | user  | pass     |
    When I press Login button
    Then Browser redirect on Home page

Inicie o FeatureSync:

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

No nosso caso, o lançamento ocorre após a construção do projeto com testes:

BDD conveniente: SpecFlow + TFS

Resultado da sincronização

As etapas do script SpecFlow são sincronizadas e o status da automação é definido

BDD conveniente: SpecFlow + TFS

BDD conveniente: SpecFlow + TFS

4. Configurando um plano de teste

Criamos um plano de teste, adicionamos nossos casos automatizados a ele, selecionamos build e release nas configurações

BDD conveniente: SpecFlow + TFS

BDD conveniente: SpecFlow + TFS

5. Executando testes

Selecione o teste necessário no plano de teste e execute-o.

BDD conveniente: SpecFlow + TFS

Conclusão

As vantagens desta configuração:

  • qualquer testador pode abrir o arquivo fetaure no formulário web de controle de versão, editá-lo e as alterações entrarão em vigor imediatamente após a compilação
  • você pode executar testes individualmente a qualquer momento
  • modelo de teste transparente - sempre sabemos o que o teste que lançamos faz.

Fonte: habr.com

Adicionar um comentário