Reliability as a Feature

When a business process breaks it can have an enormous impact on customer satisfaction, brand perception, employee morale and ultimately the bottom line. So we’re aiming to eliminate the risk of this ever happening to our customers. The processes that Gravity Flow customers implement cannot, and must not, be allowed to fail – there is just too much at stake. By bringing reliability to the surface we can focus on it just like any other feature.

Gravity Flow has grown a lot over the last 12 months and it’s getting more and more powerful with new features being added in each release. We’ll continue to grow but we also have an important responsibility to ensure that existing processes are not impacted along the way. The way we do this is by running a bank of tests before every release. We use two types of automated tests: unit tests and acceptance tests. The unit tests check that PHP functions always return the expected results. Acceptance tests, on the other hand, run in the browser and check how the application works as a whole with the HTML, the CSS, the PHP output, the JavaScript plus a set of predefined user interactions.

This is what our acceptance tests look like when we run them before every release. You don’t need to see all the tests to get the idea.

As you can see from the video, we already have a substantial bank of tests that cover the important features and scenarios and we’ll be adding to them periodically. However, now Gravity Flow has grown to become so incredibly flexible, it’s now unrealistic to expect complete coverage of absolutely every scenario – for every combination of workflow steps, loops and branches.

By inviting customers to participate, we’re aiming to make sure that our bank of standard acceptance tests covers, at the very least, the important parts of every process implemented by our customers.

Some processes may require special treatment – a dedicated test custom written to model the process as closely as possible. To accommodate this special service we’ve partnered with some great developers who already have experience developing acceptance tests for Gravity Flow and who can work with customers one-on-one. Once the test is ready it’ll be included in the bank of acceptance tests which are run before every release giving customers peace of mind that their process will never break because of an upgrade.

If you’re a developer and you’d like to find out more about acceptance testing, please check out my post on writing acceptance tests for Gravity Flow.

If you’re interested in adding your process to the bank of Gravity Flow acceptance tests and make absolutely sure that your business process never breaks, please get in touch for further details.

Steve Henty
Founder, Gravity Flow

Discover more from Gravity Flow

Subscribe now to keep reading and get access to the full archive.

Continue reading