BDD - Thông số kỹ thuật theo ví dụ
Theo Gojko Adzic, tác giả của 'Đặc tả theo ví dụ', Đặc tả theo ví dụ là một tập hợp các mẫu quy trình tạo điều kiện thuận lợi cho việc thay đổi các sản phẩm phần mềm để đảm bảo rằng sản phẩm phù hợp được phân phối một cách hiệu quả. "
Đặc tả theo Ví dụ là một cách tiếp cận hợp tác để xác định các yêu cầu và kiểm tra chức năng theo định hướng kinh doanh cho các sản phẩm phần mềm dựa trên việc nắm bắt và minh họa các yêu cầu bằng cách sử dụng các ví dụ thực tế thay vì các tuyên bố trừu tượng.
Đặc điểm kỹ thuật theo ví dụ - Tổng quan
Mục tiêu của Đặc tả theo Ví dụ là tập trung vào việc phát triển và cung cấp các yêu cầu kinh doanh được ưu tiên, có thể xác minh được. Mặc dù bản thân khái niệm Đặc tả bằng Ví dụ là tương đối mới, nhưng nó chỉ đơn giản là sự diễn đạt lại các thực hành hiện có.
Nó hỗ trợ một từ vựng rất cụ thể, ngắn gọn được gọi là ngôn ngữ phổ biến -
Cho phép các yêu cầu thực thi.
Được mọi người trong đội sử dụng.
Được tạo ra bởi một nhóm đa chức năng.
Nắm bắt sự hiểu biết của mọi người.
Đặc tả theo Ví dụ có thể được sử dụng như một đầu vào trực tiếp để xây dựng các Thử nghiệm tự động phản ánh lĩnh vực kinh doanh. Do đó, trọng tâm của Đặc tả theo Ví dụ là xây dựng sản phẩm phù hợp và xây dựng sản phẩm phù hợp.
Mục đích của Đặc điểm kỹ thuật theo Ví dụ
Mục đích chính của Đặc tả theo Ví dụ là xây dựng sản phẩm phù hợp. Nó tập trung vào sự hiểu biết được chia sẻ, do đó thiết lập một nguồn chân lý duy nhất. Nó cho phép tự động hóa các tiêu chí chấp nhận để tập trung vào việc ngăn ngừa lỗi hơn là phát hiện lỗi. Nó cũng thúc đẩy việc kiểm tra sớm để tìm ra các khiếm khuyết sớm.
Sử dụng SbE
Đặc tả bằng Ví dụ được sử dụng để minh họa hành vi hệ thống mong đợi mô tả giá trị kinh doanh. Hình ảnh minh họa bằng các ví dụ cụ thể và thực tế. Những ví dụ này được sử dụng để tạo ra các yêu cầu thực thi:
Có thể kiểm tra mà không cần dịch.
Được chụp trong tài liệu trực tiếp.
Sau đây là những lý do tại sao chúng tôi sử dụng các ví dụ để mô tả các thông số kỹ thuật cụ thể -
Chúng dễ hiểu hơn.
Họ khó hiểu sai hơn.
Ưu điểm của SbE
Những lợi thế của việc sử dụng Đặc tả theo Ví dụ là:
Tăng chất lượng
Giảm lãng phí
Giảm nguy cơ lỗi sản xuất
Nỗ lực tập trung
Các thay đổi có thể được thực hiện an toàn hơn
Cải thiện sự tham gia kinh doanh
Các ứng dụng của SbE
Đặc tả bằng Ví dụ tìm ứng dụng trong -
Doanh nghiệp phức tạp hoặc tổ chức phức tạp.
Không hoạt động tốt cho các vấn đề kỹ thuật thuần túy.
Không hoạt động tốt đối với các sản phẩm phần mềm tập trung vào giao diện người dùng.
Có thể được áp dụng cho các hệ thống kế thừa.
Kiểm tra SbE và Chấp nhận
Ưu điểm của Đặc tả kỹ thuật theo Ví dụ trong điều kiện Kiểm tra chấp nhận là:
Một minh họa duy nhất được sử dụng cho cả hai, yêu cầu chi tiết và thử nghiệm
Tiến độ của dự án đang trong điều kiện nghiệm thu -
Mỗi bài kiểm tra là để kiểm tra một hành vi.
Một bài kiểm tra là vượt qua cho một hành vi hoặc nó không.
Một bài kiểm tra vượt qua cho thấy rằng hành vi cụ thể đã được hoàn thành.
Nếu một dự án yêu cầu hoàn thành 100 hành vi mà 60 hành vi hoàn thành thì tức là đã hoàn thành 60%.
Người kiểm tra chuyển từ sửa lỗi sang ngăn ngừa lỗi và họ đóng góp vào việc thiết kế giải pháp.
Tự động hóa cho phép hiểu ngay tác động của sự thay đổi yêu cầu đối với giải pháp.
Đặc tả theo ví dụ - Ý nghĩa của nó đối với các Vai trò khác nhau
Mục tiêu của Đặc tả theo Ví dụ là thúc đẩy sự hợp tác của mọi người trong nhóm, bao gồm cả khách hàng trong suốt dự án để mang lại giá trị kinh doanh. Mọi người để dễ hiểu hơn hãy sử dụng cùng một Từ vựng.
Vai trò | Sử dụng SbE |
---|---|
Phân tích kinh doanh |
|
Nhà phát triển |
|
Kiểm thử |
|
Tất cả mọi người |
|
SbE - Tập hợp các mẫu quy trình
Như chúng ta đã thấy ở phần đầu của chương này, Đặc tả theo Ví dụ được định nghĩa là một tập hợp các mẫu quy trình tạo điều kiện thuận lợi cho việc thay đổi các sản phẩm phần mềm để đảm bảo rằng sản phẩm phù hợp được phân phối một cách hiệu quả.
Các mẫu quy trình là -
Đặc tả cộng tác
Minh họa thông số kỹ thuật bằng các ví dụ
Tinh chỉnh đặc điểm kỹ thuật
Tự động hóa các ví dụ
Xác thực thường xuyên
Tài liệu sống
Đặc điểm cộng tác
Mục tiêu của đặc tả cộng tác là:
Nhận các vai trò khác nhau trong nhóm để có sự hiểu biết chung và từ vựng được chia sẻ.
Thu hút mọi người tham gia vào dự án để họ có thể đóng góp những quan điểm khác nhau của mình về một đối tượng địa lý.
Đảm bảo giao tiếp được chia sẻ và quyền sở hữu các tính năng.
Các mục tiêu này được đáp ứng trong một hội thảo về đặc điểm kỹ thuật còn được gọi là cuộc họp Three Amigos. Ba Amigos là BA, QA và nhà phát triển. Mặc dù có những vai trò khác trong dự án, ba người này sẽ chịu trách nhiệm và chịu trách nhiệm từ việc định nghĩa cho đến việc cung cấp các tính năng.
During the meeting −
Nhà phân tích kinh doanh (BA) trình bày các yêu cầu và thử nghiệm cho một tính năng mới.
Ba Amigos (BA, Developer và QA) thảo luận về tính năng mới và xem xét các thông số kỹ thuật.
QA và nhà phát triển cũng xác định các yêu cầu còn thiếu.
Ba Amigos
Sử dụng một mô hình được chia sẻ bằng một ngôn ngữ phổ biến.
Sử dụng từ vựng miền (Bảng chú giải thuật ngữ được duy trì nếu cần).
Tìm kiếm sự khác biệt và xung đột.
Đừng chuyển đến chi tiết triển khai tại thời điểm này.
Đạt được sự đồng thuận về việc một tính năng đã được chỉ định đầy đủ hay chưa.
Ý thức chung về các yêu cầu và quyền sở hữu thử nghiệm tạo điều kiện thuận lợi cho các thông số chất lượng
Các yêu cầu được trình bày dưới dạng các tình huống, cung cấp các yêu cầu rõ ràng, rõ ràng. Một kịch bản là một ví dụ về hành vi của hệ thống từ quan điểm của người dùng.
Minh họa Đặc điểm kỹ thuật bằng các ví dụ
Các kịch bản được chỉ định bằng cách sử dụng cấu trúc Given-When-Then để tạo một đặc tả có thể kiểm tra -
Given <một số điều kiện tiên quyết>
And <điều kiện tiên quyết bổ sung> Optional
When <một hành động / kích hoạt xảy ra>
Then <một số điều kiện đăng>
And <điều kiện đăng bổ sung> Optional
Đặc tả này là một ví dụ về hành vi của hệ thống. Nó cũng đại diện cho một tiêu chí Chấp nhận của hệ thống.
Nhóm thảo luận về các ví dụ và phản hồi được tổng hợp cho đến khi có sự đồng ý rằng các ví dụ bao hàm hành vi mong đợi của đối tượng địa lý. Điều này đảm bảo phạm vi kiểm tra tốt.
Tinh chỉnh đặc điểm kỹ thuật
Để tinh chỉnh một thông số kỹ thuật,
Hãy viết chính xác các ví dụ. Nếu một ví dụ trở nên phức tạp, hãy chia nó thành các ví dụ đơn giản hơn.
Tập trung vào quan điểm kinh doanh và tránh các chi tiết kỹ thuật.
Xem xét cả điều kiện tích cực và tiêu cực.
Tuân thủ các từ vựng cụ thể của miền.
Thảo luận về các ví dụ với khách hàng.
Chọn các cuộc trò chuyện để thực hiện điều này.
Chỉ xem xét những ví dụ mà khách hàng quan tâm. Điều này chỉ cho phép sản xuất mã bắt buộc và tránh bao gồm mọi sự kết hợp có thể có, có thể không bắt buộc
Để đảm bảo rằng kịch bản vượt qua, tất cả các trường hợp kiểm thử cho kịch bản đó phải vượt qua. Do đó, hãy nâng cao các thông số kỹ thuật để chúng có thể kiểm tra được. Các trường hợp thử nghiệm có thể bao gồm các phạm vi và giá trị dữ liệu khác nhau (trường hợp ranh giới và góc) cũng như các quy tắc nghiệp vụ khác nhau dẫn đến thay đổi dữ liệu.
Chỉ định các quy tắc kinh doanh bổ sung như tính toán phức tạp, thao tác / chuyển đổi dữ liệu, v.v.
Bao gồm các tình huống phi chức năng (ví dụ: hiệu suất, tải, khả năng sử dụng, v.v.) dưới dạng Đặc tả theo Ví dụ
Tự động hóa ví dụ
Lớp tự động hóa cần phải được giữ rất đơn giản - chỉ nối dây của thông số kỹ thuật vào hệ thống đang thử nghiệm. Bạn có thể sử dụng một công cụ cho tương tự.
Thực hiện tự động hóa thử nghiệm bằng cách sử dụng Ngôn ngữ dành riêng cho miền (DSL) và thể hiện kết nối rõ ràng giữa đầu vào và đầu ra. Tập trung vào đặc điểm kỹ thuật chứ không phải tập lệnh. Đảm bảo rằng các bài kiểm tra chính xác, dễ hiểu và có thể kiểm tra được.
Xác thực thường xuyên
Bao gồm xác thực ví dụ trong quy trình phát triển của bạn với mọi thay đổi (bổ sung / sửa đổi). Có nhiều kỹ thuật và công cụ có thể (và nên) được áp dụng để giúp đảm bảo chất lượng của sản phẩm. Chúng xoay quanh ba nguyên tắc chính-Test Early, Test Well và Test Often.
Thực hiện các bài kiểm tra thường xuyên để bạn có thể xác định các liên kết yếu. Các ví dụ đại diện cho các hành vi giúp theo dõi tiến trình và một hành vi được cho là chỉ hoàn thành sau khi bài kiểm tra tương ứng vượt qua.
Tài liệu Sống
Giữ các thông số kỹ thuật càng đơn giản và ngắn gọn càng tốt. Sắp xếp các thông số kỹ thuật và phát triển chúng khi công việc tiến triển. Làm cho tài liệu có thể truy cập được cho tất cả trong nhóm.
Đặc điểm kỹ thuật theo các bước quy trình mẫu
Hình minh họa cho thấy các bước quy trình trong Đặc tả bằng ví dụ.
Chống mẫu
Anti-pattern là một số mẫu nhất định trong phát triển phần mềm được coi là một phương pháp lập trình tồi. Trái ngược với các mẫu thiết kế, là cách tiếp cận phổ biến đối với các vấn đề chung, đã được chính thức hóa và thường được coi là một phương pháp phát triển tốt, các mẫu chống thì ngược lại và không được mong muốn
Các mô hình chống lại làm phát sinh nhiều vấn đề khác nhau.
Chống mẫu | Các vấn đề |
---|---|
Không hợp tác |
|
Không biết khi mã hoàn thành |
|
Ví dụ quá chi tiết hoặc quá tập trung vào giao diện người dùng |
|
Đánh giá thấp nỗ lực cần thiết |
|
Giải pháp cho các vấn đề - Chất lượng
Chất lượng có thể được đảm bảo bằng cách giữ đồng hồ trên các mẫu chống. Để giảm thiểu các vấn đề do anti-pattern tạo ra, bạn nên -
Cùng nhau để xác định bằng cách sử dụng các ví dụ.
Làm sạch và cải thiện các ví dụ.
Viết mã đáp ứng các ví dụ
Tự động hóa các ví dụ và triển khai.
Lặp lại cách tiếp cận cho mọi câu chuyện của người dùng.
Để giải quyết các vấn đề do chống lại các mẫu có nghĩa là tuân thủ -
Collaboration.
Đang tập trung vào cái gì.
Tập trung vào Kinh doanh.
Được chuẩn bị.
Hãy để chúng tôi hiểu ý nghĩa của mỗi điều trên.
Hợp tác
Phối hợp -
Doanh nhân, nhà phát triển và người kiểm tra đưa ra ý kiến đóng góp từ quan điểm của riêng họ.
Các ví dụ tự động chứng minh rằng nhóm đã xây dựng điều chính xác.
Quá trình này có giá trị hơn chính các bài kiểm tra.
Tập trung vào cái gì
Bạn phải tập trung vào câu hỏi - 'cái gì.' Trong khi tập trung vào 'cái gì' -
Đừng cố gắng bao quát tất cả các trường hợp có thể xảy ra.
Đừng quên sử dụng các loại thử nghiệm khác nhau.
Giữ các ví dụ càng đơn giản càng tốt.
Các ví dụ phải dễ hiểu đối với người sử dụng hệ thống.
Dụng cụ không nên đóng một vai trò quan trọng trong hội thảo.
Tập trung vào kinh doanh
Để tập trung vào công việc kinh doanh -
Giữ đặc điểm kỹ thuật theo ý định kinh doanh.
Bao gồm doanh nghiệp trong việc tạo và xem xét thông số kỹ thuật.
Ẩn tất cả các chi tiết trong lớp tự động hóa.
Được chuẩn bị
Hãy chuẩn bị cho những điều sau -
Lợi ích không rõ ràng ngay lập tức, ngay cả khi các phương pháp của nhóm được thay đổi.
Giới thiệu SbE là một thách thức.
Yêu cầu thời gian và đầu tư.
Kiểm tra tự động không miễn phí.
Công cụ
Việc sử dụng các công cụ là không bắt buộc đối với Đặc tả theo Ví dụ, mặc dù trong thực tế, một số công cụ có sẵn. Có những trường hợp thành công theo Đặc điểm kỹ thuật bằng Ví dụ ngay cả khi không sử dụng công cụ.
Các công cụ sau hỗ trợ Đặc tả theo Ví dụ:
Cucumber
SpecFlow
Fitnesse
Jbehave
Concordion
Behat
Jasmine
Relish
Speclog