Role: Software Engineer, WhiteBox test design — San Jose, CA

Requirements: Education and Experience:

- A minimum of 8 years of experience is required.
- A Bachelor of Science Degree in Electrical Engineering or Computer Science, a Master Degree, or a PhD; or equivalent experience is required.
- Demonstrated ability to have completed multiple, complex technical projects.


The Senior Storage Software Engineer will be responsible for architecting “white box/glass box” test case designs, doing test case development, test automation and test execution for verification of storage subsystem controllers and enclosures.

Areas to be tested include product Firmware, File System software, disk management, enclosure management, controller failover, I/O path and SAN/Fabric system management functions.

This person must have prior experience implementing white box testing strategies, using a variety of different methodologies including Path testing, Predicate coverage, Statement coverage, Method Coverage, Condition Coverage, Equivalence Partitioning/Boundary Value Analysis, and Control-flow/Coverage testing.

The individual should also be proficient at developing and using driver code and stubs to accomplish this testing.

The Senior Storage Software Engineer will be responsible for:

.Partnering with development engineers on unit level testing to learn the source code and functions within the various code modules to derive a proper white box testing suite for the modules.
.Implementing coverage monitoring tools so the testing can provide data and reports on code coverage metrics.
.Implementing tools for developing DD-Path program graphs to capture the internal structure of the code module.

Then, taking the lead in designing white box test cases for the module directly related to the program graph, using different coverage criteria such as path coverage, predicate coverage, statement coverage, loop coverage, and data flow testing.

.Automating white box test cases wherever possible.
.Analyzing & critiquing software and firmware module architectures and coding designs.
.Defining requirements for fault injection test points and bugged hardware.
.Developing unit test and verification test plans, test metrics, and test reports.
.Participating in test execution and providing timely test results and test

.Working with development teams on problem investigation and bug triage
efforts to resolve issues found during Verification testing

.Working with Storage partners to resolve problems found in their code

Send detailed resume’s showing your specific relevant experience to: