EHA Clinics, a subsidiary of eHealth Africa, is a health care network operating across Nigeria that provides high-quality, innovative, data-driven, and technology-enabled services. EHA Clinics delivers a comprehensive range of state of the art health care services in each location, e.g, general consultations, laboratory investigations, pharmaceuticals, annual medical checks, child wellness checks, ultrasonography, and specialized services (telemedicine, medical evacuation, home care, dental care, ophthalmology, and radiology).
Within every clinic location, EHA Clinics simultaneously implements a Community Health Program which utilizes an innovative financing mechanism to promote universal health coverage and access for the low-income, uninsured and underserved population through a low-cost, pro-poor prepayment scheme. These programs form the basis of care EHA Clinics provide, catering to different cadres of the population based on economic profiles.
We are recruiting to fill the position below:
Job Title: Quality Assurance Engineer
Locations: Kano
Department: Informatics
Division: EHA Clinics
Reports to: Senior Quality Assurance Engineer
Summary of Job
- The Quality Assurance Engineer’s role is to develop and establish quality assurance standards and measures for the software application services within eHA.
- This individual will also gather and analyze data in support of business cases, proposed projects, and system requirements. This will include writing test plans, scripts for tracking defects, fixes in product development, and software application development.
- The QA Specialist will lead a team in an Agile environment and have extensive knowledge of the Software Development Life Cycle.
- This individual will apply proven analytical and problem-solving skills to help validate IT processes through careful testing in order to maximize the benefit of business investments in IT initiatives.
Role Requirements
The requirements listed below are the knowledge, skills, and/or ability required to successfully perform this job:
- Bachelor’s Degree in Computer Science, Management Information Systems or related field is required with three years equivalent work experience.
- A Master’s Degree is a plus.
- Ability to successfully manage multiple assignments independently.
- Creativity and problem-solving skills.
- Three years of direct experience in overseeing the design, development, and implementation of quality assurance standards for software testing.
- One-year direct experience as a lead tester for major application integration and/or major application product release.
- Knowledge of SQA methodology and tools
- Experience with GUI automated testing tools (Selenium, FitNesse, Watir, etc.)
- Experience with programming languages like Bash, Java, Python and Ruby, AngularJS, EmberJS
- Experience with unit testing frameworks such as JUnit, Test::Unit, xUnit, etc.
- Experience with performance testing tools like JMeter, Apache Bench, httperf
- Experience working with Java, Java EE, Linux, and related cloud technologies.
- Knowledge of agile development practices, continuous integration, and continuous deployment.
- Strong knowledge of system testing best practices and methodologies.
- Direct, hands-on experience with ad hoc query programs, automated testing tools, and reporting software to include but not limited to Selenium and HP Performance Center.
- Self-starter, highly organized; Works well with all functional levels in the organization; excellent presentation and interpersonal skills; high level of business management and facilitation skill; capability to resolve complex problems with minimum confusion, frustration, and inconveniences for all parties concerned.
- Planning; Aggressiveness; Commitment; Closure; Listening; Response to Change; Task Completion; Decisiveness; Influence; Communications
- Ability to adhere to schedules and project timelines and communication of issues/problems that may impact the ability to meet objectives.
- Willingness to work flexible schedules to support production issues and project rollouts.
- Demonstrated experience in developing, implementing, and maintaining a cost-effective, long-term automation strategy.
- Strong software analysis skills, strong problem-solving skills, ability to troubleshoot under pressure
- Advanced understanding of Quality Management and “best practices” with regard to testing techniques, methodologies, processes, tools, artifacts, and measurement
- Thorough knowledge of software development lifecycles
- Advanced abilities with the use of reference materials and other resources to complete tasks
- Excellent analytical thinking and problem-solving abilities
- Ability to effectively meet deadlines and prioritize projects in a dynamic and fast-paced work environment
- Extensive practical knowledge in importing data for use in report software, spreadsheets, graphs, and flowcharts.
- Proven data analysis, data verification, and problem-solving abilities.
- Understanding the organization's goals and objectives.
- Ability to prioritize tasks within the project and work with minimal supervision or guidance.
- Excellent written and oral communication skills.
- Good listening, presentation, and interpersonal skills.
- Ability to communicate ideas in both a technical and user-friendly language.
- Able to prioritize and execute tasks in a high-pressure environment.
- Keen attention to detail.
- Experience working in a team-oriented, collaborative environment.
- Proven ability to work with diverse and large teams and to foster a positive working environment with local and international stakeholders
- Demonstrated capacity to effectively communicate via writing, public speaking, and interpersonal interactions.
- Good learning ability. Action-oriented and resilient in a fast-paced environment.
Essential Duties and Responsibilities
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily:
- Develop and establish quality assurance measures and testing standards for new applications, products, and/or enhancements to existing applications throughout their development/product lifecycle.
- Conduct internal audits to measure and assure adherence to established QA standards for software development, application integration, information system performance, and corresponding documentation.
- Create and execute test plans and scripts that will determine optimal application performance according to specifications.
- Verify and revise quality assurance standards as needed.
- Ensure that testing activities allow applications to meet business requirements and systems goals. Fulfill end-user requirements and identify existing or potential issues.
- Prepare and deliver reports, recommendations, or alternatives that address existing or potential trouble areas in IT systems and projects across the organization.
- Collaborate with software/systems personnel in application testing, such as system, unit, regression, load, and acceptance testing.
- Make recommendations for the improvement of applications to programmers and software developers or engineers.
- Communicate test progress, test results, and other relevant information to project stakeholders and management.
- Test any new software to ensure integration into company systems meets functional requirements, system compliance, and technical specifications.
- Analyze formal test results in order to discover and report any defects, bugs, errors, configuration issues, and interoperability flaws.
- Assist in the development of change control processes, practices, and guidelines for new and existing technologies.
- Assure that output from the software development process includes adequate identification and interpretation of product requirements, such as a) traceability requirements, b) test requirements, c) usability, etc.
- Participate in developing, distributing, and coordinating in-depth end-user reviews for modified and new systems and applications.
- Monitor program performance after implementation to prevent reoccurrence of program operating problems and ensure the efficiency of operation.
- Recommend design improvements or corrections to engineers throughout the development process.
- Maintain effective communication with the project software engineers on project limitations, capability, performance requirements, and hardware interface changes.
- Cultivate and disseminate knowledge of quality assurance best practices.
- Have a good understanding of the agile methodology.
- Other duties may be assigned.
Desirable but not required:
-
Experience with the following tools: Git, Jira, Docker, Circleci, Travis, Jenkins, Terraform, Kubernetes, Helm, CI/CD, Postgres.
Working Hours:
- The Quality Assurance Engineer position is a full-time position requiring a minimum of 40 hours per week.