Tôi đang cố viết các yêu cầu cho quy trình kinh doanh đa bước (thông qua trình hướng dẫn). Tôi có nhiều tình huống trong đó tương tác của người dùng với một màn hình sẽ thay đổi dù bạn có được phép chọn tùy chọn trên màn hình khác hay không.Khi viết một tính năng BDD, tôi có nên đặt tương tác của người dùng trước đó vào bước Đã cho hay khi Bước?
Ví dụ (tôi đã che khuất doanh nghiệp thực tế, nhưng quá trình và hình thức các bước gần giống):
Feature: Personal Diagnostic Search Filter
In order to select a Technician who offers Personal Diagnostics,
when I've asked for a Personal Diagnostic
As a Business Customer
I want to limit my search to Technicians who offer Personal Diagnostics
Background:
Given a Business named "Big Al's Auto Supply"
And a Customer named "Bob Test" at the "Big Al's Auto Supply" Business
And an Account named "[email protected]" owned by "Bob Test"
And the "[email protected]" Account has the "Repair Order Creator"
permission
And you log in as "[email protected]"
And you start scheduling a new Repair Order
Scenario: Enter the Select Technician page when Use PD is selected
Given you select Use PD
When you enter the Select Technician page
Then the PD Filter should be visible
And the PD Filter should be selected
Scenario: Basic Search for Technicians when PD Filter is selected
Given a Technician named "PD Technician"
And the Technician named "PD Technician" supports PD
And a Technician named "Non-PD Technician"
And the Technician named "Non-PD Technician" does not support PD
And you select Use PD
And you enter the Select Technician page
And you select the PD Filter
And you select Basic Search
When you search for Technicians with the name "Technician"
Then your search results should contain "PD Technician"
And your search results should not contain "Non-PD Technician"
Nhưng trên the Gherkin wiki, chúng tôi khuyên bạn:
Tránh nói về tương tác của người dùng trong givens
Họ tiếp tục tạo ngoại lệ, mặc dù:
Đăng nhập người dùng (Ngoại lệ đối với đề xuất không tương tác. Những điều "xảy ra sớm hơn" là ok).
Nó cũng được cho biết trên trang đó rằng:
Mục đích của Khi bước là để mô tả các hành động chính người dùng thực hiện
gì thuộc về một Given và những gì thuộc về trong một thời điểm nếu bạn có nhiều tương tác giao diện người dùng?
Trong trường hợp đầu tiên, select Use PD
yêu cầu tương tác giao diện người dùng vì nó là một phần của trình hướng dẫn tạo Đơn đặt hàng sửa chữa mới. Tuy nhiên đó là điều kiện tiên quyết để Bộ lọc PD hiển thị và được kích hoạt khi người dùng vào trang Chọn kỹ thuật viên.
Kịch bản đầu tiên có thể không quá tệ, nhưng kịch bản thứ hai làm trầm trọng thêm vấn đề. Tìm kiếm được kích hoạt khi bạn nhấn Tìm kiếm nhưng có rất nhiều tương tác UI phải được thực hiện để điều hướng đến trang đó. Một số tương tác đó không thể được tô bóng, hoặc là Use PD
phải được chọn để bộ lọc tìm kiếm xuất hiện. Nhưng những tương tác giao diện người dùng đó không phải là hành động chính của trường hợp.
Cảm ơn câu trả lời :) Điều "hiển thị" trái ngược với các tình huống khác mà bộ lọc không hiển thị (vì tùy chọn được chọn trên màn hình trước đó trong trình hướng dẫn) và kết quả tìm kiếm không được lọc. Người dùng cũng có thể bỏ chọn bộ lọc. Tôi không bao gồm tất cả các kịch bản của mình vì tôi muốn cố gắng giữ câu hỏi ngắn gọn và tìm ra vấn đề cốt lõi của mình - tôi có cần mô tả toàn bộ giao diện người dùng không, và nếu có, tôi có cần phải đi từ bước 1 không? –
Tôi nghĩ rằng bạn đã cho tôi một phần quan trọng mặc dù. Tôi có thể cần phải tìm ra tên miền của tôi và pare chúng xuống. Quyền so với tương tác UI so với tìm kiếm đối với diễn viên trong doanh nghiệp là tất cả các miền khác nhau một chút và [DNorth cho biết tôi chỉ nên có 2 tên miền trong kịch bản của mình] (http://dannorth.net/2011/01/31/whose-domain- is-it-anyway /). –
Điểm tốt về tên thân thiện. "George Hữu ích" và "Jimmy DoItYourself" thậm chí còn nhiều màu sắc hơn, và tôi có thể sẽ đi với một cái gì đó như thế. BTW Gherkin không phải là một công cụ riêng của mình. Nó chỉ là một tên chính thức cho hương vị dưa chuột của BDD "tính năng: blah kịch bản: cho/khi/sau đó" cú pháp, mà đang cố gắng để phát triển được một số loại (rất cơ bản) tiêu chuẩn. Vì vậy, bạn rất có thể đã sử dụng Gherkin mà không biết điều đó. –