Senior Software Engineer
HSBC View all jobs
- Guangzhou, Guangdong
- Permanent
- Full-time
- Build and maintain automated test frameworks for API, UI, and integration testing.
- Develop reliable, maintainable test code using engineering best practices (clean code, reviews, refactoring).
- Create automated coverage for: functional regression, integration and end-to-end flows, negative and edge-case scenarios.
- Implement API test automation (REST/JSON, auth, contract/schema validation).
- Implement UI automation using modern tools (e.g., Selenium) with stable selectors and good synchronisation.
- Design and manage test data (seed data, mocks/stubs, synthetic data, environment readiness).
- Integrate automated tests into CI/CD pipelines with quality gates (smoke/regression suites, reporting, flaky test management).
- Support non-functional testing where needed (performance basics, resilience checks, accessibility checks).
- Improve observability for testing: logs, screenshots, traces, and actionable failure reporting.
- Collaborate with engineers to shift-left quality: participate in refinement, define acceptance criteria, and review changes for testability.
- Track and report quality metrics (pass rate, defect leakage, flaky rate, coverage of critical journeys).
- Use AI tools to accelerate QA engineering tasks, such as:
- generating test scenarios from user stories and acceptance criteria (including negative and boundary cases)
- drafting automation code scaffolding (page objects, API clients, test templates) and refactoring repetitive code
- generating and improving assertions, test data sets, and edge-case coverage
- summarising pipeline failures/logs and proposing likely root causes and next checks
- drafting documentation (README, test strategy notes, release test summaries)
- Validate AI-generated outputs through review, execution, and peer feedback—treating AI as an accelerator, not an authority.
- Strong programming skills in at least one language:Java / Kotlin, C#/.NET, Python, or TypeScript/JavaScript
- Solid understanding of test automation patterns:Page Object / Screenplay (UI), test pyramids, AAA pattern, fixtures, mocking
- API testing expertise: REST principles, JSON, status codes, auth (OAuth2/JWT), schema/contract validation
- UI automation experience with one or more: Playwright, Cypress, Selenium
- CI/CD experience: Jenkins, GitHub Actions, GitLab CI, or Azure DevOps; running tests headlessly; publishing reports
- Version control and collaboration: Git, pull requests, code reviews, branching strategies
- Debugging and troubleshooting: isolate failures, analyse logs, identify flaky tests, propose fixes
- Quality engineering fundamentals: risk-based testing, boundary/negative testing, defect lifecycle, clear reporting
- Practical experience using AI coding/testing assistants (e.g., IDE copilots) to improve readability and consistency of test code
- Performance testing exposure (k6, JMeter, Gatling) and interpreting results.
- Contract testing (Pact) and service virtualisation (WireMock, Mountebank).
- Containerisation and environments: Docker, Kubernetes basics.
- Cloud familiarity (Azure/AWS/GCP) and test execution in cloud pipelines.
- Security testing awareness (OWASP Top 10, SAST/DAST basics).
- Observability tooling (Splunk/ELK, App Insights, Datadog) and distributed tracing.