Gherkin và luồng hoạt động của Cucumber

Chúng tôi rất vui mừng chia sẻ kiến thức về từ khóa Gherkin la gi để tối ưu hóa nội dung trang web và tiếp thị trực tuyến. Bài viết cung cấp phương pháp tìm kiếm, phân tích từ khóa và chiến lược hiệu quả. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi để cập nhật kiến thức mới.

Behaviour Driven Development

Behavior driven development (BDD) là một cách tiếp cận để phát triển phần mềm, thu hẹp khoảng chừng cách giữa khách hàng và đội phát triển phần mềm. BDD giúp các nhóm trong một dự án phần mềm có thể giao tiếp với nhau một cách chuẩn xác hơn và phát hiện sớm các khuyết thiếu của phần mềm. Nó giúp tạo ra các yêu cầu của dự án phần mềm mà tất cả mọi người trong quá trình phát triển phần mềm có thể hiều được tránh việc hiểu nhầm các yêu cầu của dự án, giảm thiểu các ngân sách sửa chữa, khắc phục các lỗi do vấn đề thu thập yêu cầu thiếu chuẩn xác.

Bạn Đang Xem: Gherkin và luồng hoạt động của Cucumber

BDD có thể được chia thành 2 thời đoạn đó chính là Deliberate Discovery và Test-Driven Development. Trong quá trình Deliberate Discovery tập trung vào việc thu thập các yêu cầu của dự án bằng phương pháp hợp tác thao tác làm việc giữa các bên. Tất cả mọi người trong dự án cùng nhau đưa ra các ví dụ, các kịch bản cũng như các vấn đề của mạng lưới hệ thống trước lúc bắt tay vào quá trình phát triển. Các ví dụ, kịch bản được tạo ra dưới sự hợp tác của tất cả mọi người, nó được viết bằng một loiaj tiếng nói dễ hiểu dễ đọc đảm bảo cho mọi người đểu có khả năng hiểu được giúp cho từng người dân có cái nhìn chuẩn xác nhất so với mạng lưới hệ thống cũng như làm tài liệu về phương pháp hoạt động của mạng lưới hệ thống và có thể sử dụng làm các kịch bản cho việc kiểm thử chấp thuận (acceptance test).

Quá trình thứ hai là Test-Driven Development là một kỹ thuật trong phát triển phần mềm, ở đó các test case tự động hóa được khái niệm trước lúc bắt tay vào code. Trong BDD, TDD thường được thể hiện bằng phương pháp sử dụng thông qua Example Mapping. Các ví dụ, kịch bản thường được viết bởi PO hay BA của dự án là những người dân không trực tiếp thực hiện việc code phát triển phần mềm, tuy nhiên là người nắm được rõ ràng nhất các yêu cầu của dự án. Gherkin là một loại cú pháp đơn giản có thể mô tả các kịch bản, ví dụ bằng tiếng nói tự nhiên và Cucumber là một phương tiện có thể thực hiện Example Mapping trong BDD.

Gherkin

Gherkin là một loại cú pháp thường được sử dụng để mô tả các ví dụ, kịch bản trong BDD. Nó là một tập hợp các từ khóa đặc biệt quan trọng để lấy ra cấu trúc, các hành vi thực hiện dựa trên tiếng nói tự nhiên. Các từ khóa của Gherkin có tương trợ nhiều loại tiếng nói khác nhau. Chúng ta có thể tìm kiếm các từ khóa Gherkin theo những tiếng nói tại đây Một số từ khóa phổ thông thường được sử dụng trong Gherkin như:

  • Feature
  • Rule
  • Scenario
  • Given, When, Then, And, But
  • Bacground
  • Scenario OutLine
  • Examples

Feature

Mỗi một tệp văn bản Gherkin thường được dùng làm mô tả một tính năng trong phần mềm. Trong một văn bản Gherkin phải được khai mạc bằng một từ khóa Feature tiếp Từ đó là một đoạn văn bản để mô tả ngắn gọn về tính chất năng này thường được mô tả bằng các User story gồm các thông tin như tác nhân hoạt động của tính năng này là ai, tác nhân đó cần gì ở tính năng này, tính năng này tạo ra nhằm phục vụ mục tiêu gì.

