Tests are a bad idea, because whoever makes the tests basically gets to decide who can vote. This is something which is easily manipulated.
A better solution is to make it meritocratic based on some easily measured objective property, like how much the person paid in taxes. Actually that's pretty much the only feasible measure. Rather than votes being a pass/fail kind of deal though, voting power would just scale fluidly. That's not to say that the scale should be linear though, unless you really like living in a plutocratic dystopia.