Java常⽤测试⼯具⼤全
⽬录
第⼀部分:九款性能测试
Java⼊门
Java测试⼯具
1.Arquillian
2.JTest
3.The Grinder
4.TestNG
5.JUnit的
6.JWalk
7.Mockito
8.Powermock
9.Jemeter
第⼆部分:⼯具完善补充(有重复)
ParasoftJtest
Abbot
JProfiler
AppLoader
Agitator
Cactus
GJ-Coverage
JCover
JMeter
JStyle
HttpUnit
Junit
总结
第⼀部分:九款性能测试
Java⼊门
如果你才刚开始接触Java世界,那么要做的第⼀件事情是,安装JDK——Java Development Kit(Java开发⼯具包),它⾃带有Java Runtime Environment(JRE)和JVM(Java运⾏时环境)。它能让你在⾃⼰的电脑上编译、运⾏、测试你的Java程序。
此外,你还需要IDE(集成开发环境)。选择有很多,如IntelliJ、Eclipse和NetBeans。
Java测试⼯具
下⾯是我精选的8个最棒的Java测试⼯具和框架。
1.Arquillian
Arquillian是JVM⼀个⾼度创新性和可扩展的测试平台,⽀持Java开发⼈员轻松创建⾃动化集合的,功能性的和验收的测试。Arquillian允许在运⾏时间执⾏测试。Arquillian可以⽤来管理单个或多个容器的⽣命周期,捆扎测试⽤例,从属类和资源。它还能够部署归档到容器中,在容器中执⾏测试、捕获结果,并创建报告。
Arquillian集成了常见的测试框架,如JUnit 4、TestNG 5,并允许使⽤现有的IDE发布测试,并且由于其模块化的设计使得能够运⾏Ant和Maven测试插件。
2.JTest
JTest也被称为“Parasoft JTest”,是⼀款通过Parasoft制作的⾃动化的Java软件测试和静态分析软件。JTest包含的功能有:单元测试情况下的⽣成和执⾏、静态代码分析、数据流的静态分析、度量分析、回归测试、运⾏时错误检测。
此外,它还具备了同⾏代码审查流程⾃动化和运⾏时错误检测的功能,如:竞态条件、异常、资源和内存泄漏、安全漏洞攻击。
3.The Grinder
“The Grinder”是⼀个Java负载测试框架,不但运⾏简单,⽽且其分布式测试采⽤了许多负载注⼊机器。只要有Java API,The Grinder就可以负载测试。这包括HTTP Web服务器、SOAP和REST Web服务器、应⽤程序服务器、以及⽤强⼤的Jython和Clojure语⾔写的包含了⾃定义协议的测试脚本。The Grinder的GUI控制台允许对多个负载注射器进⾏监测和控制,并⾃动管理客户端连接和cookies、SSL、代理感知和节流连接。
The Grinder在BSD风格的开源许可下是免费的。
4.TestNG
TestNG是⼀款为Java编程语⾔设计的测试框架,灵感来⾃于JUnit和NUnit。 TestNG的主要功能是覆盖范围更⼴的测试分类,如单元、功能性、端到端,⼀体化等。它还有⼀些新的功能,可以使之更强⼤和更容易使⽤,如:注解、具备⼤型线程池各种策略的运⾏测试、多线程的代码测试、灵活的测试配置、参数化数据驱动的测试⽀持,等等。
TestNG⽀持各种各样的⼯具和插件,⽐如Eclipse、IDEA、Maven等等。
5.JUnit的
JUnit是⼀个为Java编程语⾔设计的单元测试框架。 JUnit为测试驱动开发框架的发展发挥了重要作⽤。它是现在被统称为xUnit的单元测试框架⼤家庭的组成成员之⼀,源于SUnit。
在编译时,JUnit可以连接作为JAR,⽤于编写可重复的测试。
6.JWalk
JWalk是⼀个为Java编程语⾔设计的单元测试⼯具包。它可⽀持被称为懒⼈系统单元测试的测试模式。JWalkTester⼯具能执⾏由程序员提供的编译过的任意Java类中的任何测试。通过静态和动态分析,以及提⽰后⾯的程序员,它能够使得测试符合惰性规范。
7.Mockito
Mockito是⼀款在MITLicense可⽤的⽀持Java的开源测试框架。Mockito允许程序员使⽤⾃动化的单元测试创建和测试双对象(模拟对象),以达到测试驱动开发(TDD)和⾏为驱动开发(BDD)的⽬的。
8.Powermock
PowerMock是⼀款⽀持单元测试源代码的Java框架。虽然PowerMock可以作为Mocking框架,例如Mockito和EasyMock的扩展⽽运⾏,但是它具备了更强⼤的能⼒。PowerMock利⽤⾃定义的类加载器和字节码操纵器,来确保静态⽅法的模拟、静态初始化的删除、函数构造、最终的类和⽅法以及私有⽅法。它的主要⽬的是通过最少的⽅法和注释来扩展现有的API,以获得额外的功能。
它在开源Apache License 2.0条件下可⽤,也可以在Powermock Google Code site到它.
补充
9.Jemeter
Apache JMeter是Apache组织开发的基于Java的压⼒测试⼯具。⽤于对软件做压⼒测试,它最初被设计⽤于Web应⽤测试,但后来扩展到其他测试领域。它可以⽤于测试静态和动态资源,例如静态⽂件、Java⼩服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器,等等。JMeter 可以⽤于对服务器、⽹络或对象模拟巨⼤的负载,来⾃不同压⼒类别下测试它们的强度和分析整体性能。另外,JMeter能够对应⽤程序做功能/回归测试,通过创建带有断⾔的脚本来验证你的程序返回了你期望的结果。为了最⼤限度的灵活性,JMeter允许使⽤正则表达式创建断⾔。
Apache jmeter 可以⽤于对静态的和动态的资源(⽂件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进⾏测试。它可以⽤于对服务器、⽹络或对象模拟繁重的负载来测试它们的强度或分析不同压⼒类型下的整体性能。你可以使⽤它做性能的图形分析或在⼤并发负载测试你的服务器/脚本/对象。
第⼆部分:⼯具完善补充(有重复)
ParasoftJtest
Jtest是Parasoft公司推出的⼀款针对java语⾔的⾃动化⽩盒测试⼯具,它通过⾃动实现java的单元测试和代码标准校验,来提⾼
代码的可靠性。
Abbot
Abbot是⼀款测试Java GUIs的JUnit扩展程序。
JProfiler
JProfiler是⼀个全功能的Java剖析⼯具(profiler),主要⽤于检查和跟踪系统(限于Java开发的)的性能的⼯具。AppLoader
AppLoader是⼀款负载测试和功能测试软件,模拟数百万个最终⽤户与应⽤程序的交互。
Agitator
Agitator帮助开发者创建和维护所有代码的单元测试。
Cactus
Cactus是⼀个基于JUnit框架的简单测试框架,⽤来单元测试服务端Java代码。Cactus框架的主要⽬标是能够单元测试服务端的使⽤Servlet对象的Java⽅法如HttpServletRequest,HttpServletResponse,HttpSession等
GJ-Coverage
测试Java程序的覆盖率⼯具,⽀持J2ME, J2SE, and J2EE。
JCover
Java代码覆盖率测试⼯具。
JMeter
开源的Java桌⾯应⽤程序,旨在加载测试功能⾏为和衡量绩效。
JStyle
Java源代码分析器。
HttpUnit
HttpUnit是⼀个开源的测试⼯具,是基于JUnit的⼀个测试框架,主要关注于测试Web应⽤,解决使⽤JUnit框架⽆法对远程Web内容进⾏测试的弊端。HttpUnit提供的帮助类让测试者可以通过Java类和服务器进⾏交互,并且将服务器端的响应当作⽂本或者DOM对象进⾏处理。
Junit
是通⽤的测试 java 程序的测试框架JUnit可以对Java代码进⾏⽩盒测试。通过JUnitk可以⽤mock objects进⾏隔离测试;⽤Cactus进⾏容器内测试;⽤Ant和Maven进⾏⾃动构建;在Eclipse内进⾏测试;对Java应⽤程序、Filter、Servlet、EJB、JSP、数据库应⽤程序、Taglib等进⾏单元测试。
java源代码加密
总结
本篇⽂章就到这⾥了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!