Behaviour Pushed Improvement (BDD) là gì, làm cho thế nào để dùng BDD

Behaviour Pushed Improvement (BDD) là 1 quy trình vươn lên là phần mềm có nguồn gốc từ Take a look at Pushed Improvement (TDD). BDD dùng những dí dụ để minh họa hành vi của hệ thống được viết bằng ngôn ngữ dễ đọc và dễ hiểu đối có đa số mọi người tham dự vào quy trình vươn lên là. Những dí dụ này bao gồm:

  • Chuyển đổi thành thông số kỹ thuật thực thi.
  • Được dùng làm cho kiểm thử chấp nhận (acceptance take a look at)

Conduct Pushed Improvement tập trung vào:

  • Phân phối 1 quy trình và công cụ được chia sẻ để giao tiếp giữa những lập trình viên, những BAs và những bên liên quan để cùng tác vươn lên là phần mềm, có phần tiêu phân phối siêu phẩm có giá trị marketing.

  • Hệ thống nên làm cho và ko nên làm cho chiếc gì dựa trên việc làm cho thế nào để thực hành nó.

  • Phân phối khả năng đọc và khả năng hiển thị phải chăng hơn.

  • Xác minh ko chỉ hoạt động của phần mềm mà còn đáp ứng được sự mong đợi của khách hàng.

Chi phí tổn để khắc phục lỗi sẽ nâng cao lên gấp bội giả dụ lỗi ko được tìm ra vào đúng thời điểm và được sửa ngay lúc được tìm ra. Hãy xem xét dí dụ sau.

Điều này cho thấy rằng trừ lúc những bắc buộc được thu thập chính xác, sẽ siêu tốn kém để sửa chữa lỗi do sự hiểu lầm những bắc buộc trên giai đoạn sau. Hơn nữa, siêu phẩm cuối cùng có thể ko đáp ứng được kỳ vọng của khách hàng.

Vậy phương pháp vươn lên là cần cần:

  • Dựa trên những bắc buộc.

  • Tập trung vào những bắc buộc trong suốt quy trình vươn lên là.

  • Đảm bảo rằng những bắc buộc được đáp ứng.

Xem Thêm  Phân tách ma xó là gì | Sen Tây Hồ

1 phương pháp vươn lên là có thể giải quyết những bắc buộc nêu trên là BDD. Do đấy, BDD có thể:

  • Lấy dí dụ về những hành vi được mong đợi khác nhau của hệ thống.

  • Cho phép viết những dí dụ bằng ngôn ngữ dùng những thuật ngữ nghiệp vụ để đảm bảo sự hiểu biết dễ dàng của đa số mọi người tham dự vào việc vươn lên là bao gồm cả khách hàng.

  • Nhận những dí dụ được phê thông qua có khách hàng theo thời kì bằng những cuộc hội thoại.

  • Tập trung vào những bắc buộc của khách hàng (dí dụ) trong suốt quy trình vươn lên là.

  • Dùng dí dụ như kiểm thử chấp nhận (acceptance assessments)

Thông thường, việc xác định những hành vi trong BDD được thực hành thông qua những person story. Đây là những kịch bản được viết ra bao gồm 1 số tiêu đề cơ sở tóm tắt ý định, 1 phần tường thuật mô tả ai và những gì cần tham dự trong việc đạt được bắc buộc story này và phần kịch bản mô tả 1 loạt những kịch bản cụ thể . Dù rằng BDD ko thực thi bất kỳ cú pháp hoặc định dạng cụ thể nào cho những person story, nhưng BDD đề xuất rằng nênchuẩn hóa 1 định dạng để tuân theo. Điều này sẽ đảm bảo rằng nhóm của bạn có thể tiếp tục thảo luận và sửa đổi những story 1 phương pháp dễ dàng và nhiều thành viên trong nhóm có thể tạo ra những story mà ko cần cần làm cho việc chặt chẽ có nhau.

Dưới đây là 1 định dạng person story điển hình được dùng trong những dự án BDD, theo đề xuất của Dan North, người được coi là sáng lập của BDD

Mở rộng trên mẫu này, Mr North phân phối 1 dí dụ về person story đã dùng trong bài viết Giới thiệu BDD của ông:

Xem Thêm  SỰ KHáC BIỆT GIỮA XáC SUẤT Và THỐNG Kê | SO SáNH SỰ KHáC BIỆT GIỮA CáC THUẬT NGỮ TƯƠNG TỰ – KHOA HỌC – 2023

