References

Testing

Stress test

  • jmeter - Apache JMeter to load test functional behavior and measure performance
  • ab - Apache HTTP server benchmarking tool

5 clients 1000 times

ab -c 5 -n 1000 [url]

Usually what you get per service at least 4000 transactions per second. 4000-7000 per second per service.

What it means in practice in real world is that application service scalability is never the issue, the problem is always the database.

If the database is not scaled, the more application servers you will start upfront everyone will meet the backend and this usually probably causes problems.

Code Coverage

  • JaCoCo - Java Code Coverage Library
<plugin>
  <groupId>org.jacoco</groupId>
  <artifactId>jacoco-maven-plugin</artifactId>
  <version>0.7.10-SNAPSHOT</version>
  <executions>
    <execution>
      <id>default-prepare-agent</id>
      <goals>
        <goal>prepare-agent</goal>
      </goals>
    </execution>
    <execution>
      <id>default-report</id>
      <phase>prepare-package</phase>
      <goals>
        <goal>report</goal>
      </goals>
    </execution>
    <execution>
      <id>default-check</id>
      <goals>
        <goal>check</goal>
      </goals>
      <configuration>
        <rules>
        <!--  implementation is needed only for Maven 2  -->
        <rule implementation="org.jacoco.maven.RuleConfiguration">
          <element>BUNDLE</element>
          <limits>
            <!--  implementation is needed only for Maven 2  -->
            <limit implementation="org.jacoco.report.check.Limit">
              <counter>COMPLEXITY</counter>
              <value>COVEREDRATIO</value>
              <minimum>0.60</minimum>
            </limit>
          </limits>
          </rule>
        </rules>
      </configuration>
    </execution>
  </executions>
</plugin>