Job Title: Quality Assurance Engineer
Field / Region: Kenya
Location: Nairobi, Kenya
Reports To: Senior Software Developer
Values, Vision, and Purpose
At Food for the Hungry, we operate under a set of guiding principles we call “The Heartbeat.” This includes our Values, Vision, and Purpose, which serve as the explanation of who we are and how we work as an organization. Together we follow God’s call responding to human suffering and graduating communities from extreme poverty.
As a member of the Information Technology team, the Quality Assurance (QA) Engineer will identify and create processes and policies necessary for testing each deliverable in a given project, while working with project managers to coordinate testing. This position will review functional requirements from business product owners; design test plans, write test cases, write automated tests, oversee test strategies and perform testing for assigned applications. The QA Engineer will submit and verify defects, maintain documentation of test results to assist in debugging and modification of software, analyze test results to certify existing functionality and integrations and recommend corrective action upon failures. Testing will include functional and nonfunctional, integration, regression, system, stress, and sanity testing.
*Please note: this job description is not designed to cover or contain a comprehensive listing of activities, duties, or responsibilities that are required of the employee for this job. Duties, responsibilities, and activities may change at any time with or without notice.
Key Result #1 – Quality assurance strategy (20%).
1. Analyze user stories and technical requirements for validity, feasibility and technical soundness and decompose them to extract positive and negative test scenarios and strong acceptance criteria;
2. Apply quality engineering principles throughout the agile product lifecycle to identify defects and design flaws;
3. Profile manual acceptance criteria and test cases and evaluate automation opportunities;
4. Stay up-to-date with new testing tools and test strategies;
5. Investigate the causes of non-conforming software and train users to implement solutions;
6. Work with project managers, business analyst, application developers and project stakeholders to gather a clear understanding of system requirements, develop thorough test plans and ensure status and schedules are communicated.
Key Result #2 – Quality assurance, development and execution (60%).
1. Create detailed, comprehensive and well-structured test plans and test cases;
2. Execute all levels of testing for selected applications, including but not limited to: system, integration; component level regression;
3. Create automated tests, ideally leveraging technologies such as Protractor for Angular and AngularJS applications;
4. Identify, record, document thoroughly and track bugs;
5. Perform thorough regression testing when bugs are resolved.
Key Result #3 – Quality Assurance Management (20%).
1. Estimate, prioritize, plan and coordinate testing activities;
2. Create and maintain reusable components, functions and libraries to reduce maintenance costs, increase efficiency and scalability;
3. Use methodical and repeatable processes to verify releases meet quality standards before launch;
4. Track quality assurance metrics, like defect densities and open defect counts;
5. Monitor debugging process results.
Qualifications: To perform this job successfully, an individual must be able to perform each essential duty/function satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
• Vibrant personal relationship with Jesus Christ and Christian commitment to serving the poor and in full agreement with FH’s Christian foundation and beliefs as expressed in The Heartbeat: our Values, Vision, and Purpose;
• Excellent people skills including warmth and sensitivity, able to relate to and effectively communicate and converse with people from different cultures (at various levels within the organization);
• Experience in Acceptance Testing and how it applies to Agile Testing;
• Experience working in an Agile Scrum or Kanban Development environment;
• Experience in testing desktop, web and mobile applications;
• Familiarity with development practices like Unit Testing and Test-Driven Development;
• Strong knowledge of software QA methodologies, tools and processes;
• Experience in writing clear, concise and comprehensive test plans and test cases;
• Hands-on experience with both white box and black box testing;
• Hands-on experience with automated testing tools (ideally Protractor for Angular/AngularJS applications or Selenium);
• Solid SQL skills;
• Experience with PHP a plus;
• Familiarity with Jenkins, Hudson, Bamboo, JIRA and other continuous integration tools;
• Experienced in test result evaluation, reporting and metrics;
• Excellent analytical, debugging, problem-solving and root-cause analysis skills;
• Excellent written and oral communication skills;
• Able to self-manage a diverse and dynamic set of responsibilities, proactively solve problems and / or suggest viable solutions while advancing goals and objectives;
• Demonstrated computer operating skills, including proficiency in Microsoft Office products, Google platform, and virtual technologies such as Skype and / or other virtual meeting software;
• Excellent organizational skills; ability to plan and coordinate work, ensure the efficient flow of projects and processes;
• Medical fitness to live and travel in rural and urban areas with extreme conditions and limited medical support;
• Ability to travel up to 10% of time both domestically and internationally, to insecure countries or locations.
Education and Experience: Bachelor’s degree in Computer Science or a related field of study; minimum of three (3) years of experience in Software Quality Assurance Testing or in testing and automating complex web applications; or equivalent combination of education and experience.
Supervisor Responsibilities: This position does not have direct supervisory responsibilities. However, this position will be expected to participate in staff professional development, planning and best practices development.
Safeguarding Policy: Food for the Hungry is committed to conducting its programs and operations in a manner that is safe for all beneficiaries it serves. It is FH’s policy to create and proactively maintain an environment that prevents and deters any actions and omissions that put any beneficiaries, including children and the most vulnerable, at risk. All personnel are expected to conduct themselves in a manner consistent with this commitment and obligation. Any violations of this policy could result in termination.
Language: Proficiency in spoken and written English. Ability to read, analyze, and interpret general business periodicals, professional journals, technical procedures, or government regulations. Ability to write reports, business correspondence, and procedure manuals. Ability to effectively present information and respond to questions from groups of managers, clients, customers, and the general public.