Ubiquitous Language- Ngôn ngữ phổ cập}

BDD tập trung nhấn mạnh tầm quan yếu của ngôn ngữ phổ cập}, ngôn ngữ tham khảo chung như ngôn ngữ đặc tả (domain-specific language- DSL) . DSL cần được xác định rõ ràng và được sự đồng ý của đa số những thành viên trong giai đoạn đầu của vòng đời vươn lên là. DSL cho phép dễ dàng giao tiếp về nghiệp vụ của dự án, và cần đơn giản và đủ mạnh để tương trợ thảo luận giữa đa số những loại nhân sự, từ lập trình viên và trưởng nhóm cho khách hàng và giám đốc điều hành công ty.

Dùng công cụ chuyên dụng

BDD được tương trợ siêu nhiều bởi những công cụ chuyên dụng tương trợ việc tạo và thực hành những bộ kiểm thử ( testing fits) . Cũng giống như những công cụ đánh giá tự động động được dùng trong vươn lên là theo hướng kiểm thử (TDD) , những công cụ BDD sẽ thực hành tương tự động những kiểm thử tự động động nhằm phần đích hợp lý hóa quy trình vươn lên là. Tuy nhiên, sự khác biệt lớn giữa những công cụ đánh giá TDD và BDD là những công cụ BDD được hợp tác chặt chẽ có DSL đã được xác định cho dự án. Như vậy, những đặc điểm đánh giá bên trong những công cụ đánh giá BDD điển hình sẽ nhằm sao chép quản lý ngôn ngữ và cụm từ từ những person story DSL đã được xác định.

Nhìn lại state of affairs 1 từ Dan North’s Account Holder withdraws money dưới đây, chúng ta có thể hiểu được làm cho thế nào chuyển đổi kịch bản từ thực tế thành mã kiểm thử tự động động ( dùng ngôn ngữ lập trình Ruby)

Xem Thêm  Service encounter là gì?

Behaviour Driven Development (BDD) là gì, làm thế nào để sử dụng BDD

Và dưới đây là giả mã kiểm thử kịch bản trong Ruby ( dùng Cucumber syntax)

Behaviour Driven Development (BDD) là gì, làm thế nào để sử dụng BDD

  • Giảm lỗi hồi quy: Sở hữu 1 bộ toàn bộ kiểm thử ( take a look at fits) liên tục được thực hành, và có kiểm thử new luôn được bổ sung, BDD làm cho giảm đáng nhắc khả năng xảy ra lỗi hồi quy, vì trên trạng thái giám sát và đánh giá liên tục.
  • Cải thiện giao tiếp nhóm: Sự phụ thuộc vào ngôn ngữ / DSL phổ cập} được xác định rõ ràng có nghĩa là BDD có thể thường xuyên cải thiện giao tiếp trên toàn bộ nhóm, hoặc thậm chí giữa những tổ chức, vì có 1 cấu trúc chung cho những cụm từ và thuật ngữ lúc thảo luận dự án.
  • Bắc buộc đặc tả trước lúc vươn lên là. BDD bắc buộc nhóm ngồi xuống và viết ra cả DSL và person story cho từng kịch bản biệt lập hoặc tính năng trước lúc viết code khởi đầu. Đối có siêu nhiều nhóm, đặc biệt đối có những dự án lớn, điều này có thể là hạn chế, hoặc đối có nhóm bé và dự án vươn lên là gấp, sẽ mất nhiều công sức và bắc buộc có thể khó khăn hơn.
  • Dựa trên phản hồi liên tục từ bên ngoài: Việc giữ liên lạc có khách hàng, khác hàng, chuyên gia có thể ko cần là vấn đề đối có 1 số nhóm nhưng đối có 1 số tổ chức, việc bắc buộc liên lạc thường xuyên có bên bên cạnh có thể tác động tiêu cực tới thời kì vươn lên là. Trong trường hợp thông tin phản hồi được bắc buộc để đưa ra person story hoặc kịch bản new trước lúc kiểm thử được viết thì việc vươn lên là có thể bị ngừng trệ.

Bài viết được dịch lại từ nguồn:

  • https://www.tutorialspoint.com/behavior_driven_development/behavior_driven_development_quick_guide.htm
  • https://airbrake.io/weblog/software-design/behavior-driven-development