Test Automation Engineer
GENERAL SUMMARY OF POSITION:
Under the general direction of the Manager of Software Engineering, the Test Automation Engineer scopes, designs, implements, and maintains test automation and performance testing frameworks. Success in this role requires strong coding skills as well as a deep understanding of Quality Assurance principles and Continuous Integration methods. The Test Automation Engineer writes positive and negative smoke and regression test scripts to test product functionality and integration with dependencies. He/she will test API 's, user interfaces, web services, and/or web apps and write performance, load and stress tests. The Test Automation Engineer will assume a leadership role, training QA and other staff in software test automation and continually look for ways to improve our testing capabilities. The Test Automation Engineer will apply proven analytical and problem-solving skills to help validate IT processes through careful testing in order to enhance product quality.Responsibilities
- Creation and execution of Test Automation Frameworks and Test Automation Suites.
- Investigate, evaluate and recommend tools for automating the test efforts of the desktop, API, web, and 3rd party products we build and support.
- Develop and execute automated tests using selected tools, which will requi re programming in C#, Java, or scripting languages.
- Perform static analysis of source code using complexity metrics.
- Assist in creating, reviewing, and determining amount of code coverage of Unit Tests.
- Perform Load and Stress Testing of applications using enterprise level Test Automation tools.
- Assist in implementing and maintaining a Continuous Integration Solution.
- Integrate test suites into the test management system and custom test harnesses.
- Instruct QA Team members and other staff in test automation techniques and methods.
- Develop custom Quality Assurance Metrics and reporting solutions using C#, SQL, html, CSS.
- Perform in depth SQL Analysis, creating Stored Procedures, Jobs, Triggers, and Functions.
- Participate in project-wide reviews of requirements, system architecture, and detailed design documents.
- Effectively communicate testing activities and findings in oral and written formats.
- Participate effectively in estimation, planning, cost-of-quality, and quality risk analysis.
- Perform and coordinate QA activities such as estimation, test planning, test design, preparation of traceability matrix, test execution, test results analysis and reporting.
- Maintain excellent knowledge base of industry trends and developments.
- Perform other duties as required.
- Off-hours coverage requiring occasional on-call availability.
- Bachelor's Degree in Computer Science or Information Systems or equivalent work experience.
- 5 or more years of QA experience.
- 4 years of demonstrated test automation experience.
- Experience implementing test code within a continuous integration and delivery pipeline required.
- Demonstrate expertise with Transact-SQL (T-SQL), Stored Procedures, Triggers, Replication, DTS, Query tuning and optimization and other advanced SQL Server features to implement distributed and partitioned databases.
- Strong knowledge of the following required: web protocols, networking, and systems; open source tools; continuous integration and delivery concepts; XML, XSD, Json, WSDL, and Soap, Active Directory, SQL, Test Automation Frameworks
- Experience writing code to test APis and operating systems.
- Demonstrated understanding of the entire software development life cycle.
- Excellent interpersonal, organizational and communication skills and a commitment to the mission of the institution.
- Ability to travel to off-site locations.
- Experience working within an Agile development process (Scrum, XP, Kan ban, etc.).
- Experience in automated webservice testing
- Experience implementing test code within a continuous integration environment
- Demonstrate expertise with SQL Server features to test database software
- Excellent oral and written communication skills to present technical information to both business and technology teams with clarity and precision.