The Staff/Lead Software Development Engineer in Test validates software products through the use of systematic tests to develop, apply, and maintain quality standards for company products including firmware, apps, and server platform. Develops, modifies, and executes software test plans and test protocols and automated test scripts, and performs risk assessments. Maintains documentation of test results to assist in debugging and modification of software. Analyzes test results to ensure existing functionality and recommends corrective action. Consults with software development engineers in resolution of problems.
Essential Duties and Responsibilities:
• Review marketing requirements, software requirements, and design specifications.
• Own and drive efficiencies to improve process and technical implementations.
• Lead software test projects and report status to management.
• Create software validation plans, validation protocols, and software risk analyses for software used in commercial products.
• Primarily setup the foundation of test automation framework and scripting of Test Automation and Test Plugins such as Appium
• Design, develop, execute, and maintain automated test framework and manual tests.
• Work very closely with the Software Development team to test mobile functionality
• Actively be involved in Development of Test Mobiles Apps for both iOS and Android Platforms
• Own the setup of Automation Framework as well as the execution of tests, collaborating with our build engineer and developers across iOS and Android
• Collaborate with our developers and product owners to write and improve acceptance criteria
• Translates user-based stories and acceptance criteria into test automation
• Follow internal software development procedure that complies with medical regulations
• Facilitate the development of a reference (test) app in XCode or Android Studio
• Generate test cases using black and white box methods.
• Execute software validation plans and protocols.
• Validate the configuration, functionality, and user interface of software and tools.
• Record and track issues/tasks in the bug/task tracking system.
• Analyze failures and collaborate with development team to ensure root cause is investigated.
• Create requirements traceability matrices which demonstrate test coverage of all features.
• Write test reports documenting detailed results of validation, and report test progress to management.
• Modify test protocols based on requirements changes and execute regression validation accordingly.
• Follow internal software development, cybersecurity, and validation procedures that comply with medical and security regulations.
• Work with other test engineers as needed.
• Participate as a Lead in Agile sprint planning, standup, scrubbing, and retrospective meetings.
• Work with Project Managers to help put together schedules and resources by providing task durations for software test activities.
• Mentor and lead other employees on the project.
• Work in close collaboration with software developers and other test engineers to produce high quality product.
• Performs other duties as assigned.
• Bachelor's degree in Computer Science/Engineering, or related discipline.
• Proven experience in software testing and related areas of software quality assurance.
• Understanding of good software development and testing practices.
• Excellent oral communication skills for interfacing with peers in other departments.
• Strong written skills and ability to follow software procedures and generate required software documentation.
• Software development or test experience in medical device industry is a plus.
• Knowledge of source code management.
• Knowledge of a bug tracking tool.
• Experience with server communications is a plus.
• Software development of Mobile Apps or test experience in medical device industry is a plus.
• Experience with Bluetooth is a plus.
• Working knowledge of Swift and Kotlin will be Preferred.
• Minimum of 5 years experience with automated test development tools, such as Appium or JUnit.
• Minimum of 7 years experience in the Java programming language, or in other programming languages.
• Minimum of 5 years experience validating and verifying software.
• Knowledge of server communications between mobile apps is a plus.
• Knowledge of Android and/or iOS devices, including debugging, installation, and configuration is a plus.
• Bachelor's Degree in Computer Science or related technical discipline