The QA Automation Engineer (QAE) is a test engineer who plays a critical role in the agile development team and is primarily responsible for designing, developing, and implementing test frameworks, test validation scripts, and test data strategies within an integrated DevOps infrastructure covering the full product stack.
This position will also be responsible for coordinating quality assurance testing activities including understanding business requirements, features, and technical implementation along with drafting test documentation, executing test scripts, tracking defects, and monitoring testing activity. The QAE will serve as a subject matter expert on the development of testing approaches and methodologies. The QAE work is critical in driving the testing efficiencies necessary for successful agile product development.
Essential Duties and Responsibilities
Plan, implement, and maintain the strategy to ensure full automated testing of applications, API’s, and frameworks as part of a continuous integration and agile environment.
Define test plans, test cases, and test data to be used for both automated and manual testing.
Create and perform thorough automation test strategies to ensure comprehensive code coverage, and write test cases that cover all areas.
Identify missing test scenarios and refine existing automation.
Develop high quality automated tests to support development and ensure high quality software.
Identify and create reusable test data, methods, and frameworks.
During each sprint, ensure that all necessary tests meet the acceptance criteria, staying on top of all important issues and helping triage bugs and drive issues to resolution, keeping everyone aware of the quality of the sprint work.
Define Functional Automation Coverage Map, ensuring visibility to all the stakeholders and members of the Agile Team.
Work with other quality team members on test automation strategies across the product stack.
Investigate failures, perform root cause analysis, and utilize the internal defect tracking tool to create detailed, high quality defect reports.
Assure quality assurance in the evaluation of critical code fixes to determine ship readiness and help make sure that each release goes out on time with high quality.
Proactively identify & share new automation tools/processes/approaches to create, maintain and improve the Software Testing Lifecycle.
Coordinate with hardware team to ensure all testing needs are met.
Produce status reports related to the testing process, including test results and defect tracking/prioritization.
Participate in Requirements Reviews and Grooming sessions.
Participate in Lessons Learned or Project Review/Retrospective sessions, and identify potential work process improvements.
Work with cross-team product owners, developers and other test engineers to support the current QA processes.
Be a vocal advocate of customer empathy and risk mitigation.
Help develop and drive a Test Culture across the entire company, which includes following the Agile testing principles and continuously reviewing, implementing, and communicating process improvements and quality metrics to the team. Qualifications
In-depth knowledge and experience with software testing and automated test techniques with a strong focus on quality throughout the entire software development cycle
Knowledge using backend Test Automation Frameworks from Junit and NUnit such as TestNG
Knowledge using frontend Test Automation Frameworks such as Selenium Webdriver, to test responsive web applications
Knowledge and experience with multiple test automation framework tools, including Linear, Modular, Data Driven, Keyword Driven, and/or Hybrid framework types
RESTful API web service execution and validation using tools such as Postman or SOAP
API Contract verification using tools such as Swagger or REST Docs
Committing code to a version control system such as GitHub or SVN
Build automation tools, such as Gradle or Apache Maven
Developing and executing automated and manual test scripts for requirement validation, integration, regression, performance and usability testing
Load testing APIs and Applications using tools such as Jmeter or LoadUI
Integrating automated tests into continuous integration pipelines using tools such as Jenkins or Hudson
An agile tracking tool such as JIRA or VersionOne
A Test Management Tool such as TestRail or qTest
Education and/or Experience
BS or MS in Computer Science, Engineering, equivalent technical degree, or experience
3 - 8 years of professional software automation / development experience