Operating system 使用TDD/BDD开发操作系统

Operating system 使用TDD/BDD开发操作系统,operating-system,tdd,bdd,Operating System,Tdd,Bdd,我只是想知道。世界上有没有人使用TDD或BDD来编写操作系统?这可能吗?我试着用谷歌搜索,但没有找到任何信息。 所以,伙计们。是否可以使用TDD构建整个操作系统?和BDD?在大多数操作系统开发和大多数代码中都可以使用TDD。由于低级(尤其是CPU/硬件特定)代码的可测试性有限,在某些时间/地点可能会变得棘手。这些部件可能会收到较少的直接测试覆盖率(如果可以的话),或者可以在虚拟机或CPU/PC模拟器中进行测试。在大多数操作系统开发和大多数代码中都可以使用TDD。由于低级(尤其是CPU/硬件特定)

我只是想知道。世界上有没有人使用TDD或BDD来编写操作系统?这可能吗?我试着用谷歌搜索,但没有找到任何信息。
所以,伙计们。是否可以使用TDD构建整个操作系统?和BDD?

在大多数操作系统开发和大多数代码中都可以使用TDD。由于低级(尤其是CPU/硬件特定)代码的可测试性有限,在某些时间/地点可能会变得棘手。这些部件可能会收到较少的直接测试覆盖率(如果可以的话),或者可以在虚拟机或CPU/PC模拟器中进行测试。

在大多数操作系统开发和大多数代码中都可以使用TDD。由于低级(尤其是CPU/硬件特定)代码的可测试性有限,在某些时间/地点可能会变得棘手。这些部件可能会受到较少的直接测试覆盖(如果可以的话),或者可以在虚拟机或CPU/PC模拟器中进行测试。

这是绝对可能的。我不知道有谁在做这件事


作为一个证明,我想指出人们在使用测试驱动的基础设施时,使用的是Chef和单元以及行为测试。有关更多信息,请参阅“为厨师服务”。

这绝对是可能的。我不知道有谁在做这件事


作为一个证明,我想指出人们在使用测试驱动的基础设施时,使用的是Chef和单元以及行为测试。有关更多信息,请参阅《厨师长》。

我真的对此表示怀疑。甚至调试内核coke都很困难,这有时需要特殊的硬件。但是TDD呢?否。@Linuxios您可能无法直接或轻松地测试OS/内核中的所有内容,但这并不会使TDD无法用于大多数代码。@AlexeyFrunze:用于驱动程序?你可以。模块?你可以。用于代码内存管理?您将花费比代码本身更多的时间来编写代码以使其成为可能。@Linuxios说测试应该总是比编写产品代码更容易?:)无论如何,你甚至可以测试一下。你可以利用虚拟化来解决一些可测试性问题。@AlexeyFrunze:没错,没错。我真的很怀疑。甚至调试内核coke都很困难,这有时需要特殊的硬件。但是TDD呢?否。@Linuxios您可能无法直接或轻松地测试OS/内核中的所有内容,但这并不会使TDD无法用于大多数代码。@AlexeyFrunze:用于驱动程序?你可以。模块?你可以。用于代码内存管理?您将花费比代码本身更多的时间来编写代码以使其成为可能。@Linuxios说测试应该总是比编写产品代码更容易?:)无论如何,你甚至可以测试一下。您可以利用虚拟化来解决一些可测试性问题。@AlexeyFrunze:True,True。