History
Since many years we are using software testing and analyze for development and web site checks. Over all these years we built an inhouse service which is made available to the public as is-it.io. A bit of history first:
Unit testing for the wild
Unit testing was widely accepted in software development, so was it for us. Writing tests and then the code which got executed by these tests is called TDD and was used inhouse here and there. As we built a lot of extensions for the Joomla CMS it was strange to abstract you out of hell, which harmed the core principle of unit testing. Integration testing felt a bit better but not really. All started with a first selenium demo on a Joomla conference. Starting a browser which performed some actions from code was amazing to see. Time to jump into that area as there was finally a tool which actually tested the outcome we were interested in.
Bash scripts and virtual machines
As we started with automated browser testing for our web apps, CMS extensions and web sites, all was handmade and a combination of bash scripts, different servers for web sites, selenium and the testing code together with virtual machines. There was no CI at that time. Coping the same setup on a laptop for abroad or when new versions were out was very time consuming and error prone.
Docker came to the table
It took us a couple of years till we discovered the benefits from docker. Once we started using containers, we migrated most of the virtual machines to containers with our polished bash scripts. The time in the dependency hell was over.
Large CI setup
We have been using source code control systems since the beginning, first subversion and then git. Except for a short period with Jenkins we never used CI tools together with a source code management platform. Tests wre always executed manually before a commit, merge or release was made.
For a couple of years served us then drone.io as CI pipeline, where automated code checks and our system tests on commits and during the night were executed. As we introduced an inhouse Gitlab instance, we made a strong use of their CI pipeline with static code analysis, automatic deployments and a private docker registry. Life started to become very easy and predictable.
Our different software projects are tested now for code style, static code analyze and system tests. Every night, on every commit, on every branch, on every test release for the customers and the final releases. All together we are executing over 4'000 system tests every night.
Tools we use(d)
Over all these years we used and still use tools from different open source projects. Some noticeable ones we will highlight here:
- Selenium: It was the the first tools we used to start a browser and perform the clicks
- Codeception: A nice PHP web driver abstraction for Selenium
- Cypress: Runs the tests directly in the browser
- Vagrant A scriptable virtual machine tool
- Docker The container tool for any kind of service or task
- Kubernetes For automating deployment, scaling, and management of containerized applications
Public platform
On some point we decided to consolidate our knowledge and build a platform where people can automatically test their web sites without deep technological knowledge or complex server setup. That's the moment were is-it.io was born. It is a simple application which manages your sites and allows you to test and analyze your sites health constantly. With a no code approach you can click together your tests and let them run on our cluster infrastructure.

Want to get see what the platform is able to do? Jump into our extensive documentation or register your web site today for free. No credit card is required and you can start right away.