The role of the Quality Assurance Engineer involves ensuring the high quality, reliability, and security of all KCB Bank Kenya systems and applications through robust testing and automation practices. The engineer will be responsible for developing and maintaining scalable test automation frameworks, executing comprehensive functional and non-functional tests (performance and security), and integrating QA processes into the Continuous Integration/Continuous Delivery (CI/CD) pipeline. This role requires strong technical expertise, leadership in QA best practices, and collaboration across development teams to achieve maximum test coverage and defect resolution.
Key Responsibilities
- Development, customization, deployment, and maintenance of reliable and scalable test automation frameworks for all systems and applications.
- Conducting code reviews and ensuring developed software conforms to approved standards, design patterns, and best practices.
- Creating BDD and contract tests, integration mock services, performing Unit Testing, API Testing, and Integration Testing, and collaborating with developers to conduct end-to-end defect analysis and resolution of defects, and review test results for maximum test coverage.
- Execution of performance and security testing and ensure that solutions meet minimum baseline standards and performance benchmarks.
- Test strategy formulation which includes decomposing the business and technical requirements into test scenarios, defining test data requirements, managing test case creation, devising contingency plans and other testing preparation activities.
- Formal reviews of test plans, designs, test scenarios, test cases, and requirements documents with cross-functional teams for both functional and non-functional testing.
- Executing and reporting on planned tests, reporting and managing defects, regressing software fixes for new and existing products, and assisting development with replicating and debugging problems.
- Participating in CI/CD delivery models, creating execution pipelines, and integrating automated test scripts into the CI/CD pipeline.
- Supporting solution deployments and assisting in resolving low-level system issues.
- Participating in solution architecture and design discussions and making recommendations for appropriate changes in design and architecture.
- Coaching and mentoring other QA Engineers in test automation best practices, frameworks, and SDET discipline.
- Management and maintenance of Test Environments.
Skills & Experiences
The ideal candidate should possess the following skills and experiences:
- Experience with at least one automation framework such as Selenium and Katalon studio.
- Proficiency in the creation of automated functional test scripts using scripting languages (e.g., Java, Python, JavaScript).
- Solid understanding of testing principles, testing types, and methodologies.
- Highly proficient at debugging issues, using debug tools like Chrome Web Debugber.
- Knowledge and experience in API testing using POSTMAN and Soap UI.
- Experience in White box testing tools and techniques, such as Mocking frameworks (Mockito).
- Good understanding of architecture principles and standards of applications and the general client-server model.
- Good understanding of Object-Oriented Programming concepts and programming languages like Java, C#, or .NET.
- Good understanding of DevOps, Continuous Integration / Continuous Delivery (CI/CD) concepts, and experience in using CI tools like Jenkins/Bamboo and code versioning tools like Git.
- Good understanding and experience in performance testing, as well as writing simple scripts using open-source performance testing tools like JMeter.
- Knowledge of fundamental concepts of Security testing and basic coding standards (like OWASP) to ensure no security flaws are left unaddressed in software applications.
- Knowledge of agile development methodologies using the Sprint/Scrum methodology.
- Knowledge of public cloud technology platforms like Amazon AWS, Google GCP, or Microsoft Azure.
- Knowledge in Behaviour Driven Development (BDD) and contract testing.
Minimum Position Qualification Requirements
Academic & Professional:
- Education (Required): Bachelor’s degree in Computer Science, Computer Engineering, Information Technology, or a related field of study.
- Professional Qualifications (Required): ISTQB / ISTQB Agile Tester Certification / Certified Test Engineer (CSTE) / Certified Software Quality Analyst (CSQA) / Certified Associate in Software Testing (CAST) / CMSQ (Certified Manager of Software Quality).
- Project Management (Added Advantage): PRINCE II (Practitioner) / AgilePM / PMI-ACP / Certified Agile Project Manager (IAPM) / Certified Scrum Master (CSM).
- Masters Degree (Added Advantage): Computer Science, Computer Engineering, Information Technology or a related field of study, or Business Administration or Project Management.
Experience:
- Total Minimum Experience Required: 5 years.
- Software Quality Assurance: 5 years (Required).
- Software Development: 2 years (Essential).
- Software Test Automation: 3 years (Required).
- Emerging Technologies (e.g., Mobile, Internet Banking, Cloud, Microservices, etc.): 2 years (Essential).
- IT Projects: 4 years (Essential).
- Software Applications & Support: 2 years (Desirable).