We are seeking an experienced and detail-oriented Senior Software QA Engineer to join our team at TARGAN. The ideal candidate will be responsible for writing comprehensive test plans, deploying environments, executing tests (manual and automated), and collecting/curating/disseminating metrics and test results. The Senior Software QA Engineer fills a key role in our software change management process and will ensure that our products meet the highest standards of quality and reliability. This role requires working across multiple disciplines, including engineering, industrial controls, and vision systems.
Key Responsibilities
Test Plan Development:
Create, update, and maintain detailed test plans to ensure thorough testing of our software products. This includes functional, regression, and performance testing.
Environment Deployment:
Deploy and manage test environments using command line tools (PowerShell and Bash) and cloud-based tooling, particularly Microsoft Azure and Azure DevOps. This involves setting up virtual machines, configuring network settings, and ensuring that all necessary software is installed and configured correctly.
Automation:
Develop and maintain automated test scripts using UI automation tools to improve testing efficiency and coverage (Selenium, Ranorex, TestComplete, etc.).
Back-End Testing:
Utilize back-end test automation tools to ensure the robustness and reliability of server-side components. This might involve creating scripts that simulate database transactions or API calls to ensure the back-end systems can handle expected loads.
Performance Testing:
Design and execute performance tests to ensure our systems can handle expected load and stress. Identify and address performance bottlenecks using tools like PowerShell, JMeter, or LoadRunner, etc.
Factory Acceptance Testing:
Participate in the standup and testing of our commercial system by supporting factory acceptance testing on sub-assemblies and the full system as needed.
System Health Monitoring:
Implement and utilize tools to continuously monitor the health and performance of systems in production and test environments (Azure Monitor, Grafana, and Prometheus, etc.).
Quality Assurance:
Ensure all software updates pass QA tests before being released into production environments. Perform manual and automated testing to identify and document defects, and work with the development team to resolve them. For example, you might perform exploratory testing to uncover edge cases that automated tests might miss.
Continuous Improvement:
Contribute to the continuous improvement of testing processes, tools, and methodologies. This could involve researching new testing tools, attending industry conferences, or participating in training sessions to stay current with best practices.
Documentation:
Create and maintain comprehensive documentation for test plans, deployment processes, and test results. This documentation serves as a reference for future projects and helps ensure consistency and repeatability in testing.
Education:
- Bachelor’s degree in Computer Science, Information Technology, or a related field, or equivalent experience.
Experience:
- Minimum of 10 years of experience in a Quality Engineer or similar role, with at least 5 years in a lead or senior capacity.
- Proven experience with writing and executing test plans.
- Hands-on experience with command line tools (PowerShell and Bash) for environment deployment.
- Experience with cloud-based tooling, particularly Microsoft Azure.
- Experience with back-end test automation tools is a plus.
- Experience with performance testing tools (e.g., JMeter, LoadRunner, Fiddler, Postman) and monitoring tools (e.g., Azure Monitor, Grafana, Prometheus, Power Bi).
- Familiarity with UI automation tools (e.g., Selenium, QTP, TestComplete, Ranorex) is a plus.
- Familiarity with OT and IoT technologies (Industry 4.0, Azure IoT, etc.) and knowledge of IoT communication protocols like MQTT and HTTP is a plus.
- Knowledge of SQL, KQL, and JSON a plus.
Skills:
- Strong knowledge of software development lifecycle (SDLC) and software testing methodologies.
- Proficient in scripting languages such as PowerShell, Bash, or others.
- Familiarity with continuous integration/continuous deployment (CI/CD) pipelines and tools.
- Strong problem-solving skills and attention to detail.
- Excellent communication and teamwork skills.
- Leadership and mentorship abilities.
- Ability to work effectively across multiple disciplines, including engineering, automation/controls, and vision systems.
- Experience with Microsoft Visual Studio Test-based features as well as Test Plans in Azure DevOps. Microsoft/Azure tools are strongly preferred.
- Familiarity with containerization technologies (Docker, Kubernetes).
Working Conditions
- Work in both industrial environments and office settings. This involves adhering to safety protocols, wearing appropriate protective gear, and sometimes working with industrial machinery or in environments with strict access controls.
- Occasional travel to various sites may be required to support testing activities or collaborate with different teams (factory acceptance testing).
Please Note: To 3rd Party Search Firms/Employment Agencies: All inquiries must be directed to careers@targan.com. Please do not call or email any TARGAN employee about current or future job openings. All resumes submitted by search firms or employment agencies to any employee at TARGAN via email, telephone, social media, or other means will be deemed to be the sole property of TARGAN unless the firm submitting the resume has previously entered into a written agreement with TARGAN regarding recruitment services and has been approved by Human Resources to work on an open position. TARGAN will not pay any fee or remuneration concerning candidates without complying with this requirement.