Dưa chuột - Tổng quan
Để có được lợi thế tốt hơn của việc kiểm thử phần mềm, các tổ chức ngày nay đang tiến thêm một bước. Họ thực hiện các kịch bản kiểm thử chấp nhận quan trọng trong khi quá trình phát triển đang diễn ra. Cách tiếp cận này thường được gọi làBehavior Driven Development (BDD).
Phát triển theo hướng hành vi mang đến cho chúng tôi cơ hội tạo các kịch bản thử nghiệm từ cả quan điểm của nhà phát triển và khách hàng. Vì vậy, ngay từ đầu, các nhà phát triển, quản lý dự án, QA, người kiểm tra chấp nhận của người dùng và chủ sở hữu sản phẩm (chủ cổ phần), tất cả đều tập hợp lại với nhau và suy nghĩ xem kịch bản kiểm thử nào nên được thông qua để gọi phần mềm / ứng dụng này thành công. Bằng cách này, họ đưa ra một tập hợp các kịch bản thử nghiệm. Tất cả các kịch bản kiểm tra này đều bằng ngôn ngữ tiếng Anh đơn giản, vì vậy nó cũng phục vụ mục đích của tài liệu.
Thí dụ
Nếu chúng tôi đang phát triển một tính năng xác thực người dùng, thì sau đây có thể là một số tình huống thử nghiệm chính, cần phải vượt qua để gọi là thành công.
Người dùng sẽ có thể đăng nhập với đúng tên người dùng và mật khẩu chính xác.
Người dùng sẽ không thể đăng nhập với tên người dùng không chính xác và mật khẩu chính xác.
Người dùng sẽ không thể đăng nhập với tên người dùng chính xác và mật khẩu không chính xác.
Làm thế nào nó hoạt động
Vào thời điểm mã đã sẵn sàng, các tập lệnh thử nghiệm cũng sẵn sàng. Mã phải vượt qua các tập lệnh kiểm tra được xác định trong BDD. Nếu nó không xảy ra, sẽ cần phải cấu trúc lại mã. Mã chỉ được đóng băng sau khi thực hiện thành công các tập lệnh thử nghiệm đã xác định.
Đó là một khái niệm rất đơn giản, nhưng chúng ta cần những gì để thực hiện khái niệm này. Câu trả lời là, Khung phát triển theo hướng hành vi (BDD). Cucumber là một trong những công cụ nguồn mở như vậy, hỗ trợ phát triển theo hướng hành vi. Nói chính xác hơn, Cucumber có thể được định nghĩa là một khung thử nghiệm, được điều khiển bởi văn bản tiếng Anh thuần túy. Nó phục vụ như tài liệu, kiểm tra tự động và hỗ trợ phát triển - tất cả trong một.
Vậy Cucumber có tác dụng gì? Nó có thể được mô tả trong các bước sau:
Cucumber đọc mã được viết bằng văn bản tiếng Anh thuần túy (Ngôn ngữ Gherkin - sẽ được giới thiệu sau trong hướng dẫn này) trong tệp tính năng (sẽ được giới thiệu sau).
Nó tìm thấy kết quả khớp chính xác của từng bước trong định nghĩa bước (tệp mã - chi tiết được cung cấp sau trong hướng dẫn).
Đoạn mã được thực thi có thể là các khung phần mềm khác nhau như Selenium, Ruby on Rails, v.v ... Không phải mọi công cụ khung BDD đều hỗ trợ mọi công cụ.
Điều này đã trở thành lý do cho sự phổ biến của Cucumber so với các khuôn khổ khác, như JBehave, JDave, Easyb, Vân vân.
Cucumber hỗ trợ hơn một chục nền tảng phần mềm khác nhau như -
- Viên ngọc trên tay vịn
- Selenium
- PicoContainer
- Khung mùa xuân
- Watir
Ưu điểm của dưa chuột so với các công cụ khác
Cucumber hỗ trợ các ngôn ngữ khác nhau như Java.net và Ruby.
Nó hoạt động như một cầu nối giữa ngôn ngữ kinh doanh và kỹ thuật. Chúng tôi có thể thực hiện điều này bằng cách tạo một trường hợp thử nghiệm bằng văn bản tiếng Anh thuần túy.
Nó cho phép viết kịch bản thử nghiệm mà không cần biết bất kỳ mã nào, nó cho phép cả những người không phải lập trình viên tham gia.
Nó phục vụ mục đích của khung kiểm tra end-to-end không giống như các công cụ khác.
Do cấu trúc tập lệnh thử nghiệm đơn giản, Cucumber cung cấp khả năng tái sử dụng mã.