I'm going to provide two perspectives to this.
The first is that part of my dream job would involve sitting a test. The role has a highly mathematical element and the test is there to ensure basic competencies needed to do the job. This is ok, since a test can show this - can a candidate perform to a strict minimum level.
However, I am also a software engineer, and for these kind of roles I do not think a technical test in an interview is a good idea. For starters, all decent software engineers can pick up any language they so desire and should be able to research and solve problems. That's what you'll be doing on the job and it's hard to write a test that covers those competencies.
Instead, I much prefer an interviewer set me a problem to complete before interview. It shouldn't be too big, but it should show my ability to code out a solution to a problem.
It also reduces the number of people you need to invite to you for assessment, which is an expensive business. It gives you something to talk about in interviews and is somewhat self-selecting in that candidates who are not prepared to put the effort in to complete the task will not even be interviewed.
Finally, this method takes the pressure off the interview and allows you to use this time for assessing interpersonal skills and other "soft" requirements, if you like.