Testing at Red Gate


What is software testing?

Breaking stuff. That's the simple answer, anyway. But it can take a lot of forms.

Software testing has a reputation as a low status activity. This is because in a lot of organisations, it is. The stereotypical tester is a kind of battery-farmed UI clicking chimp, devoid of respect or technical skills, and mechanistically running through a quality assurance checklist. It doesn't sound very appealing or very useful, and probably, it isn't. We're not sure about that, because we don't do it.

Of course, quality control is important. An application has to be functional, robust, scalable, and easy to use. Testing ensures that. Good testing ensures code is well designed, and applications are not only usable, but function in the face of being used - correctly or otherwise.

But there are better ways to ensure that quality of an application than clicking "Print Preview" ten thousand times, half a mile away from the guy who wrote the code.

So how is it different at Red Gate?

We don't think "breaking stuff" goes far enough, for a start. Also, we write code.

Our testers write the software that breaks the software we write; and in ways it hadn't even occurred to us to think about.

As a tester at Red Gate, you'll need to architect and maintain test harnesses that interact with our application code as it's being developed. You'll design test plans and work out just what kind of cruel and unusual inputs you need to feed our applications in order to find their weaknesses.

It's very different from writing application code. Developing an application, you solve single, well-defined problems. This is creative, certainly, but within the scope of a marketable product. The brief of the tester is a bit more free-form: get your head around the whole system, and find a way to make it explode.

Admittedly, you might have to click around the interface a few times. But you'll do it as part of a development team, and when you find a problem, you'll work with whoever wrote the code to find it and eliminate it.

Who are we looking for?

People who are thorough, and methodical, of course. Oh, and an evil genius would be nice. Somebody who can make the developer they're working with look alarmed and wonder just what's happened to their code.

You'll need the technical skills, tenacity, and deviousness to understand the minutiae of our software, and not stop until you've utterly wrecked it. You'll need to innovate and learn fast, too - we're always looking for ways to make our testing more efficient, improve automation, and get the best from new technologies.

If you've considered a career in development, we'd like you to think about testing, too. If you've always got to know how something works, or can't let a problem go until you've solved it, you'll probably get a lot out of testing at Red Gate.

What skills do I need?

For a start you'll need to be able to understand some pretty challenging technology. Most of our products are tools for Microsoft SQL Server, and our testers need to build a deep understanding of that so we can be sure we've covered all those nasty edge cases as well as the obvious stuff. We'll be throwing you in at the deep end, so you'll need to pick it up quickly!

We try to automate as many tests as we can, so you'll need to demonstrate that you can write good code. We use C# for all our code but if you are good with another language such as Java or C++ you'll be able to pick it up. You'll get to use the latest virtualisation technology, testing frameworks and profilers but we expect you to spot opportunities for moving our testing forward and do something about it.

You'll be working with some of the most talented software developers in the industry. We only take the best of the best and you need to be able to talk their language, tell them when they are wrong, back it up with evidence and then beat them at table tennis to settle the argument.

You'll be working as part of a small team, usually with a couple of developers and another tester, a project manager, a user experience specialist and a technical author. Your team will take responsibility for the whole project, from planning to shipping and you'll need to adjust your priorities at each stage of the project.

The project will be your baby and you'll care passionately about it, but you'll have to complement your natural thoroughness with an ability to make intelligent judgements about where your time is best spent. As a tester there are a million different tests you could run, but which ones are most likely to find problems so that our customers don't?

We develop our software iteratively and our testers are responsible for ensuring that every feature is really complete at the end of each iteration and that the product is really good enough to ship at the end of the project. That's a lot of responsibility and you'll need the confidence to argue your case when you think everyone else is wrong.

Where can I find out more?

For more about testing at Red Gate:

For general information about software testing:

Got a question?
01223 438 530
Book of Red Gate
Book of Red Gate Peek inside our company culture by reading our Book of Red Gate.

Employer Awards
Connect