BDD là gì? Giới thiệu tổng quan về BDD

Behavior Driven Development (BDD) là một quy trình phát triển phần mềm dựa trên phương pháp Agile (phát triển phần mềm linh hoạt).

Đối với BDD, các kịch bản kiểm thử (Scenarios) được viết trước bằng ngôn ngữ tự nhiên và dễ hiểu, sau đó mới thực hiện cài đặt mã nguồn để đạt được các yêu cầu đã đề ra.

Các kịch bản kiểm thử này được viết dưới dạng các tệp chức năng (feature file) và đòi hỏi sự cộng tác từ tất cả các thành viên tham gia dự án hoặc các bên liên quan.

BDD được viết bằng ngôn ngữ văn bản đơn giản được gọi là Gherkin.

Các quy tắc khi viết Gherkin:

  • Tệp lưu trữ dưới định dạng .feature

  • Mỗi tệp .feature thường chứa một chức năng duy nhất.

  • Một chức năng bao gồm nhiều kịch bản khác nhau với danh sách các bước.

Có Thể Bạn Quan Tâm :   Lý Thuyết Hóa Hữu Cơ 11: Đại Cương Hóa Hữu Cơ Và Hiđrocacbon

Cú pháp của Gherkin

Tệp chức năng bằng Gherkin có cú pháp như sau:

BDD là gì? Giới thiệu tổng quan về BDD

Ý nghĩa của các từ khóa:

  • Feature: Mô tả ngắn gọn về chức năng được thực hiện.

  • Background: Cho phép thêm ngữ cảnh cho tất cả các Scenario trong chức năng. Chứa một số bước chạy trước mỗi Scenario. Có thể hiểu đơn giản là điều kiện tiên quyết để thực hiện tất cả các Scenario trong chức năng. Được khai báo sau từ khóa “Feature”.

  • Scenario: Từ khóa bắt đầu trước mỗi kịch bản, theo sau là tiêu đề của kịch bản sẽ thực hiện. Mỗi kịch bản bao gồm một hoặc nhiều bước.

  • Given: Mô tả điều kiện tiên quyết để thực hiện một Scenario.

  • When: Mô tả hành động chính (Các bước) mà người dùng thực hiện.

  • Then: Mô tả kết quả đầu ra mong muốn của Scenario.

  • And/But: Thay thế cho các từ khóa Given/When/Then để làm cho chương trình dễ hiểu hơn.

Có Thể Bạn Quan Tâm :   TIỂU HỌC TRẦN HƯNG ĐẠO

Ưu điểm

  • Giúp xác định đúng yêu cầu của khách hàng: Do tài liệu được viết theo ngôn ngữ tự nhiên, nên bất kỳ đối tượng nào cũng có thể hiểu. Khi đọc tài liệu này, khách hàng dễ dàng biết xem lập trình viên có đi đúng hướng mà khách hàng mong muốn hay không.

  • Đó là một tài liệu sống của dự án: Tài liệu luôn được cập nhật khi có bất kỳ thay đổi nào, do đó tất cả các thành viên không bỏ lỡ thông tin trong quá trình phát triển dự án.

  • Giảm thiểu những trường hợp không hợp lý hoặc không thể thực hiện trong thời điểm hiện tại: Khi viết tài liệu, cần ít nhất có 1 lập trình viên (developer), 1 chuyên viên kiểm tra chất lượng (QA), 1 nhân viên phân tích kinh doanh (BA). Do đó, có thể thảo luận về các trường hợp không hợp lý và những trường hợp không thể thực hiện trong thời điểm hiện tại trước khi bắt đầu viết mã cho chức năng.

Có Thể Bạn Quan Tâm :   CẤU TRÚC THERE IS THERE ARE: VÍ DỤ, CÁCH DÙNG, BÀI TẬP

Nhược điểm

  • Yêu cầu hiểu sâu về một số lượng lớn các khái niệm, do đó đối với việc tiếp cận BDD, các nhà phát triển cần có hiểu biết hoàn toàn về TDD (Test Driven Development – Phát triển dựa trên kiểm thử).

  • Việc biến nó thành một kỹ thuật thực hành hoặc liên kết nó với một bộ công cụ có thể làm mất đi đặc tính và giá trị của BDD.

Tài liệu tham khảo: https://labs.septeni-technology.jp/bdd/kiem-thu-tu-dong-su-dung-bdd-2/ https://blog.testlodge.com/what-is-bdd/

Back to top button