Cucumber

Cucumber, testing framework hỗ trợ Behavior Driven Development (BDD), có thể chấp nhận được người tiêu dùng tư tưởng hành động hệ thống cùng với ngữ nghĩa tiếng anh trải qua cú pháp Gherkin. Cucumber hướng đến câu hỏi viết demo “as cool as cucumber” nhưng bất kỳ ai ai cũng hoàn toàn có thể gọi mặc dù bọn họ không có trình độ kĩ thuật. lấy một ví dụ nhỏng những nền tảng thân quen như Selenium thì thường chỉ tín đồ viết thử nghiệm hoặc có kĩ năng thiết kế new đọc được phần lớn gì vẫn thử nghiệm, còn không giống mặt hàng hoặc các bên liên quan thì ko đọc ngay code để gọi mà họ đề nghị gọi qua tài liệu.

Bạn đang xem: Cucumber là gì

Cucumber lúc đầu được tiến hành giành riêng cho ngôn từ Ruby với tiếp nối được không ngừng mở rộng quý phái Java, cả Ruby cùng Java những thực hiện Junit nhằm chạy chạy thử.

Behavior Driven Development

Trong BDD, người dùng (business analysts – tín đồ phân tích nhiệm vụ, product owners – người sỡ hửu sản phẩm) đã viết kịch bản(scenarios) hoặc acceptance test ( kiểm thử chấp nhận) diễn đạt hành vi của khối hệ thống từ cách nhìn của chúng ta trước cùng trong giai đoạn cải tiến và phát triển. Cucumber với BDD giải quyết hạn chế rất thú vị gặp gỡ trong các dự án phần mềm: mọi cá nhân gọi hệ thống một bí quyết không giống nhau.

*

BDD có tác dụng tạo ra những kịch bạn dạng kiểm tra dựa vào mắt nhìn của mặt trở nên tân tiến cũng tương tự ánh mắt của bên khác sản phẩm. Ngay trường đoản cú lúc đầu, những thành viên dự án công trình đã đàm luận nhằm tạo thành những kịch phiên bản trước, tiếp đến vẫn cài đặt dựa vào kịch phiên bản đó, toàn bộ kịch bạn dạng test gần cận với ngôn từ giờ Anh, cho nên nó đóng luôn luôn phương châm của tài liệu.

Workflow BDD

*

Sau lúc kịch phiên bản thử nghiệm chạy, Cucumber đang đọc mã Gherkin tự file feature, kế tiếp nó đang search đoạn mã vào tệp tin step definition diễn tả đúng với hành vi trong tệp tin feature với triển khai đoạn code, nghỉ ngơi bước chạy code Cucumber rất có thể kết hợp với các framework khác như Ruby on Rails, Selenium, Spring,...

Lợi ích

Gíup cho các mặt tương quan đến dự án công trình (stakeholders) có thể follow vận động thử nghiệm cơ mà ko bắt buộc kỹ năng và kiến thức kinh nghiệm siêng mônCucumber triệu tập vào đòi hỏi người dùng cuốiStyle viết mã dễ bảo trì cùng thực hiệnCông núm hiệu quả mang đến kiểm thử

So sánh Cucumber với các hình thức khác

CucumberHP. ALM (QTP)Selenium
Miễn phíTrả phíMiễn phí
Công nỗ lực cung ứng Behaviour driven development BDDCông vậy cung cấp Functional testingCông nuốm hỗ trợ Functional và Performance testing
Plugin chuyển động nhanhPlugin chuyển động đủng đỉnh hơn Cucumber với SeleniumPlugin vận động đủng đỉnh hơn Cucumber
Hỗ trợ Java, Scala, GroovyChỉ cung cấp VB scriptHỗ trợ Java, .Net, Ruby
Dev, kiểm tra viết scriptChỉ tester viết demo scriptDev, chạy thử viết script
Chỉ tư vấn Web appSupport áp dụng Web, desktop, client VPS appChỉ tư vấn website app

Phần tiếp theo sau, họ sẽ khám phá yếu tố của Cucumber.

Xem thêm: 5 Fakta Operasi Valkyrie - Jual Beyblade Valkyrie Murah

Thành phần của Cucumber

