TestingBot Blog

TestingBot provides a cloud of browsers and devices, ready to run your Automated, Live and Visual tests.

< Back to Blog Overview

Continuous Deployment Overview

2018-11-19

In this article, we'd like to talk about how we at TestingBot make sure that new code that goes into production is tested thoroughly.


As a cloud testing company, we deal with testing on a daily basis. For us to provide a good service, it's essential that we use the service ourselves.

For this reason, everything at TestingBot is being tested by TestingBot itself (*inception*).


For our website we've got a batch of Selenium tests which test various functionality on several browsers and platforms.
Here's what our tests are verifying:


We've configured our test runner to be able to run on several environments via a configuration setting:


For each environment, we use a separate database, to make sure we do not mix data between environments.

Running tests against code that's about to go into production.


Repository Setup

We make sure that our production webserver syncs code from our master branch.
We've also toggled a setting in our repository that we can only push new code in our development branch, not in our master branch.
The only one with a access to push to master is our Jenkins CI.


We've also added a GIT hook to our repository that will trigger a Jenkins CI Job as soon as we push new code into the repository.
This Jenkins CI job does the following:


The process outlined above makes sure that we always know that new changes that go into production pass all tests.


Deploying to production

Once Jenkins informs us that all tests pass (we use a Slack hook), we can deploy the new code.


Once the code is deployed, we will run the same tests again, this time we set the environment variable to production.


If all goes well, these tests should all pass, since they already passed in our staging environment.

Improvements

Since we're an Automated Testing company, we'd like to improve this process in the future.

When the staging tests pass, we can configure our Jenkins to automatically deploy the new code from the master branch. At this point, we've basically reached the Continuous Deployment level.


How TestingBot can help you

Interested in using this approach for your product? At TestingBot, we provide over 4600 browser combinations to run tests against.
Once you've created some Selenium tests and connected the tests with our grid, you can start testing your code on various platforms, browsers and devices.

< Back to Blog Overview

Sign up for a Free Trial

Start testing your apps with TestingBot.

No credit card required.