单元测试和功能测试之间的区别是什么?单元测试也可以测试函数吗?


当前回答

TLDR:

回答这个问题:单元测试是功能测试的一个子类型。


有两大类:功能测试和非功能测试。我发现的最好的(非详尽的)例子是这个(来源:www.inflectra.com):

(1)单元测试:测试小段代码(函数/方法)。它可以被认为是(白盒)功能测试。

当功能放在一起时,你创建了一个模块=一个独立的部分,可能有一个可以测试的用户界面(模块测试)。一旦你有了至少两个独立的模块,然后你把它们粘在一起,然后就来了:

(2)集成测试:当你把两个或多个(子)模块或(子)系统放在一起,看看它们是否能很好地发挥作用。

然后你整合了第3个模块,然后是第4和第5个模块,按照你或你的团队认为合适的顺序,一旦所有的拼图碎片放在一起,就完成了

(3)系统测试:对软件进行整体测试。这差不多就是“所有部件的集成测试”。

如果没问题,那就来吧

(4)验收测试:我们实际构建了客户要求的东西吗?当然,验收测试应该在整个生命周期中进行,而不仅仅是在最后一个阶段,在这个阶段,你意识到客户想要一辆跑车,而你建造了一辆货车。

其他回答

我认为它是这样的:单元测试确定代码执行了您希望代码执行的操作(例如,您想要添加参数A和b,实际上是将它们相加,而不是减去它们),功能测试测试所有代码一起工作以获得正确的结果,因此您希望代码执行的操作实际上在系统中获得了正确的结果。

我们可以很简单地说:

黑盒:用户界面测试,比如功能测试 白盒:类似单元测试的代码测试

点击这里阅读更多。

“功能测试”并不意味着测试代码中的函数(方法)。一般来说,这意味着您正在测试系统功能——当我在命令行上运行foo file.txt时,file.txt中的行可能会颠倒过来。相反,单个单元测试通常包含单个方法的单个情况——length(“hello”)应该返回5,length(“hi”)应该返回2。

另请参阅IBM关于单元测试和功能测试之间界限的论述。

TLDR:

回答这个问题:单元测试是功能测试的一个子类型。


有两大类:功能测试和非功能测试。我发现的最好的(非详尽的)例子是这个(来源:www.inflectra.com):

(1)单元测试:测试小段代码(函数/方法)。它可以被认为是(白盒)功能测试。

当功能放在一起时,你创建了一个模块=一个独立的部分,可能有一个可以测试的用户界面(模块测试)。一旦你有了至少两个独立的模块,然后你把它们粘在一起,然后就来了:

(2)集成测试:当你把两个或多个(子)模块或(子)系统放在一起,看看它们是否能很好地发挥作用。

然后你整合了第3个模块,然后是第4和第5个模块,按照你或你的团队认为合适的顺序,一旦所有的拼图碎片放在一起,就完成了

(3)系统测试:对软件进行整体测试。这差不多就是“所有部件的集成测试”。

如果没问题,那就来吧

(4)验收测试:我们实际构建了客户要求的东西吗?当然,验收测试应该在整个生命周期中进行,而不仅仅是在最后一个阶段,在这个阶段,你意识到客户想要一辆跑车,而你建造了一辆货车。

测试类型

Unit testing - In Procedural programming unit is a procedure, in Object oriented programming unit is a class. Unit is isolated and reflects a developer perspective Functional testing - more than Unit. User perspective, which describes a feature, use case, story... Integration testing - check if all separately developed components work together. It can be other application, service, library, database, network etc. Narrow integration test - double[About] is used. The main purpose is to check if component is configured in a right way Broad integration test (End to End test, System test) - live version. The main purpose is to check if all components are configured in a right way UI testing - checks if user input triggers a correct action and the UI is changed when some actions are happened ... Non functional testing - other cases Performance testing - calculate a speed and other metrics Usability testing - UX ...

(iOS测试) (安卓系统测试)