Bounded-exhaustive testing is an automated testing methodology that checks the code under test for all inputs within given bounds: first the user describes a set of test inputs and provides test oracles that can check test outputs; then a tool generates all the test inputs, executes them on the code under test, and checks the test outputs; finally the user inspects the failing tests to submit bug reports. The costs of bounded-exhaustive testing include machine time for test generation and execution (which translates into human time waitingfor these results) and human time for inspection of results. We propose and evaluate three orthogonal techniques that reduce these costs. Sparse Test Generation skips the generation of some test inputs to reduce the time taken to reach the first failing test. Structural Test Merging generates a smaller number of larger test inputs (rather than a larger number of smaller test inputs) to reduce test generation and execution time. Oracle-based Test Clustering groups failing tests to reduce the inspection time. Results obtained from the bounded-exhaustive testing of the Eclipse refactoring engine show that these three techniques can substantially reduce the costs without significantly sacrificing fault-detection capability.