Skip navigation.

My Innumeracy

Mathematics is intertwined with software testing in many ways. (Should I say numerous ways and turn the number of ways into a tester’s challenge? Who could build the largest number of connections? Could we then identify references for learning related math?)

But I don’t like math.

If you can’t draw a connection between testing and math, I offer this list as a start: estimating, metrics, sample sets of data (How many should we test? How many more should we test if we find an error?), statistical analysis of performance test results, regular expressions, Poisson distributions, Pareto analysis, combinatorial analysis, equivalence classes. I will stop here that’s about 9.

Over time I'll consider these for additional posts. I'd also be grateful to mathematically competent testers to share stories that point out math in action especially around these topics.

So why don’t I like math? I have a scarring grade school memory but I’ll bypass the episode. What’s more important is where my relationship is with math today. And what math has to do with software testing.

As I move into areas of software testing requiring a deeper understanding of mathematics (specifically statistical analysis), my past becomes a handicap. The more I want to learn the more I can’t afford to leave this door slammed shut.

John Allen Paulos’ book, Innumeracy has me realizing ways my math illiteracy has stunted my growth. I’ve been finding myself in the math and philosophy sections of bookstores lately and the more I read, the less puzzled I am by numerous connections. My background reading helps my foreground work.

Ok so the WIIFM. Questions to consider: What is your relationship with math and numbers? Are you mathematically illiterate? If you’re mathematically illerate are you willing to re-school yourself?Can you use numerical information gathered from test results to prove and illustrate your experience with the product you’re testing? Do you have a clear grasp of the topics listed above?

For anyone who’s read Innumeracy they’ll understand my humor in the title of this piece. If you haven’t read Innumeracy and you have a questionable relationship with math, this is great book.

As a point of interest, Paulos directly references and recognizes software testing in this book, but maybe that was just an interesting coincidence?

oh numbers are everywhere

Matt:

I might not like math when it's presented as math but when it's presented as data analysis, metrics, statistics, algorithms or as logical/critical thinking ... it captures my interest. Math taught in a boring rote way in school was ineffective for me. What was missing from math class was a context I might care about, a context I might be able to apply what was being taught. A purpose. A reason to apply the reasoning.

Thanks for writing.

Innumerancy

Karen -

For my quick answer, go rent any season of the TV Show "Numb3rs" from your local video store.

No, wait, it's a TV Cop show about a mathematician. You'll probably have to look on netflix. :-)

Seriously, I don't have a short answer. There's a lot more to math than whole numbers; higher level math is decidedly not about figuring out what time a train will arrive in Wesminster if it leaves london at 10:00AM travelling at 90 miles per hour. It's also not about figuring out how much to tip that waiter at Red Lobster.

Yet those sort of word problems do hold a key. Mathematicians are trained in logic, and I mean serious logic - Venn Diagrams, Truth Tables, and Logical Fallacies.

Really basic computer science is about AND and OR gates (and sometimes XOR.) The funny thing is that when you build up about four of these gates in a row, figuring out what the "Right" answer is for given scenarios becomes hard.

That's where testing comes in; it's also where math comes in. Personally, when I took Dr. Paul Jorgensen's Software Engineering class, I was struck by Decision Trees and Decision Tables.

Here I was in CS 611 learning the same stuff I had learned ten or fifteen years previous in Math (Discrete Math) and Philosophy (Reason and Logical Thought)!

Then I learned that Dr. Jorgensen, just like Ron Jeffries, was a trained mathematician first and a computer scientist second.

Now, I enjoy differentiation and integrals as much as the next guy, but in testing, the most complex we might get is maybe, maybe, some test estimation probability stuff - and even that is informal, you get a piece of software like riskology to do it for you.

Really, the two things I use from math are decision tables (and that's usually in my head) and the logical/critical thinking training.

But that's just me talking. I hope you enjoy CAST ...

Most of my math calculations are done in round numbers

Hi Jamie,

Well I'm not good with math. I agree there's plenty of testing that can be done without math skills. But from several observations I've made, it seems that testers with stronger math backgrounds may have an advantage in analysis and metrics.

So here's the thing, I believe for me that even though my formal education didn't help me learn arithmetic or mathematical concepts very well, I can work towards learning some math on my own now. In fact, I'm finding when I read mathematical concepts are making more sense to me than earlier in life. I had issues in school that if I couldn't see how math would be applied, I just didn't care that much. Now that I want to gain some additional insights and I have a purpose behind my learning, some material makes more sense.

I smiled at your use of the expression - more than one way to skin a cat - an expression a very close friend of mine not only uses but demonstrates with her flexibility in life. And common sense has got to be one of the most valuable assets any one can have. I would add emotional intelligence, flexibility, and the ability to handle stress as valuable life skills too. All these "soft" skills can be hard to gain but more valuable than being able to solve an algebraic equation.

And you have to love being tested by James. He makes it pretty fun. I got so wrapped up in the last test he gave me that it absorbed me for a couple of days. Of course, I may have a tendency to deep dive.

Thanks for sharing your thoughts. - Karen

You don't need maths... I think

Hi Karen,

I am crap at maths, well, I think I am. But I am good at testing and even better at developing. I never graduated with high school maths. I slept in on the day of the exam, my parents, I am afraid to say, never really knew what I should have been doing and when.

I later went on to study computer science, twice. And I got through my exams quite OK, including the math ones. I probably used force of will rather than innate ability. Now, I feel, this has never affected me negatively (although your blog has got me thinking).

Anyway, I may have proof that you don’t need math. James Bach once set me a challenge. It was about how many times you would have to test this thing, I forget what, in order to be 99% sure it didn’t have a certain defect. Well, a billion times, was my answer. Set your server up and hammer it over a long weekend. If it’s still working when you come back, you can be 99% sure it will be OK.

My answer was not good enough. So, despite just finishing a 12 hour journey, and with the encouragement of the people at the table (and I was half pissed [that is english for drunk]), I started to imagine what would happen if I tested this thing once? And then twice? So I sketched a graph on a napkin, looked at the damn thing as it tended towards infinity, and then gave my answer. Which, I think, was right.

But, my first answer was right too! I had solved the problem my way. There are so many ways to skin a cat. I mean, I know absolutely nothing about the theory of queuing. When I have to optimise a software pipeline I visualize cars flowing on a motorway. My queue. Then I imagine what might happen if more cars were added, if some cars had to start again (defects), and I usually get to a solution I can use. I don’t think you need mathematical accuracy for most software development/testing. If you need to make a circle in your garden the number 3 will be a good enough approximation of Pie.

James wrote about the math problem on his blog. He insists you need knowledge of the ‘cumulative distribution function of the exponential distribution’. I insist you need common sense.

I think if anyone’s growth is stunted in one area then it must have grown in another. Dyslexics struggle with filling in forms; symbols; map reading; etc. But, they grow to be very creative problem solvers (usually out of necessity). Therefore, I am sure that your ‘mathematical past’ has not stunted your growth at all, but helped you develop in other areas.

Jamie.
http://jamiedobson.co.uk

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.