fbpx
cucumber

Tìm hiểu công cụ kiểm thử tự động Cucumber

Tìm hiểu về Cucumber

Công cụ kiểm thử tự động Cucumber chính là một testing framework hỗ trợ Behavior Driven Development (BDD), cho phép người dùng định nghĩa hành vi hệ thống thông qua cú pháp Gherkin. Cucumber hướng tới việc viết test “as cool as cucumber” mà bất kỳ ai cũng có thể hiểu cho dù họ không có chuyên môn kĩ thuật. Ví dụ như các nền tảng quen thuộc như Selenium thì thường chỉ người viết test hoặc có kĩ năng lập trình mới hiểu được những gì đang test, còn khác hàng hoặc các bên liên quan thì không đọc ngay code để hiểu mà họ cần hiểu qua tài liệu.

Công cụ kiểm thử tự động Cucumber ban đầu được thực hiện dành riêng cho ngôn ngữ Ruby và sau đó được mở rộng sang Java, cả Ruby và Java đều sử dụng Junit để chạy test.

Tìm hiểu về Behavior Driven Development

Trong BDD, người dùng (Business Analysts – người phân tích nghiệp vụ, Product Owners – người sỡ hửu sản phẩm) sẽ viết kịch bản (Scenarios) hoặc Acceptance Test ( kiểm thử chấp nhận) mô tả hành vi của hệ thống từ quan điểm của khách hàng trước và trong giai đoạn phát triển. Cucumber và BDD giải quyết hạn chế rất hay gặp trong các dự án phần mềm: mỗi người hiểu hệ thống một cách khác nhau.

 

BDD có khả năng tạo ra các kịch bản test dựa trên góc nhìn của bên phát triển cũng như góc nhìn của bên khác hàng. Ngay từ ban đầu, các thành viên dự án sẽ thảo luận để tạo ra các kịch bản trước, sau đó sẽ cài đặt dựa trên kịch bản đó, tất cả kịch bản test gần gũi với ngôn ngữ tiếng Anh, do đó nó đóng luôn vai trò của tài liệu.

Tính năng chính của Cucumber là nó tập trung vào Acceptance testing. Nó giúp mọi người trong nhóm dễ dàng đọc và viết các bài test và cũng với tính năng này, nó sẽ giúp đưa Business User vào quy trình kiểm thử, giúp team hiểu rõ hơn về những nhu cầu của họ đối với phần mềm (làm rõ requirement). Dưới đây là một vài ví dụ để bạn có thể hiểu rõ hơn về cách viết các bài test dùng BDD

Feature: Sign up Sign up should be quick and friendly.
Scenario: Successful sign up
New users should get a confirmation email and be greeted personally by the site once signed in.
Given I have chosen to sign up
When I sign up with valid details
Then I should receive a confirmation email
And I should see a personalized greeting message
Scenario: Duplicate email
Where someone tries to create an account for an email address that already exists.
Given I have chosen to sign up
But I enter an email address that has already registered
Then I should be told that the email is already registered
And I should be offered the option to recover my password

Lợi ích của Cucumber

  • Giúp cho các bên liên quan đến dự án (Stakeholders) có thể follow hoạt động test mà không cần kiến thức kĩ thuật chuyên môn
  • Cucumber tập trung vào trải nghiệm người dùng cuối
  • Style viết mã dễ bảo trì và thực hiện
  • Công cụ hiệu quả cho kiểm thử

So sánh Cucumber với các công cụ khác

Cucumber HP ALM (QTP) Selenium
Miễn phí Trả phí Miễn phí
Công cụ hỗ trợ Behaviour driven development BDD Công cụ hỗ trợ Functional Testing Công cụ hỗ trợ Functional and Performance Testing
Plugin hoạt động nhanh Plugin hoạt động chậm hơn Cucumber và Selenium Plugin hoạt động chậm hơn Cucumber
Hỗ trợ Java, Scala, Groovy Chỉ hỗ trợ VB script Hỗ trợ Java, .Net, Ruby
Developer, test viết script Chỉ tester viết test script Developer, test viết script
Chỉ support Web app Support ứng dụng Web, desktop, client server app Chỉ support web app

Phần 2: https://itmscoaching.com/tim-hieu-cong-cu-kiem-thu-tu-dong-bdd-cucumber-phan-2/

Related Articles

Responses