Katkat

Develop test plan and TDD for word search

UberSoftware Engineer · Technical Screen

Last updated

This question evaluates a candidate's competency in designing comprehensive test plans and test-driven development workflows for grid-based word search algorithms, covering edge-case identification, input normalization, path validity, and performance/stress considerations within software testing and algorithmic reasoning.

Design a comprehensive test plan and test-driven development workflow for the two word-search functions above. Enumerate concrete test cases: empty grid; empty word; single-letter grid/word matches and mismatches; straight-line matches in all eight directions; attempts requiring direction changes (should fail under fixed-direction); diagonal-only matches; boundary-crossing attempts; words with repeated letters that tempt revisits; multiple valid starting positions; grids with no occurrence; large inputs for performance and stack-depth concerns; and invalid/normalization inputs if applicable. Describe how you would structure unit, property-based, and stress tests, and define pass/fail criteria.