Ngôn ngữ Gherkin là gì?
Gherkin là một ngôn ngữ kinh doanh có thể đọc được, giúp bạn mô tả hành vi kinh doanh mà không cần đi sâu vào chi tiết triển khai. Nó là một ngôn ngữ dành riêng cho miền để xác định các bài kiểm tra ở định dạng Cucumber cho các thông số kỹ thuật. Nó sử dụng ngôn ngữ đơn giản để mô tả các trường hợp sử dụng và cho phép người dùng loại bỏ các chi tiết logic khỏi các bài kiểm tra hành vi.
Văn bản trong Gherkin langauge đóng vai trò là tài liệu và khung của các bài kiểm tra tự động của bạn. Định dạng Gherkin dựa trên TreeTop Grammar tồn tại trong hơn 37 ngôn ngữ. Do đó, bạn có thể viết gherkin của mình bằng hơn 37 ngôn ngữ nói.
Tập lệnh này phục vụ hai mục đích chính:
- Tình huống người dùng tài liệu
- Viết một bài kiểm tra tự động (BDD)
Trong hướng dẫn Gherkin này, bạn sẽ học
- Ngôn ngữ Gherkin là gì?
- Tại sao Gherkin?
- Cú pháp Gherkin
- Các điều khoản quan trọng được sử dụng trong Gherkin
- Ví dụ về Gherkin
- Các phương pháp sử dụng Gherkin tốt nhất
- Ưu điểm của Gherkin
Tại sao Gherkin?
Sự cần thiết của Gherkin có thể được giải thích dễ dàng bằng những hình ảnh sau
Trước Gherkin
Sau Gherkin
Cú pháp Gherkin
Gherkin là ngôn ngữ hướng dòng giống như YAML và Python. Mỗi dòng được gọi là bước và bắt đầu bằng từ khóa và kết thúc các thiết bị đầu cuối bằng một điểm dừng. Tab hoặc khoảng trắng được sử dụng để thụt lề.
Trong tập lệnh này, nhận xét có thể được thêm vào bất kỳ đâu bạn muốn, nhưng phải bắt đầu bằng dấu #. Nó đọc từng dòng sau khi loại bỏ các từ khóa của Ghrekin như đã cho, khi nào, sau đó, v.v.
Các bước Gherkin điển hình trông giống như:
Gherkin Scripts: kết nối khái niệm nhân quả của con người với khái niệm đầu vào / quy trình / đầu ra của phần mềm.
Cú pháp Gherkin:
Tính năng: Tiêu đề của kịch bảnĐã đưa ra [Điều kiện tiên quyết hoặc bối cảnh ban đầu]Khi [Sự kiện hoặc kích hoạt]Sau đó [Sản lượng mong đợi]
Một tài liệu Gherkin có phần mở rộng .feature và đơn giản chỉ là một tệp thử nghiệm với phần mở rộng ưa thích. Cucumber đọc tài liệu Gherkin và thực hiện một bài kiểm tra để xác nhận rằng phần mềm hoạt động theo cú pháp Gherkin.
Các điều khoản quan trọng được sử dụng trong Gherkin
- Đặc tính
- Lý lịch
- Tình huống
- Được
- Khi nào
- Sau đó
- Và
- Nhưng
- Ví dụ phác thảo kịch bản
Quy ước đặt tên được sử dụng cho tên đối tượng địa lý. Tuy nhiên, không có quy tắc thiết lập nào trong Cucumber về tên.
Đặc tính:
Tệp phải có phần mở rộng .feature và mỗi tệp tính năng chỉ nên có một tính năng. Từ khóa tính năng có trong Tính năng: và sau khi thêm vào đó, khoảng trắng và tên của đối tượng địa lý sẽ được viết.
Tình huống:
Mỗi tệp tính năng có thể có nhiều kịch bản và mỗi kịch bản bắt đầu bằng Kịch bản: theo sau là tên kịch bản.
Lý lịch:
Từ khóa nền giúp bạn thêm một số ngữ cảnh vào kịch bản. Nó có thể chứa một số bước của kịch bản, nhưng sự khác biệt duy nhất là nó phải được chạy trước mỗi kịch bản.
Được:
Công dụng của từ khóa Given là đưa hệ thống vào trạng thái quen thuộc trước khi người dùng bắt đầu tương tác với hệ thống. Tuy nhiên, bạn có thể bỏ qua việc viết các tương tác của người dùng trong các bước Đã cho nếu Được đưa ra trong bước "Điều kiện tiên quyết".
Cú pháp:
Được
Đã cho - một bước kiểm tra xác định ngữ cảnh 'Vì tôi đang ở trên "/."
Khi nào:
Khi bước là xác định hành động được thực hiện bởi người dùng.
Cú pháp:
Khi nào
A Khi nào - một bước kiểm tra xác định 'hành động' được thực hiệnKhi tôi thực hiện "Đăng nhập".
Sau đó:
Việc sử dụng từ khóa 'then' là để xem kết quả sau hành động ở bước khi nào. Tuy nhiên, bạn chỉ có thể xác minh những thay đổi đáng chú ý.
Cú pháp:
Sau đó
Sau đó - bước kiểm tra xác định 'kết quả'.Sau đó, tôi sẽ thấy "Chào mừng Tom."
Và nhưng
Bạn có thể có nhiều lần đưa ra khi hoặc Sau đó.
Cú pháp:
Nhưng
Nhưng - bước kiểm tra bổ sung xác định kết quả 'hành động'. 'Nhưng tôi nên xem "Chào mừng Tom."
Và - bước kiểm tra bổ sung xác định 'hành động' được thực hiệnVà tôi viết "EmailAddress" với " Địa chỉ email này đang được bảo vệ khỏi spam bots. Bạn cần bật Javascript để xem nó…"
Đã cho, Khi nào, Sau đó, và, nhưng là các bước kiểm tra. Bạn có thể sử dụng chúng thay thế cho nhau. Trình thông dịch không hiển thị bất kỳ lỗi nào. Tuy nhiên, chúng chắc chắn sẽ không có bất kỳ 'ý nghĩa' nào khi đọc.

Các điều khoản quan trọng được sử dụng trong Gherkin
Cho biết Trang đăng nhập đang mởKhi tôi nhập tên người dùng, mật khẩu và nhấp vào nút Đăng nhậpSau đó, tôi đang ở trên Trang chủ
Ví dụ về Gherkin
Ví dụ 1:
Tính năng: Chức năng đăng nhập mạng xã hội Facebook.Đưa ra: Tôi là một người dùng facebook.Khi nào: Tôi nhập tên người dùng làm tên người dùng.Và tôi nhập mật khẩu là mật khẩuSau đó, tôi sẽ được chuyển hướng đến trang chủ của facebook
Tình huống được đề cập ở trên là một tính năng được gọi là đăng nhập người dùng.
Tất cả các từ được viết đậm đều là từ khóa của Gherkin.
Gherkin sẽ phân tích từng bước được ghi trong tệp định nghĩa bước. Do đó, các bước được đưa ra trong tệp tính năng và tệp định nghĩa bước phải khớp với nhau.
Ví dụ 2:
Tính năng: Nền xác thực người dùng:Do người dùng đã đăng ký với trang web Tình huống:Cho rằng người dùng đang ở trên trang đăng nhậpKhi người dùng nhập địa chỉ email chính xácVà người dùng nhập đúng mật khẩuVà người dùng nhấp vào nút Đăng nhậpSau đó, người dùng sẽ được xác thựcVà người dùng sẽ được chuyển hướng đến trang tổng quan của họVà người dùng sẽ được hiển thị với một thông báo thành công
Các phương pháp sử dụng Gherkin tốt nhất
- Mỗi kịch bản nên thực hiện riêng biệt
- Mọi tính năng sẽ có thể được thực thi cùng
- Thông tin các bước phải được hiển thị độc lập
- Kết nối Kịch bản của bạn với các yêu cầu của bạn
- Theo dõi đầy đủ những tình huống nào nên được đưa vào tài liệu yêu cầu
- Tạo các bước mô-đun và dễ hiểu
- Cố gắng kết hợp tất cả các tình huống phổ biến của bạn
Ưu điểm của Gherkin
- Gherkin đủ đơn giản để những người không phải là lập trình viên có thể hiểu được
- Các lập trình viên có thể sử dụng nó như một cơ sở rất vững chắc để bắt đầu các bài kiểm tra của họ
- Nó làm cho Câu chuyện của người dùng dễ hiểu hơn
- Tập lệnh Gherkin có thể dễ dàng hiểu được bởi các nhà điều hành và nhà phát triển kinh doanh
- Kiểm tra Gherkin nhắm mục tiêu các yêu cầu kinh doanh
- Một tỷ lệ đáng kể các thông số kỹ thuật chức năng được viết dưới dạng câu chuyện của người dùng
- Bạn không cần phải là chuyên gia để hiểu bộ lệnh Gherkin nhỏ
- Các trường hợp thử nghiệm Gherkin liên kết các thử nghiệm chấp nhận trực tiếp với các thử nghiệm tự động
- Phong cách viết các trường hợp kiểm thử dễ sử dụng lại mã hơn trong các bài kiểm tra khác
Nhược điểm của Gherkin
- Nó đòi hỏi mức độ tham gia và cộng tác kinh doanh cao
- Có thể không hoạt động tốt trong tất cả các tình huống
- Các bài kiểm tra được viết kém có thể dễ dàng làm tăng chi phí bảo trì kiểm tra
Tóm lược:
- Gherkin là định dạng cho các thông số kỹ thuật của dưa chuột
- Gherkin là ngôn ngữ hướng dòng giống như YAML và Python
- Gherkin Scripts kết nối khái niệm nhân quả của con người với khái niệm phần mềm về đầu vào / quy trình và đầu ra
- Tính năng, Bối cảnh, Kịch bản, Đưa ra, Khi nào, Sau đó, Và nhưng quan trọng là được sử dụng trong Gherkin
- Trong Gherkin, mỗi kịch bản nên thực thi riêng biệt
- Ưu điểm lớn nhất của Gherkin là đủ đơn giản để những người không phải lập trình viên có thể hiểu được
- Gherkin Test có thể không hoạt động tốt trong tất cả các loại tình huống