Testing by the Numbers

Testing by the Numbers
Testing with numbers

Software testing is finding errors, defects, bugs! here is numbers I use to test with for numeric fields.

The numbers: 3, 7, 10, 2038, 32767, 65535, -9, 1.7, and 0. These are numbers I like to test with. There’s a reason I use each of these numbers. Each number has a story of its own.

The number 2038 can encounter issues based on how the value is stored. I test with this number in date fields. I once used this value on a date/calendar control field and was able to make the calendar control spin endlessly. I’ve seen the date wrap around issue. Run a Google query on 2038 and you’ll see there’s fair amount of info available on 2038.

The number 65535 is the highest number which can be represented by an unsigned 16 bit binary number. To be honest, I don’t think about this technically. I just know this number sometimes breaks numeric fields. See the Wikipedia entry on 65535 for a short list of well-known bugs using this number.

The number 32767 is the signed value of the 16 bit binary number. Like 65535, it’s a good number for testing. I say it’s good because it’s a number that’s helped me find bugs. Look at the entry on integers in Wikipedia and see the chart on data types.

The number 3 is a classic number, as is the number 7. What makes them “classic?” The number 3 is the smallest number I can test a loop with and the number 7 is the alleged number of items a person can recall or handle. Think phone numbers. Menu options get built around this number. And if design is based around the number 7, then testing with this value makes sense to me.

The number -9 reminds me to test with negative numbers. Much like 1.7 reminds me to test with decimals and fractions. I also like to enter a space before a number for a quick test on space trimming. If I enter space and then -1.7, I can get a check on space trimming, negative handling and fractional numbers which isn’t bad testing for one entry.

The number 10 makes me think of the calendar. Sometimes calendars choke on the first double digit month of the year. Start combining numbers like attempting the date 10/0/2038 and pickup multiple tests in one entry.

And zero. I like to see how a numeric field handles zero.

What are your lucky numbers?

Comments