# 收藏清单:Java测试相关资源汇总




## Virtual environments 虚拟化环境

* [Vagrant](https://www.vagrantup.com/) - 配置简单可信赖的虚拟化环境管理工具
* [Docker](https://www.docker.com) - docker就不用多说了

## Performance & stress & load 性能测试

* [Apache JMeter](http://jmeter.apache.org/) - 支持性能及功能测试
* [The Grinder](http://grinder.sourceforge.net/) - 使用多台测试机运行分布式性能测试的框架
* [Lightning](http://automatictester.github.io/lightning/) - 融合JMeter，不支持功能测试，支持CI/CD
* [Tsung](http://tsung.erlang-projects.org/) - 基于Erlang的性能测试工具，支持多协议
* [Gatling](http://gatling.io/) - Gatling是基于Scala, Akka 和 Netty的开源性能测试框架. 非常适合做压力测试。它的设计初衷是易用，好维护和高性能。 DSL易于理解，测试场景可以自解释，脚本维护简单，可以直接在代码库中进行管理。

## Build Tools 构建工具

* [Apache Ant](http://ant.apache.org/) - 不用多解释了，构建java项目的自动化工具
* [Apache Maven](http://maven.apache.org/) - Apache Maven 是软件项目管理的综合工具. 基于 project object model (POM), Maven可以从中心信息管理项目构建,报告及文档
* [Gradle](https://gradle.org/) - Gradle 是开源的自动化构建系统。 Gradle可以自动化的构建，测试，发布及部署。

## Continuous Integration 持续集成

* [jenkins](http://jenkins-ci.org/) - 可扩展的开源持续集成server
* [TeamCity](https://www.jetbrains.com/teamcity/) - 功能强大，用户友好的持续集成及部署工具，开箱即用

## Reporting 报告

* [ReportPortal](https://github.com/reportportal/reportportal) - 强大的服务端报告工具。降低了处理结果的工作量。 提供了测试执行的历史数据，日志截图以及任意二进制文件的记录和存储。
* [Allure](https://docs.qameta.io/allure/latest) - 开源框架，目的是为团队中的每个人创建清晰的测试报告。
* [Gradle Allure Plugin](https://github.com/d10xa/gradle-allure-plugin) - 第三方的 Gradle Allure插件可以将Allure集成到spock, testing 和junit用例中。
* [ExtentReports](http://relevantcodes.com/extentreports-for-selenium/) - HTML报告库支持.NET和Java，使使用简单，可以创建美观的测试报告。
* [ReportNG](http://reportng.uncommons.org/) - ReportNG 是一个简单的 TestNG HTML报告插件。

## Editors, IDE, consoles 编辑器 IDE

* [IntelliJ IDEA](https://www.jetbrains.com/idea/) - 免费开源的IDE 支持 Java, Groovy, Scala 和 Android 开发
    * [IntelliJ IDEA Selenium plugin](http://perfect-test.com/index.php/ru/instruments-rus-menu/15-selenium-plugin-rus) - IntelliJ Idea 插件，使selenium用例编写更简单。
* [Eclipse](https://eclipse.org/ide/) - 最有名的JavaIDE同时也支持 C/C++和PHP
    * [Genie plugin](https://sourceforge.net/adobe/genie/wiki2/FAQ/) - 测试AS 3.0 SWF和Flash游戏的功能测试工具  
* [NetBeans](https://netbeans.org/features/index.html) - NetBeans IDE 是Java 8的官方IDE

## ORM frameworks and libraries ORM框架和库

* [Hibernate](http://hibernate.org/orm/) - SSH里的H
* [Morphia](https://github.com/mongodb/morphia) - Morphia一款是轻量的类型安全的MongoDB对象mapping库
* [MyBatis](http://www.mybatis.org/mybatis-3) - MyBatis 是一款优秀的持久层框架，它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息，将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

## Useful libs 有用的库

* [StreamEx](https://github.com/amaembo/streamex) - Java 8 Streams加强库。
* [Vavr](https://github.com/vavr-io/vavr) - Vavr 是Java 8的object-functional 语言扩展, 目的是减少代码行数和增强代码质量。
* [Lombok](https://projectlombok.org) - Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具，通过使用对应的注解，可以在编译源码的时候生成对应的方法。
* [AspectJ](https://eclipse.org/aspectj) - Java的面向切面编程工具.
* [aShot](https://github.com/yandex-qatools/ashot) - WebDriver 截图工具.
* [rest-assured](https://code.google.com/p/rest-assured/) - 用Java来测试REST服务比动态语言比如Ruby Groovy要难。 REST Assured 可以给Java带来类似动态语言测试REST服务的体验
* [WireMock](http://wiremock.org/) 灵活的 web 服务mock库，跟一般的mock目的不同的是，WireMock使用了真实的web服务
* [MockServer](http://www.mock-server.com/) 可以用来mock任何基于HTTP和HTTPS的系统 (比如services, web sites,等).
* [XMLUnit](http://www.xmlunit.org/) - 测试和比较 XML，支持 Java 和 .NET
* [Awaitility](https://github.com/awaitility/awaitility) - Awaitility是测试异步代码的库
* [Beanmother](https://github.com/keepcosmos/beanmother) - 初始化Java Bean作为test data的库

# Resources 资源
* [Serenity BDD (Thucydides) libraries](http://thucydides.info/docs/thucydides-one-page/thucydides.html)
* [Automation tests structure](http://habrahabr.ru/post/168451/)

## Websites 网站

* [automated-testing.info](http://automated-testing.info) - 自动化测试社区
* [atinfo.github.io/at.info-knowledge-base](http://atinfo.github.io/at.info-knowledge-base/)  - 各种工具和技术实现的自动化测试的例子
* [测试教程网](http://www.testclass.net/): 最权威的中文测试教程汇总网站
* [selenium-simplified](http://seleniumsimplified.com/) - 让selenium webdriver测试更简单




原始封面

![课程图片](https://images.unsplash.com/photo-1507925921958-8a62f3d1a50d?w=300)


