We all have our good days and our bad days. Due to insufficient sleep, illness, stress, distractions, and many other causes we often find ourselves far below our usual levels of mental performance. When we find ourselves in such a state, it's not really worth putting effort in doing many tasks, like programming or long term planning - as quality will suffer a lot.
The problem is - other than observing deterioration of results, I have no idea if I'm in such a state or not. I cannot be sure if it's also true for others, but I had to find out a few tests of what's my mental performance at the moment. Tests that are deeply flawed, so I'd request better if there are any. I also cannot predict my mental state in advance, as my life isn't terribly regular.
The most reliable test I found, and by accident, was fighting bots on a certain Quake 3 map - me vs 10 or so highest difficulty bots. The challenge was to get 50 frags without dying. As the map was huge and full of power ups, it wasn't really that difficult as long as I could maintain full alertness for 10-15 minutes - but if I was tired or distracted, I would invariably fail. This test was unfortunately extremely slow.
Another test would be to go to goproblems, and do a few random problems at proper difficulty level. If I could think right, I would do most of them, if I was tired, I would fail almost 100%. This didn't test alertness, I guess it would be best described as short term memory test, as that's what used for game tree exploration. Unfortunately what's the proper difficulty varies a lot with how much go I played recently, so it needs to be recalibrated.
One more test would be to go to some decent online IQ test like this one. My results on such test would suffer a lot if I was sleepy or tired. The main problem is that such tests cannot repeated too often, or I'd just remember the answers.
So these are three ways to test how well my mind functions at the moment, all testing something different, and all flawed in one way or another.
How do you test yourself?
I have a 'calibration' set of puzzles that I do each morning. Put the ol' brain through its paces, if you will. Kakuro, Suduko, Cryptoquote, Jumble. I used to play daily Set. (www.setgame.com) It all boils down to pattern recognition, but I do feel better knowing that that bit of memory is still intact and relatively accessible. ;)
I think the key is to have a third party test you. Ideally this third party has created a profile of you.
The above is better then selecting test yourself. I think you could do better though.
My solution would be to give an interactive test that gives you a harder or easier questions based off of how you answer the questions. I would incorporate this with a profile so that when you come back the next day it knows what level of questions to give you. Ideally you could test several types of IQ with few questions.
The tests-questions-games like the above posts would be designed to be fun.
At the end the test would tell you how you preformed compared to other times.