The Senior Software Test Engineer is part of the Software Test team and focused on testability, robustness and performance of the product. This person will work closely with other software engineers to build the infrastructure to enable continuous integration testing and ensure automation coverage by building test automation at all levels including unit, subsystem, and end-to-end automated testing. This person will be involved in reviewing test strategy and supporting formal verification testing of the application software to ensure requirement coverage. This position will also support the development of build automation, packaging and deployment tools to allow us to deploy and update application software in a controlled and automated form while being a safe and effective product in operation.
The ideal candidate will have a strong background in software test development, test methodologies and test automation for native applications built on web technologies. Besides a strong interest and expertise in tools and infrastructure and the dedication to producing automation solutions for continuous integration testing, this position requires good familiarity with web technology, information management, and software engineering concepts. Experience with medical device quality systems and design control will be a big positive. He or she will engage on any and every issue necessary to ship products to customers of the highest quality and reliability.
Roles and Responsibilities:
· Contribute to the definition and selection of test and automation tools for the verification of medical device product software and supporting applications.
· Contribute to the development of automation frameworks.
· Collaborate continuously with other team members to ensure consistent and compatible test automation frameworks across all development teams.
· Analyze and review product specifications to ensure product quality, safety, reliability, and testability.
· Develop and document test protocols for both manual and automated test cases.
· Execute test runs, interpret test results, and identify & document encountered defects.
· Work closely with other testers and developers to coordinate testing efforts and to resolve issues.
· Contribute to the automation of software builds and deployments.
· Support the development of software installation processes and packages.
· Support software engineering tooling and initiatives related to data processing, testing automation, deployments, and performance testing.
· 5+ years in a software test engineer role performing testing of complex software.
· 3+ years developing and executing automated software test suites using commercially available test tooling.
· Experience working in a regulated industry.
· Familiarity with requirements-based testing.
· Familiarity with ALM tools for requirements, test, and issue tracking (e.g. Helix, Rational).
· Experience with Linux.
· Experience with common scripting languages (Shell / Bash, Python, etc.).
· Familiarity with version control systems (e.g. Git, TFS).
· A passion for creating robust and reliable products.
· Good communication skills, including experience writing technical documentation.
· Excellent analytical, problem solving and critical thinking skills.
Preferred Knowledge / Experience:
· Good understanding of modern full stack web development (e.g. MEAN).
· Experience with tools for automated testing of web applications such as Selenium.
· Experience working in a process driven team environment.
· Familiarity with medical device development and regulations.
· Experience with radiation therapy systems especially desired.
· Bachelor’s degree in Computer Science, Software Engineering, or related field; graduate degree a plus.