我认为功能测试是对两个或多个模块的测试,目的是发现缺陷,证明不存在缺陷,并验证模块是否能够实现预期的功能。
有针对Java应用程序的功能测试工具吗? 我需要这样做。 我知道我在单元测试中使用过的junit以及T2实用程序,它是对junit的扩展,我已将其用于自动化测试。 是否有用于功能测试的特定框架或工具?
实际上,您所描述的称为集成测试。 功能测试也称为验收测试(确保系统执行客户期望的操作)。
JUnit更针对单元测试。对于功能测试,请看一下TestNG,它提供了高级功能测试功能,例如:
组。
测试多线程代码。
并行运行。
依赖关系。
套件级别的配置。
依赖注入(Guice)。
谢谢,我会尝试TestNG
通过引入Junit4,您还可以使用Junit进行Java的功能测试。
最新的junit 4版本(junit 4.11)具有一些非常好的功能,例如参数化,注释支持和注释,例如@Ignore,异常测试支持,套件配置等。
但是,偏离路线时,您将需要做一些修改以处理断言的默认致命行为。您可以参考http://apitestingwithjunit.blogspot.in/上的实现方法(不要担心,这很简单)。
尽管测试方式可能有所不同,但基本上是相同的工具集。
我认为许多功能和集成测试都是一回事。因此,我将使用更多面向BDD的工具,例如easyb或JBehave,而不是"原始" JUnit或TestNG。
根据您要测试的功能,像mockito或powermock这样的模拟库很方便,尽管可能不如"纯"单元测试那么多。