Tools for quality assurance

As announced in our previous post, let’s have a closer look at the tools required for quality assurance

The tools

There are plenty of tools to assist engineers in controlling and improving product quality. They are helpful, and should be used.

Modern workstations and a good working environment are factors that are often neglected, but they play a part in making software development more efficient, and the same applies to quality assurance. If your workstation is too slow to run your regression tests in time, you will be tempted to omit them. Also, certain kinds of tests benefit from fast environments – detecting racing conditions and memory leaks are good examples. Virtual machines also provide a manageable means to simulate many different environments for testing, and we frequently make use of them. Investment in a good working environment pays off, and the costs incurred are not that significant compared with payrolls.

Testing frameworks are in widespread use, and you might need more than one. In fact, we use half a dozen for different kinds of tests, languages and environments, for unit tests, integration tests and web service tests, for functional, endurance, stress and performance testing, for components written in Java, C++, C#, and JavaScript. This requires the use of rather a lot of testing tools, which are part of our continuous integration build systems.

Coding style checkers, lint tools and further, more sophisticated analysis tools support the execution of test cases. These are industry standard tools, and their warnings should be taken seriously. The automated code walkthroughs are also part of our build suites.

Tools are also helpful for management tasks. We document, track and discuss bugs and tasks in Atlassian’s Jira (www.atlassian.com).

Useful as tools may be, you still need to know how to apply them. If you know your software engineering methods, you can often do without specialized tools. Scrum walls are a prime example of a low-tech tool that gets the job done.

That is why our next post will deal with the appropriate software engineering methods.

Previous posts:

  1. Software Quality Assurance for the PTV xServer Product Line – a Report from the Trenches
  2. Software Quality Assurance for the PTV xServer
  3. How do we achieve quality?

[ratings]