如果你不得不在一个软件项目中没有一个,你会选择哪一个?我有很多项目,客户或PM认为他们可以在没有其中一个的情况下逃脱.我们总是付出代价.
转过身来,在我身后重复:"测试是要求." :-)
如果你的意思是"正式要求",我可以轻而易举地做到这一点.我更喜欢一个活生生的呼吸客户,他可以告诉我他们想要什么,而不是严格的,过时的文件.切换到TDD后,我不想再回到"无测试"环境.我选择非正式要求 - 故事,现场客户和客户书面验收测试 - 超出正式要求而不进行测试.
我会说你可以不用测试而不是需求.如果您没有要求,您如何知道自己在开发什么?
如果程序员足够好,他们应该能够捕获测试会发现的大多数令人震惊的错误.