Technology

Quality assurance: testing your service regularly

You need to test your service regularly as part of quality assurance (QA) to make sure that it:

  • is easy to use for anyone who needs to use it, regardless of the device they’re using
  • is stable, secure and works quickly, regardless of how many people need to use it
  • can be iterated quickly to meet changes to user needs or the political environment

You should test the usability of your service as well as the technical parts.

Learn more about how user research improves service design.

Involving the whole team

You should make sure all members of your team know how to:

  • set goals for quality and measure your service’s performance against them
  • identify problems or risks with any aspect of your service
  • take action to fix any issues and improve quality

Why test for quality

You will not know how good your product is until you test it in simulations of both normal and unusual conditions (for example, when your service has lots of visitors or is attacked).

Testing for quality helps you:

  • make sure your service does what your users need it to do
  • build your service at a cost that is acceptable to your organisation (this cost includes business change and risk, as well as money)

How to test

From discovery, you should think about the quality of your service. During development, you should test for quality in a way that confirms:

  • your code works the way you expect it to
  • your service is protected against malicious attacks
  • iterating your code will not break existing functionality

From beta, you should test to check that your service meets government accessibility requirements.

Automated testing

You should aim to automate as much of your testing as possible and run your test suite as part of continuous integration (where your tests form part of your codebase). By testing your code automatically every time you make a change, you’ll be able to find defects more quickly.

Getting fast feedback means you can respond to any problems quickly and make changes when you need to. You can also spot defects before they develop into bigger problems that are more complicated and expensive to fix.

Review your testing process

You should review your testing process regularly to identify where it could be improved. For example, you could look at how to automate more tests or check if your team’s delivery style supports your testing process.

Types of testing

You should run different types of tests depending on what you need to check, for example:

You may find it’s useful to hire experts from outside your team, especially for some types of testing (for example, vulnerability and penetration testing).

Learn more about working with contractors and third parties.

You may find these guides useful:

Last update:

Clarified guidance on why and how to test, and condensed information on hiring QAs. Changes based on user testing.

  1. Guidance first published