Role Overview
The Software Test Engineer I is responsible for designing and maintaining Python automated tests for backend services, APIs, and network or infrastructure oriented systems. This role works in partnership with the Engineering teams to provide input on functional requirements, product designs, schedules, and potential problems.
Responsibilities
- Provides support to the Quality Engineering teams, with a high attention to detail in a disciplined agile environment
- Researches, analyzes, and documents findings
- Design, implement, and maintain Python automated tests for backend services, REST APIs, system integrations, and network or infrastructure applications
- Creates and maintains automated test cases, executes test suites, reviews and diagnoses reported bugs, and ensures overall system quality prior to a customer release
- Designs, develops, maintains, and troubleshoots automated suites of tests through continuous integration for value added feedback
- Derives testing requirements throughout the development cycle
- Reproduces, debugs, and isolates problems and verifies fixes
- Assists in creation of software artifacts including test plans, test cases, test procedures, and test reports
- Plans test schedules and/or strategies in accordance with project scope and delivery dates
- Reviews software documentation to ensure technical accuracy, compliance, and completeness and to mitigate risks
- Provides feedback and recommendations to Engineering teams on software usability and functionality
- Identifies program deviance from standards and suggests modifications to ensure compliance
- Develops and specifies standards, methods, or procedures to determine product quality or release readiness
- Conducts historical analyses of test results
- Collaborates with colleagues to evaluate or diagnose problems and recommend possible solutions
Requirements
- 2+ years of hands-on experience with Python programming
- Hands-on experience developing, maintaining and troubleshooting test automation
- Good understanding of Object-Oriented Programming (OOP) and ability to work with an existing Python codebase
- Experience with backend testing, API testing, REST APIs, HTTP, JSON and database validation
- Experience with Python testing tools or frameworks such as Behave, pytest, or unittest
- Experience with Git, pull requests, code reviews, Jenkins, GitLab CI/CD, or GitLab Runners
- Knowledge of Linux, including command-line tools, logs, processes, services, and basic troubleshooting
- Knowledge of networking, including TCP/IP, DNS, ports, routing, subnets, firewalls and connectivity troubleshooting
- Experience working with virtual machines
Skills
- Python
- pytest
- REST APIs
- Linux
- Git