QA Test Automation Engineer
Job Description
Location: Tempe, AZ
The Test Automation Engineer position is responsible for developing and implementing automated test initiatives across company products. A demonstrated career commitment to testing and/or quality assurance is preferred. The candidate should show a familiarity with the latest automation techniques in testing theory and practice, a commitment to on-going learning about the field, and a history of applying useful testing concepts in previous positions. The Test Automation Engineer will be responsible for designing test automation solutions for ESS products and will be responsible for assuring that those products meet our quality standards.
This role will work closely with development and business leads on projects, across products for which they are responsible and across locations, where applicable, in order to execute the work according to plan. Relevant business/product exposure to the Environmental, Health, and Safety and Crisis Management fields is a plus.
Responsibilities
- Participate in a test automation tool selection process, as necessary for an automated component testing harness in a .Net/Web environment.
- Participate in project-wide reviews of requirements, system architecture, and detailed design documents.
- Develop and execute automated tests using the selected tool, which will require programming in C, C++, Java, or some scripting language (preference to Quick Test Pro experience)
- Effectively communicate testing activities and findings in oral and written formats.
- Integrate the test suites into the test management system and custom test harnesses.
- Participate effectively in estimation, planning, cost-of-quality, and quality risk analysis is desired.
- Participate in project-wide reviews of requirements, system architecture, and detailed design documents.
- Ensure that project schedules are adhered to and the work is completed according to the schedule
- Work with all necessary project interfaces to obtain and to communicate project status and progress effectively across the QA project team (including upwards and downwards as necessary)
- Work with QA Director to perform trend analysis, metrics gathering and process improvement analysis
- Create project completion reports
- Review and follow up on resolving defects and issues from the Defect Tracking tool
- Develop and review test plans to include scope of testing, test objectives, test approach, test data, methodology, pass/fail and resumption criteria, test risks, assumptions and limitations
- Execute test cases against products to be tested (both manual and automated testing environments)
- Responsible for ensuring automation initiatives are carried out and provide guidance in the area of automation of test tools.
- Acquire business and product knowledge necessary for thoroughly testing company products
Qualifications
Education
Bachelor's Degree in Computer Science or other computer-related field or relative experience
Job Related Experience:
- 5+ years work-related experience, preferably in the software industry Certified Software Test Engineer (CSTE), a plus.
- 5+ years experience in test automation and tool development, with at least one year of that experience in a .NET application environment.
- Familiarity of the underlying architecture of a multi-tier browser-based application is required, including operating systems, servers, networking, clients, and browsers.
- Programming, system administration, or database administration experience is a plus.
- 2+ years direct experience using Quick Test Pro (QTP) for the specific purpose of automating test cases.
Management Experience
- Experience leading projects and be able to demonstrate management skills applicable to managing projects in a lead role, including and not limited to delegating, planning, and controlling.
- Experience in the analysis and creation of test metrics for executive level consumption is a plus.
- Experience working with off-shore vendors is a plus.
Functional Area Skills/Knowledge
- Demonstrates extensive knowledge of the technical skills necessary for completing own assignments.
- Demonstrates thorough conceptual understanding and hands-on execution of the Quality Assurance Life Cycle
- Design and develop automated test scripts for Regression testing, including development of test clients for verification of middleware components and web services.
- Translate Manual Test Cases to Scripts for the purpose of exercising front end GUI. Understanding of what constitutes a good test case and ability to recognize those test cases that need updating required.
- Design and build automated scripts for verification of large-scale data.
- Monitor test lab hardware and software.
- Monitor test progress and resolve failures.
- Develop and maintain technical expertise in the areas of solution and product performance especially pertaining to QA testing tools and emerging methodologies
- Demonstrates fundamental abilities to work in a project-based environment
- Demonstrates working knowledge of estimating and scheduling techniques applicable to project planning activities to include resource allocation.
- Demonstrates thorough conceptual understanding of data modeling and test data design and development
- Demonstrates working knowledge of advanced SQL skills and the ability to interpret data models
- Exposure to diverse platforms and operating systems (.NET exposure is a plus)
- Demonstrates ability to learn company products and processes in an effort to improve upon them as necessary
- Demonstrates exceptional interpersonal skills - able to work with a variety of individuals and teams (e.g., Application Developers, Business Analysts, etc.)
- Demonstrates the understanding of, and helps implement the company's product quality initiatives
- Programming experience and/or testing tool development experience required.
- Advanced experience with automated testing tools is required.
- Demonstrates project management skills and basic working knowledge of a project management software tool (e.g., MS Project) and spreadsheet tool (e.g., MS Excel)
- Experience working with test harnesses or testing frameworks is required.
Required Skills
- Experience in migrating a testing environment from manual to an automated environment.
- Previous experience in implementing automated QA testing tools.
- Technical understanding of how applications are designed (databases, application servers, user interface).
- Working knowledge of Software Development Life Cycle (SDLC) models.
- Develop and execute automated tests using the selected tool, which will likely require programming in C, C++, Java, or applicable scripting language.
- Demonstrates excellent verbal and written communication skills
- Demonstrates excellent problem solving and decision making skills
- Demonstrates strong professional and organizational skills
- Must be detail-, deadline- and results-oriented
- Must be very proactive and exhibit initiative with very minimal supervision
- Must proactively identify problems, make recommendations regarding solutions, and follow through accordingly
Desired/Preferred Skills
- Experience with advanced development practices (ex. Agile) a plus
- Exposure to ISO 9000 and CMM guidelines, a plus