Reg - 单元测试和技术知识

时间:2015-01-22 17:22:03

标签: java unit-testing

我是单元测试的新手,我主要从事功能测试的自动化(前端使用 - Selenium和Jmeter)。

我想知道我是否需要通过查看代码对基于Java的Web应用程序进行单元测试,然后我应该对底层技术有一个清晰的理解,例如:servlets,jsp,ejb和设计模式;基于哪个应用程序构建?或者仅仅掌握Core Java的知识就可以查看代码并理解它们并在junit中编写单元测试了吗?

请提供您的建议。谢谢。

1 个答案:

答案 0 :(得分:0)

对我来说,单元测试是两个非常不同的事情,这取决于你是否在编写代码之前编写测试以使它们通过(测试驱动开发)或者如果你试图在代码之后验证某些行为在测试中已经写好了。经过一些练习后,前者可以很容易地进行,而后者通常会非常具有挑战性(特别是如果代码不是以可测试性为基础开发的)!

如果我怀疑你将测试已经编写过的代码,那么值得研究的是Michael Feathers' Working Effectively With Legacy Code。在本书中,Feathers非常详细地描述了如何围绕代码进行测试,以便可以安全地修改和扩展它,而不会无意中改变行为。他描述的许多测试都是单元测试,但其他测试可能是集成测试 - 他的目标是能够在代码中安全地工作。无论如何,他为测试相关的开发提供了很好的词汇,并提供了很好的测试策略,任何参与软件测试的人都有兴趣阅读。

关于要知道的工具,我建议学习模拟对象库,例如JMockitMockito。无论您是在测试servlet,EJB还是其他任何东西,对这两者的了解都将非常有用。他们的目的是代表合作课程,这样他们就能以一种有趣的方式提供完成练习测试主题所需的结果,而不需要过多的旋转来使实际的合作者处于正确的状态以达到同样的目的。就个人而言,我喜欢JMockit,如果你必须为已经存在的代码编写测试,我会说这是必不可少的。

相关问题