SUMMARY OF RESPONSIBILITIES
As a QA Engineer, you will play a critical role in designing, developing, and implementing automated testing frameworks to ensure the quality and reliability of our data-driven applications and APIs. You will be responsible for expanding test automation coverage, optimizing test strategies, and collaborating closely with development, data, product teams and other stakeholders.
This role requires a strong understanding of software testing methodologies, API validation, performance testing, and automation tools.
KEY AREAS OF RESPONSIBILITIES
Test Strategy and Planning:
- Contribute to test strategy formulation and drive improvements in test planning.
- Define test scope, success criteria, and test environments for different projects.
- Collaborate with stakeholders to align test coverage with business objectives.
Test Execution & Automation:
- Implement and execute manual and automated test cases across APIs, databases, and UIs.
- Expand automation test coverage using Python (pytest), Postman, and any other frameworks.
- Identify inefficiencies in the testing process and propose improvements.
- Ability to detect design flaws and inconsistencies.
- Ability to analyse design documents, identify gaps or inconsistencies in requirements, and ensure completeness.
Defect Management & Root Cause Analysis:
- Investigate, track, and document defects using proper defect management tools.
- Conduct root cause analysis and work with developers to ensure timely fixes.
- Continuously monitor test results and improve stability.
CI/CD & Security:
- Enhance CI/CD integration by automating test execution in Gitlab pipelines.
- Apply OWASP Top 10 security best practices in API and performance testing.
Documentation & Collaboration:
- Maintain comprehensive test documentation, including test cases, scripts, and reports.
- Work closely with Developers, QAs, and Data Engineers to improve quality assurance processes.
- Mentor Junior QA Engineers and provide technical guidance.
- Coordinate on software release, including managing Change Requests (CRs), ensuring all items in the CR are tested in UAT, staging, and production (post-deployment).
FUNCTIONAL COMPETENCIES
Programming / Query Languages:
- GraphQL:
- Expertise in query syntax, fields, arguments, types, and resolvers.
- Ability to create queries to test use cases and validate responses.
- Knowledge of how to handle errors and validate error messages.
- Ability to use tools like Postman to test GraphQL endpoints.
- SQL:
- Expertise in writing SQL queries to retrieve and validate data.
- Ability to construct queries for testing data integrity and accuracy.
- Python:
- Expertise in scripting for automation tests against data structures, data quality, GraphQL API, REST API or any other data related scripting.
- Ability to write script to verify data accuracy across different data sources like DB, text files, PDF, API, etc.
Automation Testing Frameworks:
- Advanced proficiency in Python-based testing frameworks and tools (pytest, SGQLC, openpyxl, pdfplumber, etc.).
- Familiarity and knowledge of using Postman.
- Experience with k6, JMeter for API and system performance validation, including system monitoring tools like Grafana, Datadog, Dynatrace, etc.
Continuous Integration / Continuous Deployment (CI/CD) & GitOps:
- Strong understanding of GitLab/Jenkins for automated testing.
- Experience in Kubernetes, Helm Chart, ArgoCD.
API Development:
- Experience in API authentication and authorization methods.
- Familiarity with RESTful API, GraphQL API, gRPC
Security:
- OWASP Top 10 knowledge for API security assessment.
General Software Engineering Skills:
- Familiarity with version control systems like Git.
- Understanding of Agile development practices.
Soft Skills:
- Good collaboration skills to work with Developers, Data Engineers, and stakeholders.
- Strong communication skills for conveying technical concepts.
- Strong analytical and problem-solving skills.
- Ability to work in multidisciplinary teams and promote knowledge sharing.
QUALIFICATIONS & EXPERIENCE
Minimum Qualifications
- Bachelorβs degree in computer science, Information Systems Technology, or Software Engineering
- 3-5 yearsβ experience in QA/testing, with a focus on automation and API testing.
- Experience in Financial Services and/or Technology sectors is a plus.
- Proficiency in both English and Bahasa Malaysia.