Các project Cucumber luôn luôn có một tlỗi mục nhỏ trên thư mục cội (root) project tên "features". Đây là vị trí lưu trữ tất cả những features của projects, ngoại giả còn có những thư mục bổ sung cập nhật (additional directories) với tlỗi mục cung ứng (tư vấn directories).

Features

Feature rất có thể được phát âm là một đơn vị hoặc hội chứng năng tự do của một dự án công trình. lấy ví dụ như nhỏng một website thương mại năng lượng điện tử, một vài kĩ năng (features) hoàn toàn có thể khẳng định như:

Đăng nhập bằng thông tin tài khoản khối hệ thống hoặc mạng buôn bản hộiLựa lựa chọn sản phẩm hóaThanh khô toánĐăng xuất

Trong Cucumber mỗi feature có thể phát âm là từng function hòa bình của thành phầm. Trước Lúc viết chạy thử scripts họ đề xuất xác minh trước những features yêu cầu demo nhằm đưa về kết quả cao. Các tests desgin trong Cucumber được điện thoại tư vấn là những feature files và gồm dạng .feature, từng feature bắt buộc demo nên đặt trong 1 file feature tương ứng.

Features trong Cucumber bao hàm những thành phần sau:

Feature: Mô tả thử nghiệm script hiện nay sẽ được chạyScenario: Mô tả quá trình tiến hành và kết quả đầu ra mong ước cho một test case rứa thểScenario Outline: Scenario tiến hành các tập tài liệu (sets of data). Dữ liệu được lưu giữ bên dưới dạng kết cấu, ngăn cách nhau bằng kí hiệu | |Given: Chỉ ra ngữ chình ảnh để thực thiWhen: Chỉ ra hành động đã làm được thực hiệnThen: Kết trái cổng đầu ra mong muốn của một test

Ví dụ:

Feature: Visit career guide page in career.guru99.comScenario : Visit career.guru99.comGiven: I am on career.guru99.comWhen: I cliông xã on career guide menuThen: I should see career guide pag

Step Definitions

Mặc mặc dù sẽ có tệp tin feature tuy thế Cucumber chưa thực thụ biết đoạn mã như thế nào sẽ tiến hành thực thi cho từng scenario rõ ràng được nêu vào tệp tin feature. Nó yêu cầu một tệp tin trung gian Step Definition, tệp tin này ánh xạ công việc triển khai (step), features(Given,When,Then) trong scenario cùng với đoạn mã (code) công dụng cần tiến hành. Step được quan niệm trong file ruby "features/step_definitions/*_steps.rb"

Ví dụ

Given (/^ I am on career.guru99.com$/) doBrowser.golớn "http://career.guru99.com" -This will visit career.guru99 on browserendWhen (/^ clichồng on career guide menu$/) doBrowser.text (:name, " career guide" ).cliông xã – This will click "career guide menu"endThen (/^ I should see career guide page$/) doBrowser.golớn "http://career.guru99.com/category/career-guide/" - It will visit "career guide page"end

Scenario

Scenario là cấu trúc lõi của Gherkin. Kịch bản demo knhị báo với tự khóa "Scenario:" cùng theo sau là tên gọi kịch bản. Mỗi kỹ năng có thể có một hoặc nhiều scenargame ios, từng scenario gồm một hoặc nhiều steps.

Ví dụ:Scenario - Login the store at http://store.demoqa.com/Given user đầu vào username & passwordWhen user clicks LoginThen the Homepage opens

Gỉa sử kịch phiên bản bên trên bạn phải thực hiện các lần với rất nhiều quyền (role) người dùng khác nhau. Nếu thực hiện theo lần lượt thì sẽ rất rầu rĩ với không hẳn là một trong những bí quyết tốt. Cucumber hỗ trợ cấu tạo "Scenario outline" để giải quyết vụ việc này. Cucumber thay thế sửa chữa giá trị đầu vào không giống nhau với thực thi loạt hành động.

Như ví dụ dưới đây, Cucumber vẫn hiểu giá trị user1 và pasword1 đến lần chạy trước tiên, sau thời điểm chạy dứt, Cucumber đã sửa chữa bởi quý hiếm user2 cùng password2 cùng với những step nlỗi cũ.

| username | password | | user1 | password1 | | user2 | password2 |

Demo

(còn tiếp)

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *