Just like everyone else said- there are a lot of "prediction" formulas out there, but they are just that- predictions. The most accurate way to know your max heart rate is to exercise as hard as possible. The highest heart rate you reach- even if it's only for a second or two- is your actual maximum heart rate. You can't do much to change that number. If you stay sedentary, it tends to decrease with time. However, if you keep training, you can maintain or at least slow the decrease.

As for testing for max HR, I recommend going to a lab that specializes in exercise physiology. They can perform a graded (as in progressively increasing in difficulty) exercise test in which they can measure VO2max (the most amount of oxygen your body is capable of using), max heart rate, lactate threshold, and VO2 used at different exercise intensities. By measuring the amount of O2 your body uses, you can calculate the amount of calories you are burning at different exercise intensities (which is why it's an important measurement to take in your case).
This type of testing is similar to a "stress test" performed at a doc's office, but is much more in-depth and will be of much greater benefit to you. The purpose of a stress test is not to test your capacity, but to evaluate your heart's electrical activity under "stress." They will watch your ECG (electrocardiogram) for anything that looks off. The thing is, if the ECG looks normal at, say, 85% of your age-predicted max heart rate, chances are very very slim that you'd see anything different at higher intensity levels, SO the doc will usually stop the test if everything looks normal up to that point. Therefore, you don't actually go until you reach your max heart rate, AND you don't get all that nifty data about how much oxygen (secondarily, calories) your body is using while you're exercising.

I hope this helps! Try checking your local university for a health and sport science department. They usually offer testing for a small fee (and the cost goes to help fund the lab- not line a doc's pockets!)