Taking advantage of the Brainbench free test period, I've taken a bunch of their tests lately. Although I've scored well I've found the tests to be somewhat frustrating as a bunch of questions on each test seem to be flawed.
There are a couple of reoccurring patterns: questions where you are required to pick the least incorrect answer - in other words, all answers are technically incorrect; and questions where there are multiple correct answers, and the question provides insufficient criteria to favor one over another. Perhaps this is an intentional way of constructing tests? The thought being that the person who knows the topic in-depth will be able to decipher the subtle differences. But if so, it seems like a deceptive approach. And I don't have that level of confidence in the test, instead it leaves me wondering if the questions are just unintentionally flawed. After seeing more and more questions of this nature, I started saving them. Brainbench provides a feedback form at the end of every tests, so I've been commenting on them. Below are some of the questions from the Perl test that I thought were flawed. I'll post my thoughts on why I think they're flawed in a follow-up after others have had an opportunity to weigh-in. Which one of the following statements adds the directory ../lib to the library include path? Choice 1 @INC = (@INC, "../lib"); Choice 2 @INC .= ':../lib'; Choice 3 use lib qw(../lib); Choice 4 use path "../lib"; Choice 5 shift (@INC, "../lib"); What is a perl module? Choice 1 A perl module is a set of variables and functions grouped together in a block with the module statement. Choice 2 A perl module is a block of code in a separate file with a .pm extension. Choice 3 A perl module is a library of subroutines in a separate file with a .pm extension. Choice 4 A perl module is a package defined in a file of the same name with a .pm extension. Choice 5 A perl module is a package defined in any file with a .pm extension. Which one of the following prints the current time as a human-readable string? Choice 1 gmtime(time()); Choice 2 use POSIX; POSIX::ctime(time()); Choice 3 strtime(time()); Choice 4 localtime(time()); Choice 5 use POSIX; POSIX::localtime(time()); Which one of the following regular expressions matches lines beginning with an integer followed by a period and a space? Choice 1 ^[0-9]*\.[ ] Choice 2 ^\d\.\s Choice 3 ^\d+\.[ ] Choice 4 ^\n.\s Choice 5 ^[0-9]\.\s In addition to questions that were perhaps more difficult than intended due to their flaws, there were also questions that seemed unnecessarily easy. The test contained about a half-dozen questions of the form "given this sample code...what is the output produced by this program?," that could be trivially answered simply by pasting the sample code into Perl. While several of the questions involving sample code didn't include data or asked you to spot functional flaws in the code, these ones were offered up as complete runnable programs. For an "open book" test, these questions seem to test nothing but the user's ability to cut-and-paste from their browser. If Brainbench's Perl 5.8 beta test is anything like this (hopefully having had Chris Nandor review it, it won't be), then they need lots of feedback. While most people probably have no interest in helping out Brainbench for free, it does provide some added benefit to the Perl community if the test is more effective. (Some may argue that the ideal is to have no test, but if that's beyond your control, a flawed test is worse.) -Tom -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/ _______________________________________________ Boston-pm mailing list Boston-pm@mail.pm.org http://mail.pm.org/mailman/listinfo/boston-pm