Testdeed

Quickstart

Testdeed annotation based utility will help Gatling stress load test on cloud hosted springboot application.
Update your project dependency from below maven repository and you will be ready to implement testdeed.
https://mvnrepository.com/artifact/com.heapbrain/testdeed

 

Requirements

Make sure that you have Scala2.12.3 nature installed on your system and configure to your application.
JDK1.8 + version

 

A Word on Scala

Gatling simulation scripts are written in Scala, but don’t worry! You can run Gatling without knowing much about Scala. Testdeed will cover most of your needs and you’ll be able to run your scenarios. Testdeed makes all your work simple and the default simulation will build your scenarios and gives you report in same browser.

 

Implementation of Testdeed
  • First and foremost step you should do in your code is to add the dependency of Testdeed into your project and remove gatling related configuration from configuration file(Maven, Gradle) if any.

 

<!– https://mvnrepository.com/artifact/com.heapbrain/testdeed –> [Updated GET with feeder – issue fixed in 3.1.8]

<dependency>
    <groupId>com.heapbrain</groupId>
    <artifactId>testdeed</artifactId>
    <version>1.3.8</version>
</dependency>

**Refer Heapbrain.com or Maven for latest version of Testdeed.
Make sure your project does not have any errors or warnings. If so “run clean package”.
If any exception while running gatling like “java.lang.NoClassDefFoundError” then check your pom.xml and remove scope [compile/test].

If any dependancy using netty then below artifact-id should be exclude in your pom.xml. TestDeed is using latest version of netty.

<artifactId>netty-handler</artifactId>
<artifactId>netty-codec</artifactId>
<artifactId>netty-codec-http</artifactId>
<artifactId>netty-common</artifactId>
<artifactId>netty-buffer</artifactId>
<artifactId>netty-transport</artifactId>

 

Configurations
  • Testdeed.Properties
    Place the properties file under src/resource folder with the name testdeed.properties. This is mandary to load server details tor run Testdeed.
    This properties file used to pick the servers to should run stress load test. Based on the URL’s specified, Testdeed picks and displays in the browser, By default, server based on your testdeed URL will be selected, if no URL’s mentioned in the properties file. Based on selection it will run the test.Use the below format to specify the environments,
    qahost=http”//qaserver.url.com
    qphost=http”//qpserver.url.com
    prhost=http”//prserver.url.com

 

Report path

(mandatory)

  • Creating a performance folder under “src/main/webapp” for performance report. This will allow anyone can view the report from server. The generated report will be placed/replaced and can be viewed from anywhere.
  • If the Testdeed gatling performance runs in different server, anyone can access from http://environment/testdeed.html and click on the view the report without running it again.
    Also, can run performance from anywhere using server URL.

 

Annotation based configuration

Place below Testdeed annotation to your springboot main class to kick off the performance load test.

@TestDeedApplication(name=”Your application name”)
@ComponentScan(basePackages= {“com.heapbrain.core.testdeed”,”your_package”})

Place below code in spring main method, before your springboot run.
TestDeedApp.load(YourSpringBootApplication.class);

 

In Rest controller

Add the annotation on service level – @TestDeedApi(name=”Your Service name”, isProdEnabled=false) – Name should be unique
Add the annotation on method level (Optional)- @TestDeedApiOperation(name=”testGetService”, description=”Test application with testdeed”).

Powerful advantages of Testdeed – It has the functionality to feed your test data to Gatling, testdeed will automatically configure and feed data  randomly.

 

Sample Application (Implemented with Swagger and Testdeed)

 

Start your application once build success and run using application URL http://your_server_url:port/testdeed.html