gpt4 book ai didi

bdd - 如何记录故事/功能中的非功能性需求 (NFR)?

转载 作者:行者123 更新时间:2023-12-04 20:04:37 31 4
gpt4 key购买 nike

Specification By Example book说明可以使用示例指定非功能性需求(通常称为 NFR)。

一位同事还告诉我,非功能性需求可以使用以下格式使用 SBE 故事来指定:

Scenario: ...
Given ...
When ...
Then ...

这是从 wikipedia 中获取的功能性和非功能性需求示例:

A system may be required to present the user with a display of the number of records in a database. This is a functional requirement. How up-to-date this number needs to be is a non-functional requirement. If the number needs to be updated in real time, the system architects must ensure that the system is capable of updating the displayed record count within an acceptably short interval of the number of records changing.

问题 1:非功能性需求是否可以指定为故事?

问题 2:是否应将非功能性需求指定为故事?

问题 3:故事会是什么样子?

最佳答案

我将通过示例给出答案。

假设您的团队已经实现了以下故事:

Scenario: User can log in to the website
Given I have entered my login credentials
When I submit these credentials
Then I get navigated to my home screen

回答问题 1) - 能否将非功能性需求指定为故事?

项目利益相关者给了你一个 NFR,上面写着:

For all website actions, a user should wait no longer that five seconds for a response.

您可以为此创建一个故事,如下所示:

Scenario: User can log in to the website in a timely fashion
Given I have entered my login credentials
When I submit these credentials
Then I get navigated to my home screen
And I should have to wait no longer than the maximum acceptable wait time

请注意,我没有强制指定“5”秒,而是保持场景声明性,而是指定“等待不超过可接受的最长等待时间”。

回答问题 2) - 是否应将非功能性需求指定为故事?

NFR 应该绝对被指定为一个故事。

创建一个故事可以估计这个任务的复杂性(这样团队就可以确定它相对于过去故事的难度),而且团队可以将故事分解成任务(可以按小时来估计,所以如果团队可以在当前的 sprint 中实现这个故事,你可以算出)。

因此,在我设计的示例中,团队可能已经实现了登录代码,但他们随后会确定如何实现登录时间不得超过 5 秒的要求。您还将允许能够探索这个问题的逆过程,即如果登录时间超过五秒会发生什么?例如

Scenario: User encounters a delay when logging in to the website
Given I have entered my login credentials
When I submit these credentials
And I wait for over the the maximum acceptable wait time
Then the Production team is informed
And the problem is logged
And I get navigated to my home screen

最后,关于问题 3) - 这个故事会是什么样子?

我已经在答案 1) 和 2) 中详细说明了故事的样子

关于bdd - 如何记录故事/功能中的非功能性需求 (NFR)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19312515/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com