Extreme Values & Performance Boundaries
Most applications are tested with "reasonable" inputs. 42. 1000. -5. These are the values that populate demos and happy-path test scripts.
But what about 1e308? Or 0.000000000000001? Or 1.7976931348623157e+308 (the maximum value of a 64-bit float)?
These are valid inputs from a text field's perspective — they're just numbers. But they can break parsers, overflow buffers, underflow to zero, or cause the scientific notation parser to throw an exception it was never designed to handle.
The Testing Wilderness at the Extremes
There are two directions to extremes:
Overflow territory: Numbers so large the type can't hold them. The maximum Double is about 1.8 × 10^308. Go above it and you get Infinity. Some parsers reject it, some accept it silently.
Underflow territory: Numbers so small they round to zero in the type's precision. 1e-400 in a Double is just 0.0 — but the user typed a non-zero value. Calculations that divide by this will divide by zero.
What You'll Learn
- The IEEE 754 double precision range: maximum, minimum positive, and underflow thresholds
- How scientific notation (
1e10,1.5E-7) is parsed and where parsers fail - Testing strategies for extreme value inputs across numeric types
Your Practice Challenge
The Scientific Form Converter accepts physical quantities. Your mission: crash the backend parser using extremely small fractions, extremely large numbers, or scientific notation edge cases like 1e999 or 1e-999.