What are the responsibilities and job description for the Software Automation Test Engineer position at John Galt Staffing?
The Automation System Test Engineer (ASTE) is responsible for designing, building, and maintaining automated test solutions for embedded devices and associated cloud services. This role owns the test automation strategy and frameworks used to validate Android- and Linux-based applications running on proprietary hardware across varied configurations and network environments. This work covers development of robust automated regression suites, integration with CI/CD pipelines for rapid feedback, and selective manual and exploratory testing when automation is not feasible. The ASTE will be a self-motivated quick learner who exhibits excellent problem solving and communication skills, collaborates well with software engineers, and is able to contribute effectively within an Agile team with timely and appropriate feedback on new and existing products.
Essential Duties and Responsibilities:
- Partner with management, development, technical support, sales, partners, and customers to build a strong understanding of client workflows and testing objectives.
- Translate business and technical use cases into automation-ready test scenarios, acceptance criteria, and repeatable test procedures.
- Design, implement, and maintain automated test frameworks and harnesses for embedded Android/Linux devices (UI, API, and system-level tests) with a focus on reliability and maintainability.
- Develop and execute automated regression, smoke, and sanity suites for rapid and frequent re-testing throughout the development life cycle.
- Integrate automated tests into CI/CD pipelines (e.g., Jenkins/GitHub Actions/GitLab CI) with clear reporting, artifacts, and notifications; help enforce quality gates.
- Build and maintain test environments and lab setups, including device provisioning, configuration management, network setup/emulation, log capture, and automated device power/reset control when needed.
- Investigate test failures and product defects; perform root cause troubleshooting and triage with cross-functional teams; document, track, and escalate issues using Jira or other tracking tools.
- Provide input on Agile stories and requirements to improve testability (instrumentation, diagnostics, and hooks) and to clearly define expected behavior.
- Create, document, and maintain test plans, test cases, and supporting documentation for both manual and automated scenarios.
- Perform related duties as assigned, within the scope of the position.
Education, Work Experience and/or Skill Requirements:
- BS degree in Information Systems, Computer Science, Electrical Engineering, Mathematics or 3-5 years of applicable work experience.
- 3 years of hands-on test automation experience for embedded, mobile, or distributed systems; experience with Android and Linux systems/applications is strongly preferred.
- Strong programming and scripting skills in Python and at least one of: Java/Kotlin, C/C (Bash is a plus).
- Experience with automation and test frameworks such as pytest/unittest, JUnit/TestNG; familiarity with test design patterns (e.g., Page Object Model) and BDD (e.g., Cucumber) is a plus.
- Experience with testing tools: Appium required; Selenium experience is a plus.
- Experience testing REST APIs and networked services using tools such as curl/Postman; familiarity with JSON and common auth patterns is a plus.
- Experience integrating automated tests into CI/CD (Jenkins, GitHub Actions, GitLab CI or similar) and producing actionable test reports (e.g., JUnit XML, Allure) and dashboards.
- Proficiency with Git and modern code review workflows (pull requests, branching strategies).
- Working knowledge of Android debugging tooling (adb, logcat) and Linux command-line troubleshooting.
- Demonstrated understanding of IP networking, network protocols (e.g. TCP, HTTP and HTTPS), network security, firewalls, and routers; ability to troubleshoot with packet capture tools (e.g., Wireshark) is a plus.
- Knowledge of embedded software development and hardware, including interpreting and analyzing datasheets and schematics, and working with common interfaces (USB, serial/UART) is a plus.
- Experience with containerization/virtualization (Docker) for repeatable test environments is a plus.
Salary : $81,000 - $103,000