软件测试是否按以下顺序进行?
testing
我想确认功能测试是否在集成测试之后完成。
谢谢
发布于 2010-09-08 19:16:06
在TDD编码环境中,这些测试通过的顺序通常遵循您的顺序;然而,它们通常是以相反的顺序编写的。
当团队获得一组需求时,他们应该做的第一件事就是将这些需求转化为一个或多个自动验收测试,从而证明系统满足定义的所有功能需求。当这个测试通过时,你就完成了(如果你写的很好)。考试,当第一次写,显然不应该通过。如果它引用了您尚未定义的新对象类型,那么它甚至可能无法编译。
一旦编写了测试,团队通常可以看到在高级别通过测试所需的内容,并按照这些思路分解开发。在此过程中,将编写集成测试(测试对象之间的交互)和单元测试(测试与其他代码几乎完全隔离的小型原子功能)。使用像ReSharper这样的重构工具,这些测试的代码可以用来创建对象,甚至是被测试功能的逻辑。如果您正在测试A+B的输出是C,那么请断言A+B == C,然后从测试夹具中的逻辑中提取一个方法,然后提取包含该方法的类。您现在有了一个对象,该对象具有一个可以调用的方法,该方法生成正确的答案。
在此过程中,您还测试了需求:如果需求断言给定的答案(给定的A和B )必须与1+2==5在逻辑上等效,那么这些要求就有不一致之处,表明需要进一步澄清(即有人忘记提到D=2应该在A+B == C之前添加到B中)或技术上的不可能(即计算需要一天中有25小时或字节中有9位)。毫无疑问,在任何开发开始之前,您已经从需求中删除了所有这些不一致的地方,这是不可能的(敏捷方法通常认为这是不可行的)。
https://stackoverflow.com/questions/3670943
复制相似问题