Ví dụ:

Xem Thêm : Chào mừng bạn đến với HelloChao

Feature: Show admin dashboard As a admin I want to show admin dashboard In order to take actions to manage website. Scenario: ……………………………………

Phần mô tả sau từ khóa Feature kết thúc khi gặp một trong các từ khóa ở đầu một dòng như Rule, Scenario, Scenario Outline, …

Rule

Rule là một từ khóa tùy chọn được sử dụng khi muốn bổ sung một số các luật cần tuân thủ trong một tính năng, nó là một phần mở rộng hỗ trợ cho tệp văn bản Gherkin trở thành chặt chẽ hơn. Ví dụ:

Feature: Show admin dashboard As a admin I want to show admin dashboard In order to take actions to manage website. Rule: – Admin can see dashboard – Normal user can not see dashboard Scenario: ……………………………………

Scenario

Một Scenario là một kịch bản chứa nhiều bước (steps) mô tả các bước hoạt động một phần chức năng của phần mềm. Trong một Scenario có thể chứa nhiều steps. Một Sceario thường được mô tả theo mấu:

  • Mô tả xét tuyển đã có sẵn (Given steps)
  • Mô tả hành động của tác nhân (When steps)
  • Mô tả kết quả mong đợi sau hành động (Then steps)

Given, When, Then, And, But

Là các từ khóa được sử dụng để khai mạc mỗi một bước trong Scenario. Ví dụ:

Scenario: Show admin dashboard Given user see login screen When user signed in with admin trương mục Then user should see admin dashboard

Từ khóa Given thường được sử dụng để mô tả một trạng thái đã biết, từ khóa When dùng làm mô tả hành động của người dùng tương tác với phần mềm và từ khóa Then giúp thể hiện kết quả thu được sau khoản thời gian thực hiện hành động. Có thể sử dụng thêm các từ khóa And, But để cho Scenario dễ đọc và gần với tiếng nói tự nhiên hơn.

Xem Thêm : Card đồ họa AMD Radeon Graphics là gì? Ưu điểm của laptop khi sử dụng

Các chúng ta có thể tham khảo thêm các từ khóa và các cú pháp Gherkin cụ thể hơn tại đây Gherkin keywords

Luồng hoạt động của Cucumber

Cucumber hoạt động dựa trên cơ chế Example Mapping. Các tệp văn bản Gherkin được viết và lưu dưới định dạng file .feature và lưu trong thư mục features/ Khi thực hiện test với Cucumber, Cucumber sẽ được những file .feature trong thư mục features/ và tìm kiếm, thực hiện test tuần tự các steps đã được khái niệm trong các tệp văn bản Gherkin.

Mỗi step được khái niệm sẽ tiến hành match với một step definition thông qua các biểu thức (expressions) trong các file steps.* . Việc quản lý các step definitions hoàn toàn có thể được tạo trong cùng một file tuy nhiên nó sẽ làm khó khăn trong việc quản lý vì vậy ta thường chia step definations ra nhiều file dựa trên các chức năng hay các tác nhân khác nhau để thuận tiện hơn trong việc quản lý. Trong step definition ta sẽ khái niệm phương pháp hoạt động và assert các kết quả thu được để kiểm tra các step có hoạt động một cách chuẩn xác hay là không.

Ví dụ:

Given(/user see login screen/, function () { // Test Code …………………………………. }); When(/user signed in with admin trương mục/, function () { // Test Code …………………………………. });

Ngoài ra Cucumber tương trợ một số các phương thức helper tiêu biểu như hooks được chấp nhận tất cả chúng ta có thể thực các công việc nhất định tại một thời khắc thực thi các test case như trước lúc khai mạc một Scenario hay sau khoản thời gian kết thúc một Scenario, …

Tài liệu tham khảo

Cucumber

cucumberjs

You May Also Like

About the Author: v1000