Lead Test Engineer
Home Office Digital - Salford
Salford
Home Office Digital designs, builds and develops services for the rest of the department and for government. Every year our systems support up to 3 million visa applications, checks on 100 million border crossings, up to 8 million passport applications and deliver 140 million police checks on people, vehicles and
property.
As a Lead Test Engineer, you will decide and drive the test engineering approach within your programme area. You will decide and implement approaches to assure, measure and build quality into every phase of the software development life cycle. You will define and implement product level test engineering strategies in large scale or complex projects while ensuring that these are aligned to portfolio level Test Engineering approaches and follow QAT Test Engineering principles. You will also be actively contributing to portfolio level Test Architecture.
You will be responsible for solving engineering challenges of QAT approaches adopted in projects that you directly work with or are consulted for. This involves developing new frameworks, reviewing, and enhancing existing frameworks to help deliver scalable solutions.
Main Responsibilities
- Ownership of existing test frameworks and actively reviewing them, identifying need for new frameworks, and delivering these at scale.
- Leading and coaching a team of test engineers and helping solve technical challenges that the team may require assistance with, evaluating efficacy of test engineering processes across projects and suggesting improvements. Promoting convergence, creating shared capabilities and data driven approaches within test engineering.
- Embracing innovation - evaluating tools and recommending approaches that can benefit testing. For instance ones used for virtualisation, data mocking , contract testing or other automated integration testing techniques, and deciding tools and approaches for automated test data management, test results aggregation and release management. Enabling precise, real-time reports of automation test runs and also roll-up reports.
- Managing test infrastructure usage and deciding approach to running distributed, parallel tests. Using container & cloud technology to orchestrate faster, scalable tests while optimising costs.
- Working with teams to promote use of code scan, code quality, accessibility testing and observability tools.
- Participating in the QAT Test Engineering community as well as QAT recruitment to help it grow.
Essential Skills
- Programming using Java to write secure, reusable, and maintainable automated tests and test utilities. You should be able to use concepts like thread management, synchronisation, resource, and memory management to increase the efficiency of test engineering solutions and be able to use scripting languages like Bash or PowerShell (Lead essential criteria).
- Using and implementing tools like Selenium, RestAssured, Serenity BDD (or similar), build tools like Maven or Gradle, code management tools like git.
- Using and implementing unit test frameworks like JUnit, assertion libraries, data serialisation tools, security best practices like OWASP Top 10 and standards such as WCAG to design automated accessibility tests.
- Extensively using CI/CD tools for pipeline automation and a solid understanding of release pipeline concepts. Familiarity with containerization platforms like Docker and container orchestration platforms like Kubernetes.
- Using and implementing POM test design pattern and SOLID code design principle.
- Implementing coding guidelines and standards with a solid understanding of protocols and architectural styles involved in implementing tests.
- Ability to actively engage with performance testing engineers and work alongside them to identify performance bottlenecks. Ability to read, interpret and articulate performance reports.