Comodo BDD: SpecFlow+TFS

In rete ci sono molti articoli su come utilizzare SpecFlow, su come configurare TFS per eseguire test, ma non ce n'è nemmeno uno che tratti tutti gli aspetti. In questo articolo spiegherò come rendere l'esecuzione e la modifica degli scenari SpecFlow comodi per tutti.

Nel seguito scoprirete come ottenere:

  • Esecuzione dei test da TFS
  • Collegamento automatico degli scenari ai test case in TFS
  • Contenuti sempre aggiornati dei test case in TFS
  • Possibilità di modificare gli scenari direttamente nel sistema di controllo versione da parte dei tester
    Comodo BDD: SpecFlow+TFS

Antefatti

Ci siamo posti l'obiettivo di automatizzare il test dell'applicazione utilizzando l'approccio BDD. Poiché il sistema di task tracking della nostra azienda è TFS, nella mia mente si è formata l'immagine in cui i passaggi dello scenario SpecFlow sono i passaggi dei test case in TFS, e l'esecuzione dei test avviene dai piani di test. Di seguito spiegherò come ho realizzato ciò.

Cosa ci serve:

  1. Progetto con test su SpecFlow
  2. Azure DevOps Server (noto anche come Team Foundation Server)
  3. Strumento per sincronizzare gli scenari SpecFlow con i test case in TFS

Configurazione

1. Creazione della build del progetto con test

Qui è tutto semplice, build e pubblicazione degli artefatti. Di seguito maggiori dettagli sul terzo task.

Comodo BDD: SpecFlow+TFS

2. Creazione di un rilascio per eseguire test

Creiamo un rilascio con un task - Visual Studio Test

Comodo BDD: SpecFlow+TFS

In questo caso, il task è configurato per eseguire test manualmente dal piano di test

Comodo BDD: SpecFlow+TFS

3. Sincronizzazione dei test case

Sappiamo che Visual Studio consente di collegare i metodi di test ai test case in TFS ed eseguirli dai piani di test. Per evitare di farlo manualmente e per sincronizzare i contenuti degli scenari, ho scritto una semplice applicazione console FeatureSync. Il principio è semplice: analizziamo il file feature e, con l'aiuto dell'API TFS, aggiorniamo i test case.

Come utilizzare FeatureSync

Aggiungiamo il namespace e la locale nell'intestazione del file feature:

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

*il namespace deve corrispondere al nome del file .dll in cui sono contenuti i metodi di test

Creiamo test case vuoti in TFS e aggiungiamo i tag con i loro id agli scenari:

Comodo BDD: SpecFlow+TFS

@2124573 @positivi
Scenario: Autorizzazione riuscita
    Given mi trovo sulla pagina di autorizzazione
    And inserisco:
        | Login | Password |
        | utente  | password     |
    When premo il pulsante di accesso
    Then il browser reindirizza alla pagina principale

Eseguiamo FeatureSync:

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

Nel nostro caso, l'esecuzione avviene dopo la build del progetto con i test:

Comodo BDD: SpecFlow+TFS

Risultato della sincronizzazione

I passaggi dello scenario SpecFlow sono stati sincronizzati e lo stato di Automazione è stato impostato

Comodo BDD: SpecFlow+TFS

Comodo BDD: SpecFlow+TFS

4. Configurazione del piano di test

Creiamo un piano di test, aggiungiamo i nostri casi di test automatizzati, nelle impostazioni scegliamo la build e il rilascio

Comodo BDD: SpecFlow+TFS

Comodo BDD: SpecFlow+TFS

5. Esecuzione dei test

Selezioniamo il test necessario nel piano di test e lo eseguiamo.

Comodo BDD: SpecFlow+TFS

Conclusione

Vantaggi di questa configurazione:

  • qualsiasi tester può aprire il file feature nell'interfaccia web di controllo versioni, modificarlo e le modifiche entreranno in vigore immediatamente dopo la build
  • è possibile eseguire i test in qualsiasi momento singolarmente
  • modello di test trasparente — sappiamo sempre cosa sta facendo il test che abbiamo avviato.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster