Software Engineer in Test
The Software Engineer in Test drives customer confidence by assuring the quality of software products by engineering QA efficiencies in practice, through process, and with effective tools/techniques.
Essential Position Functions
Principal Accountability | Quality Assurance
- Works with senior QA members to communicate unacceptable risks to quality.
- Adheres to standard operating procedures to ensure consistency in the way we test software.
- Contributes to agile planning by establishing tasks and forecasts for work to be performed.
- Asks the right questions at the right time to reduce the introduction of quality risk
Principal Accountability | Quality Control
- Writes and executes test cases that probe system limits in terms of function and performance.
- Identifies/resolves software inconsistencies, ambiguities and defects during implementation.
- Considers dependencies in test case design and execution.
- Supports and is accountable for timely releases and adherence to release activities.
Principal Accountability | Test Case Development (automation)
- Designs, codes, and documents automated test cases within a defined framework.
- Develops software interfaces between the system under test and the automation framework
- Produces high quality test automation code.
- Translates existing manual regression test cases into automated tests.
- Assure automated regression test cases are integrated and passing in a nightly build process.
- Contributes to merge up/down through development process.
Principal Accountability | Team Member
- Active member of a product team that solves complex challenges and builds working software.
- Works hand-in-hand with Product Owner to break down user stories into small functional slices.
- Maintains an attitude of commitment through outward display of willingness.
- Practices positive interactions - leans on encouragement in place of judgment.
- Impresses responsibility on others by displaying ownership in tasks.
- Acts in the interest of the overall team.
- Actively works on broadening or adding a skill.
- 1-3 years of application testing experience
- 1-3 years of developing automated tests and frameworks
- Knowledge of test cases design techniques like boundary, decision tables, and BDD (Behavior Driven Development) / TDD (Test Driven Development)
- Experience with implementing a test automation framework/tools (i.e. Selenium, Cucumber, Protractor)
- Experience building tests / testing software with tools that include C#/Python/Java
- Experience with deployment tools, build/release automation and Continuous Delivery
- Strong experience with writing and debugging SQL queries
- Experience with large data set creation, back-end testing (SQL), being able to validate information as it flows throughout the system
- Working collaboratively with team members in a dynamic environment
- Experience with regression testing, functional testing, unit testing, and end-to-end testing
- Experience with TFS for test and defect management
- Exposure to Azure, Amazon AWS, and/or other cloud platforms preferred
- Passion and drive for automation and sound engineering practice