Job Details
- Analyze the software system requirements and architecture and help estimate efforts to develop and test the software
- Understand product/software system requirements/architecture and develop high-level and low-level designs for the development and testing of software
- Follow Test Driven Development methodology and develop automated unit tests for white box and coverage testing
- Work on developing test plans, test cases, and test scripts to verify the developed software
- Apply Statistical Methods and Data Analysis to design test strategies and methodology to provide optimal test coverage to verify the software
- Use Statistical Methods and Data Analysis of the test results from test execution cycles to improve test strategy, case development, and test execution
- Work on test automation tools and test script development using Java, C/C++, Python, and XML
- Integrate, optimize, and debug third-party software modules and tailor and port software to designated hardware and mobile devices
- Implement verification design into automated verification tools - includes writing the automated verification tools and automated verification scripts as per the design to perform system and requirement verification
- Perform setup of software and hardware tools, devices, and modules and maintain test devices, benches, and vehicles used in the development and test environment
- Perform various phases of Software verification, including - Unit, Functional, Integration, Regression, Stability, and Performance Testing
- Report software problems and bugs into the Issue tracking system (like Jira, RTC, etc.) and provide failure details and logs to help with issue resolution
- Provide detailed status and comprehensive communication reports to the project, company, and customer management teams
- Adhere to development processes and quality, generate and monitor the required metrics (Code Coverage, Performance, etc.)
Requirements
Knowledge and Skills Applied:
- Computer Science and Software development and testing fundamentals and a thorough understanding of verification methodologies, strategies, and tools
- Embedded operating systems like Android, QNX, Linux, etc
- Android and Infotainment software systems and Framework and application software for Android platform, mobile, automotive, and Infotainment software
- Automotive networks and protocols (CAN, LIN, MOST, Ethernet AVB) using testing tools for these protocols
- Embedded software systems - like vehicle control (Telematics, CAN, LIN, and Ethernet AVB), navigation (GPS, Maps), connectivity (WiFi, Bluetooth, and Cellular), multi-media (Audio, Video, and Radio), and automotive (In-vehicle applications) systems
- Automated testing frameworks, simulation, converting manual tests to automated tests, and executing, analyzing, and reporting automated test runs on multiple software versions and releases
- Languages: Java, C/C++, Perl, Python, XML, Windows, and UNIX shell
- Phases of software verification include Unit, coverage, Functionality, integration, regression, stability, and performance testing
- Software versioning, issue tracking, software build, and analysis systems
Required Education and Experience:
Master's degree in Computer Science, Information Engineering, Applied Mathematics, Applied Statistics, Communication/Electrical Systems, or equivalent + 2 years of work experience.
Benefits
- Full-time salaried position
- Excellent Health Benefits
- PTO and Sick Leave
- 401K Matching
- This is NOT a remote position