In quality assurance and testing, we’re using new technology, platforms and ways of working to help development teams meet user needs and make the delivery of services even better. We’re setting high standards and changing the way we test digital services in the Home Office.
Quality assurance and testing
Quality assurance and testing (QAT) is really at the centre of the Home Office mission and we have a skilled team that makes sure it’s delivered effectively. This means getting fast feedback, understanding how a service performs and helping the development team make informed decisions.
We automate as much of the testing as possible and run our test suites as part of continuous integration. By running tests every time we make a change, we find defects more quickly. We also use knowledge and experience to check systems manually, using experienced quality assurance testers or specialist users as part of exploratory testing.
We test services regularly as part of quality assurance to make sure they:
- are easy to use, on all devices
- are stable, secure and work quickly, regardless of how many users are accessing them
- can be iterated quickly to meet changing user needs or the political environment
It’s about testing the usability of the service, as well as the technical parts. This helps to get faster feedback, allowing teams to make quick decisions about their services.
Test engineering is an important part of our quality assurance approach. During development our test engineers help us check that:
- code works the way it’s expected to
- changes to code haven’t broken existing functionality
- services are protected against security threats
Using the right tools
Our approach to test automation needs different tools. We often use open source tools such as Selenium for front-end automation and RestAssured for testing APIs. We automate builds to help us control dependencies and configuration of our frameworks.
Our tools for test automation are increasingly integrated with the deployment train, which means working closely with developers to make sure we’re doing the right things.
Our test engineers often have experience writing test automation libraries or frameworks using object-oriented development in languages such as Java, C# and Scala.
It’s important that our automated tests are treated as part of the project code base, so the standards need to be the same. It also helps that our test engineers are familiar with the development language, which can make the process of development and testing much quicker.
We’re continuing to invest in our people and are recruiting for all levels of our organisation, from interns to heads of profession.
Comment by Anitha posted on
awesome post.thanks for sharing