İnternetdə SpecFlow-dan necə istifadə etmək, testləri yerinə yetirmək üçün TFS-ni necə konfiqurasiya etmək barədə bir çox məqalə var, lakin bütün aspektləri ehtiva edən məqalə yoxdur. Bu yazıda sizə SpecFlow skriptlərini işə salmağı və redaktə etməyi hər kəs üçün necə rahat edə biləcəyinizi söyləyəcəyəm.
Kəsmənin altından necə əldə edəcəyinizi öyrənəcəksiniz:
- TFS-dən testlər aparılır
- Skriptlərin TFS-də sınaq işlərinə avtomatik qoşulması
- TFS-də test işlərinin həmişə yeni məzmunu
- Testçilər tərəfindən versiyaya nəzarət sistemində birbaşa skriptləri redaktə etmək imkanı
Prehistorya
BDD yanaşmasından istifadə edərək tətbiq testinin avtomatlaşdırılması vəzifəsi ilə qarşılaşdıq. Şirkətimizdəki tapşırıq izləmə sisteminin əsası TFS olduğundan, beynimdə SpecFlow skriptinin addımlarının TFS-də test işlərinin addımları olduğu və test planlarından testlərin başladığı bir şəkil var idi. Aşağıda bunu necə həyata keçirdiyim göstərilir.
Bizə nə lazımdır:
- SpecFlow-da testlərlə layihə
- Azure DevOps Server (aka Team Foundation Server)
- SpecFlow skriptlərini TFS-də test nümunələri ilə sinxronlaşdırmaq üçün alət
nizamlama
1. Testlərlə layihə quruluşunun yaradılması
Burada hər şey sadədir, artefaktların yığılması və nəşri. Üçüncü tapşırıq haqqında daha sonra.
2. Testləri yerinə yetirmək üçün buraxılışın yaradılması
Bir tapşırıqla buraxılış yaratmaq - Visual Studio Testi
Bu halda, tapşırıq test planından testləri əl ilə yerinə yetirmək üçün konfiqurasiya edilir
3. Test işlərinin sinxronlaşdırılması
Biz bilirik ki, Visual Studio sizə test üsullarını TFS-də test halları ilə əlaqələndirməyə və onları test planlarından işə salmağa imkan verir. Bunu əl ilə etməmək və həmçinin skriptlərin məzmununu sinxronlaşdırmaq üçün sadə bir konsol proqramı yazdım.
FeatureSync-dən necə istifadə etmək olar
Xüsusiyyət faylının başlığına ad sahəsi və yerli əlavə edin:
#language:en
@Namespace:Application.Autotests
Feature: Log to application
*ad sahəsi test üsullarını ehtiva edən .dll faylının adına uyğun olmalıdır
TFS-də boş test nümunələri yaradırıq və skriptlərə onların id-si ilə teqlər əlavə edirik:
@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-i işə salın:
FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba
Bizim vəziyyətimizdə, işə salınma layihəni sınaqlarla qurduqdan sonra baş verir:
Sinxronizasiya nəticəsi
SpecFlow skript addımları sinxronlaşdırılır və Avtomatlaşdırma statusu təyin edilir
4. Test planının qurulması
Biz sınaq planı yaradırıq, ona avtomatlaşdırılmış işlərimizi əlavə edirik, parametrlərdə qurmaq və buraxmaq seçimini edirik
5. İşləyən testlər
Test planında tələb olunan testi seçin və onu işə salın.
Nəticə
Bu konfiqurasiyanın üstünlükləri:
- istənilən tester fetaure faylını versiyaya nəzarət veb formasında aça, redaktə edə bilər və dəyişikliklər qurulduqdan dərhal sonra qüvvəyə minir.
- İstənilən vaxt testləri fərdi şəkildə keçirə bilərsiniz
- şəffaf test modeli - başlatdığımız testin nə etdiyini həmişə bilirik.
Mənbə: www.habr.com