BDD yang nyaman: SpecFlow+TFS

Ada banyak artikel di Internet tentang cara menggunakan SpecFlow, cara mengkonfigurasi TFS untuk menjalankan pengujian, tetapi tidak ada satu pun yang memuat semua aspek. Dalam artikel ini, saya akan memberi tahu Anda bagaimana Anda dapat membuat peluncuran dan pengeditan skrip SpecFlow menjadi nyaman bagi semua orang.

Di bawah potongan Anda akan belajar cara mendapatkan:

  • Menjalankan tes dari TFS
  • Tautan otomatis skrip untuk menguji kasus di TFS
  • Konten kasus uji di TFS selalu terkini
  • Kemampuan untuk mengedit skrip secara langsung di sistem kontrol versi oleh penguji
    BDD yang nyaman: SpecFlow+TFS

prasejarah

Kami dihadapkan pada tugas mengotomatisasi pengujian aplikasi menggunakan pendekatan BDD. Karena dasar dari sistem pelacakan tugas di perusahaan kami adalah TFS, saya memiliki gambaran di kepala saya di mana langkah-langkah skrip SpecFlow adalah langkah-langkah kasus pengujian di TFS, dan pengujian diluncurkan dari rencana pengujian. Di bawah ini adalah cara saya menerapkannya.

Yang kami butuhkan:

  1. Proyek dengan pengujian pada SpecFlow
  2. Server Azure DevOps (alias Server Team Foundation)
  3. Alat untuk menyinkronkan skrip SpecFlow dengan kasus uji di TFS

pengaturan

1. Membuat proyek build dengan tes

Semuanya sederhana di sini, perakitan dan publikasi artefak. Lebih lanjut tentang tugas ketiga nanti.

BDD yang nyaman: SpecFlow+TFS

2. Membuat rilis untuk menjalankan pengujian

Membuat rilis dengan satu tugas - Visual Studio Test

BDD yang nyaman: SpecFlow+TFS

Dalam hal ini, tugas dikonfigurasi untuk menjalankan pengujian secara manual dari rencana pengujian

BDD yang nyaman: SpecFlow+TFS

3. Sinkronisasi kasus uji

Kita tahu bahwa Visual Studio memungkinkan Anda menautkan metode pengujian ke kasus pengujian di TFS dan menjalankannya dari rencana pengujian. Agar tidak melakukan ini secara manual, dan juga untuk menyinkronkan konten skrip, saya menulis aplikasi konsol sederhana Sinkronisasi Fitur. Prinsipnya sederhana - kami mengurai file fitur dan memperbarui kasus pengujian menggunakan TFS API.

Cara menggunakan FeatureSync

Tambahkan namespace dan lokal ke header file fitur:

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

*namespace harus cocok dengan nama file .dll yang berisi metode pengujian

Kami membuat kasus uji kosong di TFS dan menambahkan tag dengan idnya ke skrip:

BDD yang nyaman: 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

Luncurkan FeatureSync:

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

Dalam kasus kami, peluncuran terjadi setelah pembangunan proyek dengan pengujian:

BDD yang nyaman: SpecFlow+TFS

Hasil sinkronisasi

Langkah-langkah skrip SpecFlow disinkronkan dan status Otomatisasi ditetapkan

BDD yang nyaman: SpecFlow+TFS

BDD yang nyaman: SpecFlow+TFS

4. Menyiapkan rencana pengujian

Kami membuat rencana pengujian, menambahkan kasus otomatis ke dalamnya, memilih build dan rilis di pengaturan

BDD yang nyaman: SpecFlow+TFS

BDD yang nyaman: SpecFlow+TFS

5. Tes lari

Pilih pengujian yang diperlukan dalam rencana pengujian dan jalankan.

BDD yang nyaman: SpecFlow+TFS

Kesimpulan

Keuntungan dari konfigurasi ini:

  • penguji mana pun dapat membuka file fetaure di formulir web kontrol versi, mengeditnya dan perubahan akan berlaku segera setelah pembuatan
  • Anda dapat menjalankan pengujian satu per satu kapan saja
  • model pengujian transparan - kami selalu mengetahui fungsi pengujian yang kami luncurkan.

Sumber: www.habr.com

Tambah komentar