我曾在 FDA 监管的环境中工作过,负责质量工程,我可以告诉您,TDD/BDD 非常适合 FDA 审计员所针对的模型。
BDD 模型将允许您追踪:
需求 ->测试
测试 ->实施
实施执行->测试结果
In TDD or BDD (Behavior Driven Development) your requirements are captured in your tests.
You can either map your tests against actual requirements (more TDD model) or actually use your tests as the requirements for your product (more BDD model).
For a great example of what you can do with BDD and tests functioning as requirements, checkout RSpec and Cucumber from the Ruby/Rails world.
Having worked in an FDA regulated environment, with responsibility for Quality Engineering, I can tell you that TDD/BDD fits incredibly well into the model an FDA Auditor is working against.
When the requirements change, the tests change. Remember that the tests are the living documentation and requirements specification. Therefore, the change is seamless.
For example: Requirements changes lead to test expectation changes, which in turn lead to code changes.
May be I am missing something but TFD or TDD is at the unit testing level. What you are referring to is managed by Traceability matrix and/or acceptance tests in my opinion.
Agile traceability is very tricky to begin with, A lot of tools are currently available that claim to provide traceability by documenting user stories, or generating requirements from user stories or in TDD from Tests.
The point when we consider any Agile method is not having to emphasize on documentation(Read the Agile Manifesto. So, I am not sure how Agile will have traceability and also streamline with its core principles.
Lately found a traceablity, requirement management tool online. [http://code.google.com/p/ultimate-trace/ Ultimate Trace] Give it a try. It saved us a lot of effort maintaining traceability.
Re-read the manifesto. It values the right-half of the four statements more, but note that it reads, "there is value on the left." Which means that documents are not inherently evil or forbidden, they should just be view cautiously and should not overrule the real purpose of the work. That being said, electronic traceability tools have been out there for years, some more elegant and some absolute beasts. Tracking from test cases back to the stories defining them is important, especially as systems move into R&M. Otherwise, as systems grow you trade off chasing down documentation of the system for chasing down components of the system. Traceability may be handled by naming conventions, some feature of a configuration/code baseline tool, by a test suite tool, or by an RTM. The old, old school approach was an spreadsheet (slit my wrists, please), but we have come a long way by now.
发布评论
评论(6)
在 TDD 或 BDD(行为驱动开发)中,您的需求将在测试中捕获。
您可以根据实际需求(更多 TDD 模型)映射测试,也可以实际使用测试作为产品的需求(更多 BDD 模型)。
有关可以使用 BDD 做什么以及按照要求进行测试的一个很好的示例,请查看 RSpec 和 Cucumber 来自 Ruby/Rails 世界。
我曾在 FDA 监管的环境中工作过,负责质量工程,我可以告诉您,TDD/BDD 非常适合 FDA 审计员所针对的模型。
BDD 模型将允许您追踪:
In TDD or BDD (Behavior Driven Development) your requirements are captured in your tests.
You can either map your tests against actual requirements (more TDD model) or actually use your tests as the requirements for your product (more BDD model).
For a great example of what you can do with BDD and tests functioning as requirements, checkout RSpec and Cucumber from the Ruby/Rails world.
Having worked in an FDA regulated environment, with responsibility for Quality Engineering, I can tell you that TDD/BDD fits incredibly well into the model an FDA Auditor is working against.
A BDD model will allow you to trace through:
当需求改变时,测试也会改变。请记住,测试是动态文档和需求规范。因此,这种变化是无缝的。
例如:需求变化导致测试期望变化,进而导致代码变化。
When the requirements change, the tests change. Remember that the tests are the living documentation and requirements specification. Therefore, the change is seamless.
For example: Requirements changes lead to test expectation changes, which in turn lead to code changes.
可能我遗漏了一些东西,但 TFD 或 TDD 处于单元测试级别。您所指的内容由可追溯性矩阵和/或验收测试。
May be I am missing something but TFD or TDD is at the unit testing level. What you are referring to is managed by Traceability matrix and/or acceptance tests in my opinion.
敏捷可追溯性一开始就非常棘手,目前有很多工具声称可以通过记录用户故事、从用户故事或从测试中生成需求来提供可追溯性。
当我们考虑任何敏捷方法时,重点是不必强调文档(阅读敏捷宣言。所以,我不是确定敏捷将如何具有可追溯性,并以其核心原则进行简化。
Agile traceability is very tricky to begin with, A lot of tools are currently available that claim to provide traceability by documenting user stories, or generating requirements from user stories or in TDD from Tests.
The point when we consider any Agile method is not having to emphasize on documentation(Read the Agile Manifesto. So, I am not sure how Agile will have traceability and also streamline with its core principles.
最近在网上发现了一个可追溯性、需求管理工具。 [http://code.google.com/p/ultimate-trace/ Ultimate Trace] 尝试一下。它为我们节省了维护可追溯性的大量精力。
Lately found a traceablity, requirement management tool online. [http://code.google.com/p/ultimate-trace/ Ultimate Trace] Give it a try. It saved us a lot of effort maintaining traceability.
重新阅读宣言。它更看重四个语句中的右半部分,但请注意,它写着“左边有价值”。这意味着文件本质上并不是邪恶的或被禁止的,它们只是应该被谨慎地看待,并且不应该推翻工作的真正目的。话虽如此,电子追溯工具已经存在多年,有些更优雅,有些则绝对是野兽。从测试用例跟踪到定义它们的故事非常重要,尤其是当系统进入 R&M 阶段时。否则,随着系统的增长,您会在追查系统文档和追查系统组件之间进行权衡。可追溯性可以通过命名约定、配置/代码基线工具的某些功能、测试套件工具或 RTM 来处理。老派的方法是使用电子表格(请割开我的手腕),但我们现在已经取得了很大的进步。
Re-read the manifesto. It values the right-half of the four statements more, but note that it reads, "there is value on the left." Which means that documents are not inherently evil or forbidden, they should just be view cautiously and should not overrule the real purpose of the work. That being said, electronic traceability tools have been out there for years, some more elegant and some absolute beasts. Tracking from test cases back to the stories defining them is important, especially as systems move into R&M. Otherwise, as systems grow you trade off chasing down documentation of the system for chasing down components of the system. Traceability may be handled by naming conventions, some feature of a configuration/code baseline tool, by a test suite tool, or by an RTM. The old, old school approach was an spreadsheet (slit my wrists, please), but we have come a long way by now.