Quality Assurance Engineer
--EHA Clinics Limited--
Quality Assurance Engineer
Who we are: EHA Clinics, a subsidiary of eHealth Africa, is a chain of clinics spread across Nigeria that provides innovative and technology-driven healthcare to the population. EHA Clinics currently operates three Clinics located in Abuja and Kano and is working to expand to other parts of Nigeria. EHA Clinics uses state of the art equipment to bridge the gap in the provision of high-quality diagnostics and healthcare through routine services (general consultations, laboratory investigations, pharmaceuticals, annual medical checks, child wellness checks, ultrasonography...etc) 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.
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. Other duties may be assigned.
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
Desirable but not required
Experience with the following tools: Git, Jira, Docker, Circleci, Travis, Jenkins, Terraform, Kubernetes, Helm, CI/CD, Postgres
The Quality Assurance Engineer position is a full-time position requiring a minimum of 40 hours per week.