便利なBDD:SpecFlow+TFS

SpecFlow の使用方法や、テストを実行するための TFS の構成方法に関する記事はインターネット上に多数ありますが、すべての側面を含む記事はありません。 この記事では、SpecFlow スクリプトの起動と編集を誰にとっても便利にする方法を説明します。

カットの下では、以下の入手方法が説明されています。

  • TFS からのテストの実行
  • TFS のテスト ケースへのスクリプトの自動リンク
  • TFS のテスト ケースのコンテンツは常に最新です
  • テスターがバージョン管理システムでスクリプトを直接編集する機能
    便利なBDD:SpecFlow+TFS

背景

私たちは、BDD アプローチを使用してアプリケーションのテストを自動化するという課題に直面しました。 弊社のタスク追跡システムの基盤はTFSなので、SpecFlowスクリプトのステップがTFS上のテストケースのステップとなり、テスト計画からテストを立ち上げるというイメージが頭の中にありました。 以下は私がそれを実装した方法です。

私たちの必要なもの:

  1. SpecFlow でのテストを含むプロジェクト
  2. Azure DevOps サーバー (別名 Team Foundation サーバー)
  3. SpecFlow スクリプトと TFS のテスト ケースを同期するためのツール

調整

1. テストを含むプロジェクト ビルドの作成

ここでは、アーティファクトの組み立てと公開まで、すべてが簡単です。 XNUMX 番目のタスクについては後で詳しく説明します。

便利なBDD:SpecFlow+TFS

2. テストを実行するためのリリースの作成

XNUMX つのタスクでリリースを作成する - Visual Studio テスト

便利なBDD:SpecFlow+TFS

この場合、タスクはテスト計画から手動でテストを実行するように構成されています。

便利なBDD:SpecFlow+TFS

3. テストケースの同期

Visual Studio を使用すると、テスト メソッドを TFS のテスト ケースにリンクし、テスト計画からテスト ケースを実行できることがわかっています。 これを手動で行わないようにするため、またスクリプトの内容を同期するために、簡単なコンソール アプリケーションを作成しました。 機能同期。 原理は単純です。TFS API を使用して機能ファイルを解析し、テスト ケースを更新します。

FeatureSync の使用方法

名前空間とロケールを機能ファイルのヘッダーに追加します。

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

*名前空間は、テスト メソッドを含む .dll ファイルの名前と一致する必要があります。

TFS で空のテスト ケースを作成し、その ID を含むタグをスクリプトに追加します。

便利なBDD: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

FeatureSync を起動します。

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

私たちの場合、テストを使用してプロジェクトをビルドした後に起動が行われます。

便利なBDD:SpecFlow+TFS

同期結果

SpecFlow スクリプト ステップが同期され、自動化ステータスが設定されます

便利なBDD:SpecFlow+TFS

便利なBDD:SpecFlow+TFS

4. テスト計画の設定

テスト計画を作成し、自動化されたケースを追加し、設定でビルドとリリースを選択します。

便利なBDD:SpecFlow+TFS

便利なBDD:SpecFlow+TFS

5. テストの実行

テスト計画で必要なテストを選択し、実行します。

便利なBDD:SpecFlow+TFS

まとめ

この構成の利点:

  • テスターは誰でもバージョン管理 Web フォームで fetaure ファイルを開いて編集でき、変更はビルド直後に有効になります。
  • いつでも個別にテストを実行できます
  • 透明なテスト モデル - 私たちは、開始したテストが何を行うかを常に知っています。

出所: habr.com

コメントを追加します