BDD conveniente: SpecFlow+TFS

Ci sono molti articoli su Internet su come utilizzare SpecFlow, come configurare TFS per eseguire i test, ma non ce n'è uno che contenga tutti gli aspetti. In questo articolo ti spiegherò come rendere conveniente per tutti l'avvio e la modifica degli script SpecFlow.

Sotto il taglio imparerai come ottenere:

  • Esecuzione di test da TFS
  • Collegamento automatico degli script ai casi di test in TFS
  • Contenuto sempre aggiornato dei casi di test in TFS
  • Possibilità di modificare gli script direttamente nel sistema di controllo della versione da parte dei tester
    BDD conveniente: SpecFlow+TFS

Sfondo

Ci siamo trovati di fronte al compito di automatizzare i test delle applicazioni utilizzando l'approccio BDD. Poiché la base del sistema di tracciamento delle attività nella nostra azienda è TFS, avevo in testa un'immagine in cui i passaggi dello script SpecFlow sono i passaggi dei casi di test in TFS e i test vengono avviati dai piani di test. Di seguito è riportato come l'ho implementato.

Ciò che ci serve:

  1. Progetto con test su SpecFlow
  2. Azure DevOps Server (noto anche come Team Foundation Server)
  3. Uno strumento per sincronizzare gli script SpecFlow con i casi di test in TFS

registrazione

1. Creazione di una build di progetto con test

Qui tutto è semplice, assemblaggio e pubblicazione di artefatti. Maggiori informazioni sul terzo compito più avanti.

BDD conveniente: SpecFlow+TFS

2. Creazione di una versione per eseguire i test

Creazione di una versione con un'attività: Visual Studio Test

BDD conveniente: SpecFlow+TFS

In questo caso, l'attività è configurata per eseguire i test manualmente dal piano di test

BDD conveniente: SpecFlow+TFS

3. Sincronizzazione dei casi di test

Sappiamo che Visual Studio consente di collegare metodi di test a casi di test in TFS ed eseguirli da piani di test. Per non farlo manualmente, e anche per sincronizzare il contenuto degli script, ho scritto una semplice applicazione console FeatureSync. Il principio è semplice: analizziamo il file delle funzionalità e aggiorniamo i casi di test utilizzando l'API TFS.

Come utilizzare FeatureSync

Aggiungi spazio dei nomi e impostazioni internazionali all'intestazione del file delle funzionalità:

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

*Lo spazio dei nomi deve corrispondere al nome del file .dll che contiene i metodi di test

Creiamo casi di test vuoti in TFS e aggiungiamo tag con il loro ID agli script:

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

Avvia FeatureSync:

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

Nel nostro caso il lancio avviene dopo aver costruito il progetto con i test:

BDD conveniente: SpecFlow+TFS

Risultato della sincronizzazione

Le istruzioni di script SpecFlow vengono sincronizzate e lo stato di Automazione viene impostato

BDD conveniente: SpecFlow+TFS

BDD conveniente: SpecFlow+TFS

4. Impostazione di un piano di test

Creiamo un piano di test, vi aggiungiamo i nostri casi automatizzati, selezioniamo build e rilascio nelle impostazioni

BDD conveniente: SpecFlow+TFS

BDD conveniente: SpecFlow+TFS

5. Esecuzione di test

Selezionare il test richiesto nel piano di test ed eseguirlo.

BDD conveniente: SpecFlow+TFS

conclusione

I vantaggi di questa configurazione:

  • qualsiasi tester può aprire il file delle caratteristiche nel modulo web di controllo della versione, modificarlo e le modifiche avranno effetto immediatamente dopo la compilazione
  • puoi eseguire i test individualmente in qualsiasi momento
  • modello di test trasparente: sappiamo sempre cosa fa il test che abbiamo lanciato.

Fonte: habr.com

Aggiungi un commento