Candidates
Job Title
Software Quality EngineerEmployment Type
ContractExperience
4 to 10 yearsSalary
NegotiableJob Published
04 September 2024Job Reference No.
3579868248Job Description
Description:
Role purpose:
M-Pesa is a pioneering fintech business and global market leader in mobile money. Starting from 2007 as a convenient means by which the unbanked and underbanked could make digital payments, M-Pesa has now grown to offer Financial Services, Enterprise, Merchant and Retail solutions to over 60 million active customers. With headquarters in both Kenya and South Africa, we serve markets that include Kenya, Tanzania, DRC, Lesotho, Ethiopia, and Mozambique.
The Software Quality Engineer will be responsible for design and execution of all manual and automated tests required to ensure excellence in software quality delivered. This position holder will report to the Quality Engineering Manager. Key activities include:
• Oversee and perform manual and automated testing on all applications from the earliest opportunity and with precision before any application is deployed to production.
• Communicate all test issues effectively to the QA manager and relevant stakeholders.
• Participate in tool selections and related adoption processes.
• Develop and execute automated test suites using custom tools.
• Integrate test suites into the test management system.
• Ensure adequate test coverage, proper test planning and communication, and fit for purpose quality assessments
Key accountabilities and decision ownership:
• Perform and validate results through both automated testing and manual testing, as required.
• Produce & manage test plans, estimate efforts and test executions.
• Monitor changes to scope during the development cycle and re-evaluate plans and execution accordingly.
• Manage stakeholder expectations of testing activities by identifying and communicating dependencies and timelines, mitigating risks to key milestones where possible, and utilising innovative solutions to streamline software testing lifecycle.
• Liaise with the relevant departments to ensure key infrastructure (environments, interfaces & access) is set-up to enable all required testing activities.
• Manage the UAT process by supporting clients to establish key scenarios to test their business processes.
• Manage processes and procedures locally within the test team and with external teams across the SDLC to drive and implement improvements to optimize efficiency and first-time pass rate.
• Build test scripts from various sources including functional specifications, technical specifications and sessions with developers and designers.
• Review requirements, specifications, user documentation and other project documentation to assure quality of the products and tests to be developed i.e. perform manual static testing.
• Select and develop appropriate test automation tools, applying the latest techniques in test automation e.g. data-driven testing.
• Use risk-driven techniques to develop, maintain, and execute automated test suites for various software products i.e., perform automated dynamic testing.
• Work with the development team to capture and reuse automated unit test cases, test stubs and drivers, and other development test objects.
• Work with the development team to create and maintain an automated nightly build verification (“smoke”) test.
• Ensure proper version control and configuration management of all test objects developed and test environments used.
• Facilitate in-house performance testing ensuring that all key infrastructure, data requirements are met as well as establishing the best tools for the job
• Identify key components of the system that are suitable for automation and implement approach to deliver benefits through automation.
• Results Tracking and Reporting:
o Monitor defects raised by the team, establishing their prioritization, and supporting to resolution.
o Manage all issues that impact on the team’s ability to complete testing activities on schedule.
o Create and maintain test repositories and regression test packs with a view of constant optimization to improve test estimates.
o Create, maintain, and manage test related documentation.
o Provide the QA Manager with accurate and precise estimates for assigned task duration, along with confidence levels and foreseeable dependencies.
o Assist the QA Manager in preparing test plans, budgets, and schedules.
o Take responsibility to ensure all solutions delivered meet the highest quality standards
Key accountabilities and decision ownership:
• Perform and validate results through both automated testing and manual testing, as required.
• Produce & manage test plans, estimate efforts and test executions.
• Monitor changes to scope during the development cycle and re-evaluate plans and execution accordingly.
• Manage stakeholder expectations of testing activities by identifying and communicating dependencies and timelines, mitigating risks to key milestones where possible, and utilising innovative solutions to streamline software testing lifecycle.
• Liaise with the relevant departments to ensure key infrastructure (environments, interfaces & access) is set-up to enable all required testing activities.
• Manage the UAT process by supporting clients to establish key scenarios to test their business processes.
• Manage processes and procedures locally within the test team and with external teams across the SDLC to drive and implement improvements to optimize efficiency and first-time pass rate.
• Build test scripts from various sources including functional specifications, technical specifications and sessions with developers and designers.
• Review requirements, specifications, user documentation and other project documentation to assure quality of the products and tests to be developed i.e. perform manual static testing.
• Select and develop appropriate test automation tools, applying the latest techniques in test automation e.g. data-driven testing.
• Use risk-driven techniques to develop, maintain, and execute automated test suites for various software products i.e., perform automated dynamic testing.
• Work with the development team to capture and reuse automated unit test cases, test stubs and drivers, and other development test objects.
• Work with the development team to create and maintain an automated nightly build verification (“smoke”) test.
• Ensure proper version control and configuration management of all test objects developed and test environments used.
• Facilitate in-house performance testing ensuring that all key infrastructure, data requirements are met as well as establishing the best tools for the job
• Identify key components of the system that are suitable for automation and implement approach to deliver benefits through automation.
• Results Tracking and Reporting:
o Monitor defects raised by the team, establishing their prioritization, and supporting to resolution.
o Manage all issues that impact on the team’s ability to complete testing activities on schedule.
o Create and maintain test repositories and regression test packs with a view of constant optimization to improve test estimates.
o Create, maintain, and manage test related documentation.
o Provide the QA Manager with accurate and precise estimates for assigned task duration, along with confidence levels and foreseeable dependencies.
o Assist the QA Manager in preparing test plans, budgets, and schedules.
o Take responsibility to ensure all solutions delivered meet the highest quality standards Core competencies, knowledge, and experience:
• Understanding of agile software development – JIRA, xray
• Understanding of web service integration (e.g.: REST and SOAP XML)
• Experience with Cloud Technology (e.g.: AWS , GCP, Azure)
• Experience in working on Operating systems like Linux, Windows, and Mainframe
• Experience with Oracle, Mongo DB, Kubernetes, VMware, SQL Server, MySQL database concepts
• Good understanding of object-oriented programming, J2EE architecture, .NET, test automation, CI/CD, DevOps, JavaScript, Jenkins, git, Agile software, LoadRunner, Selenium, Appium etc.
• Familiarity with software packing tools (.exe, .deb, .rpm, Docker…)
• Excellent verbal and written communication skills
• Proven ability to manage and prioritize multiple, diverse projects simultaneously
• Experienced in manual and automatated testing
• Have strong SQL skills and be able to confidently test batch processes